<div dir="ltr">We're supporting up to a million clients in production using a 2 tier architecture of rabbitmq plus websockets/sockjs. We think we can continue to scale out globally a couple more orders of magnitude, even as we increase message rates substantially.<div>
<br></div><div>ml</div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Feb 24, 2014 at 11:41 AM, Jason McIntosh <span dir="ltr"><<a href="mailto:mcintoshj@gmail.com" target="_blank">mcintoshj@gmail.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Right now, we've scaled up to about 2000 concurrent connections from over 100 different machines. We have on average 5-6 queues for each "app" and probably 30 or so connections for each application. Intermittent connectivity is more of an issue for your client rather than the server. Unless you need clustering, in which case your cluster nodes all have to be up and connected to each other on a reliable network. If that's not the case, federation/shovel is your friend.<div>
<br></div><div>But back to topology - we actually have a local rabbit process on a series of "cloud" computers. Each rabbit server has an applications' configuration and then they shovel to an "enterprise" system in a different data center. Rabbit in this case acts as a local cache allowing WAN failure. This is probably overkill in some ways but it makes the system really really reliable. The servers are beefier machines that are clustered and if we have to scale connections, we can add more server nodes (each enterprise server right now is handling about 1000 clients, and that's expected to grow significantly). We have an F5 LTM in front of the enterprise machines to allow load balancing between the nodes.</div>
<div><br></div><div>From what we've seen - this topology looks like it'll scale almost indefinitely. You should be able to scale up to 100k concurrent clients as long as you've got the ram/disk space. And you can always break your stuff into smaller pieces as needed.</div>
<div><br></div><div>Jason</div></div><div class="gmail_extra"><br><br><div class="gmail_quote"><div><div class="h5">On Thu, Feb 20, 2014 at 9:51 PM, Chris Eineke <span dir="ltr"><<a href="mailto:ceineke@gmail.com" target="_blank">ceineke@gmail.com</a>></span> wrote:<br>
</div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="h5"><div dir="ltr">Hello everyone,<div><br></div><div><span style="font-size:13px">I'm trying to find out what broker setup</span><span style="font-size:13px"> could support </span><span style="font-size:13px">100,000+ concurrent clients with </span><span style="font-size:13px">20-30 queues per client, with numbers steadily increasing over time. We would be sending mostly small messages (max. 4KiB, non-binary). </span><span style="font-size:13px">One pitfall is that clients aren't guaranteed to be online 100% of the time, so we have to be able to deal with issues related to intermittent connectivity.</span><br>
</div><div><span style="font-size:13px"><br></span></div><div><span style="font-size:13px">So far my idea is to install a RabbitMQ broker on each client and use the federation plugin to connect the client-side brokers to the server-side broker/cluster. Has RabbitMQ been exercised with a large number of federated queues/exchanges? Has anybody reported their configuration settings and performance numbers with related set-ups?</span></div>
<div><br></div><div>Best regards,</div><div> Chris</div></div><br></div></div>_______________________________________________<br>
rabbitmq-discuss mailing list<br>
<a href="mailto:rabbitmq-discuss@lists.rabbitmq.com" target="_blank">rabbitmq-discuss@lists.rabbitmq.com</a><br>
<a href="https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss" target="_blank">https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss</a><br>
<br></blockquote></div><span class="HOEnZb"><font color="#888888"><br><br clear="all"><div><br></div>-- <br><div dir="ltr">Jason McIntosh<br><a href="https://github.com/jasonmcintosh/" target="_blank">https://github.com/jasonmcintosh/</a><br>
<a href="tel:573-424-7612" value="+15734247612" target="_blank">573-424-7612</a></div>
</font></span></div>
<br>_______________________________________________<br>
rabbitmq-discuss mailing list<br>
<a href="mailto:rabbitmq-discuss@lists.rabbitmq.com">rabbitmq-discuss@lists.rabbitmq.com</a><br>
<a href="https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss" target="_blank">https://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss</a><br>
<br></blockquote></div><br></div>