A full load of modern web technology
Connectanum contains a java message broker server and a fitting java client that can connect to the message broker. Thanks to the standardized protocol there are multiple clients that can connect to the connectanum router.
Tested to work with connectanum in production:
Connectanum is Netty driven! Netty is trusted by hundreds of Java NIO-Projects like Twitter, Spotify, Minecraft, 1&1, Cisco and lots more. Connectanum only adds a flat netty codec on top of the default HTTP and WebSocket handlers which makes it a very fast piece of code.
Connectanum can handle as many connections as you need. Netty was tested with more then a million open connections. Depending on your scaling setup and machine, the router can easily handle more then 10,000 messages per second. Latencies can be of 3ms or less even on a Raspberry Pi 1 model b+. Connectanum is always updated to the latest netty version and supports the native EPoll and KQueue transport.
Connectanum forces SSL encryption and supports the wamp-cra two-factor authentication as well as oAuth2 authentication.
It is also possible to use end-to-end encryption with the transparent payload feature.
The client provides an easy to use MVC like controller model to provide remote procedures as well as events to handle broad cast messages that belong to a subscribed topic.
The client scales by it's nature. Starting a second client is recognized by the router and will cause incoming request to be load balanced. This happens completely automatically.
The following load balancing algorithms are supported:
Every call runs in a separate thread. This prevents the client to be blocked for coming up calls.
All basic features and the following advanced features are supported by connetanum:
Feature or code enhancements are welcome to be requested. Our developers will schedule those requests to the closest possible future.
Nothing is impossible! Even connectors to other message protocols or authority handlers like oAuth2(already exist) or other are possible.
Transparency is most important for developers to understand what they are working with. We offer a complete open source account to our git repository and the ability to commit merge requests. There is no need to ask for support if you are familiar with netty and the protocol.
As mentioned in other parts of the page, the server can even be driven on a very low performing machine. There is no need to have high performing machines to route the messages.
The business logic may take most of the the server power. Easy distribution and scaling possibilities make it possible to simply plan the resource needs for each controller method or event of the business logic.