we are creating a multi purpose secure communication framework which is built on top of Autobahn Websocket. On top of our framework, we are building a secure chat/messaging app as a showcase.
Both the framework and the chat/messaging app need to be scalable to far beyond a million users. In this context of scalability with Autobahn I have two questions.
Out of the box, we managed on our test servers (Mac Mini and Rasperry) only a couple of hundred concurrent connections. On stackoverflow (http://stackoverflow.com/questions/8230704/lots-of-simultaneous-connections), I have seen claims of beyond 100000 concurrent connections with Autobahn Websocket, but I could not find any guide on how to configure the server to achieve these. Does anyone know of a good guide on how to achieve these many concurrent connections?
We most likely will need more than one Websocket server, both because of the numbers of users and for speed reasons (different servers in different continents). But once we have more than one server, we run into the problem that the different servers need to communicate with each other. For example, this is the case if user1 is connected to server1 and wants to send a message to user2 who is connected to server2. We thought about building a special client who is connected to both server1 and server2 and use that when messages need to be transferred between servers. Does anyone know, if it is possible with Autobahn, to have one client be connected to more than one server at the same time for message transfer? Is there any guide available, or are there better ways to scale to more than one websocket server, while keeping the possibility of pushing messages from one client to another?
Thanks in advance,