<div>Good morning,<br></div><div><br></div><div>I'm a little bit curious about the setup strategy of a project. Maybe someone of you can make it clear.</div><div><br></div><div>Situation:&nbsp;</div><div>Community Website, running on several php-nodes.</div><div><br></div><div>Destination:</div><div>Implementation of Websockets with nodejs.</div><div><br></div><div>Attempts:</div><div>One big Server (24 Cores) running Rabbitmq, every websocket-worker connects to this one.</div><div>Every php-node is running an own Rabbitmq, php connects to localhost using Amqp. Every kind of notifications is being sent to it, but only if the target user is actually connected to one socket (Solved per memcache-entry)</div><div>3 Websocket-Hosts, each running 16 Node-Worker. (16 Cores/Server)</div><div><br></div><div>Every websocket-worker creates an own queue.</div><div>There are 100 exchanges, the users are being sorted in there by their UserID. Exchange-Type: direct.</div><div>(Using only one exchange crashes when reaching 64k bindings)</div><div><br></div><div>Problem:</div><div>Queues are starting to fill up when reaching 120k Bindings (130-140k unique Websocket-Connections). 4-6k delivered Msg/s.</div><div>Load: </div><div>Big one (18-20 / 24)</div><div>php-nodes (6 / 16)</div><div>Nodejs-Hosts (5 / 16)</div><div><br></div><div>I want to know your opinion about this setup, or tips to build a better one.</div><div><br></div><div>We want to serve 300-500k Connections at any time with at least hardware as possible.</div><div><br></div><div>Greetings,</div><div>Florian</div><div><br></div><div><br></div>