| Author |
Message |
< RabbitMQ mailing list ~ Deploying RabitMQ for my Application - Questions and Doubts |
| Guest |
Posted: Wed Dec 30, 2009 2:27 am |
|
|
|
Guest
|
Hi,
I am looking for a solution for the problem that am currently looking
to solve... I am trying to build a scalable AMQP Messaging system,
where multiple bots(in the range of 1 for each country in the world)
push out messages to clients spread all over the world. The
communication will be truly one to one, that is one server bot will
communicate with bots, and each client is assigned one server bot.
Messages are mostly private, i.e. only from the server to client and
vice versa.
There can be anywhere between 10-50 Million Concurrent Clients,
Messages are in the size of 2-3KB(Well formed XML), that can be
transmitted in the both the directions i.e. Client->Server(bots) and
vice versa.... My estimates put at the messages to be going outwards
in either directions somewhere in the range of 50-100 messages/second.
The Clients will need to send/receive all the information as encrypted
data using SSL+TLS and any other scheme..
Will RabbitMQ be a good choice for the kind of the problem I'm trying
to solve..
Any help will be appreciated.. Also how much better is using AMQP
based RabbitMQ in comparison to XMPP based Ejabberd/Openfire etc? Regards,
Karthik Kastury
http://dailyapps.net/ | +91 9739864254
Post received from mailinglist |
|
|
| Back to top |
|
| Guest |
Posted: Wed Dec 30, 2009 10:22 am |
|
|
|
Guest
|
Karthik
Some questions:
What is the nature of this communication? Is it pubsub? Must queues
be involved? What kind of recovery and failover do you need?
Are you saying that the server(s) must be in one physical location?
Or, are you saying there must be one server "bot" per country? If so
then can there be communication 'between server bots'?
alexis
On Wed, Dec 30, 2009 at 2:26 AM, Karthik <coolkarthik88@gmail.com> wrote:
> Hi,
>
> I am looking for a solution for the problem that am currently looking
> to solve... I am trying to build a scalable AMQP Messaging system,
> where multiple bots(in the range of 1 for each country in the world)
> push out messages to clients spread all over the world. The
> communication will be truly one to one, that is one server bot will
> communicate with bots, and each client is assigned one server bot.
> Messages are mostly private, i.e. only from the server to client and
> vice versa.
>
> There can be anywhere between 10-50 Million Concurrent Clients,
> Messages are in the size of 2-3KB(Well formed XML), that can be
> transmitted in the both the directions i.e. Client->Server(bots) and
> vice versa.... My estimates put at the messages to be going outwards
> in either directions somewhere in the range of 50-100 messages/second.
>
> The Clients will need to send/receive all the information as encrypted
> data using SSL+TLS and any other scheme..
>
> Will RabbitMQ be a good choice for the kind of the problem I'm trying
> to solve..
>
> Any help will be appreciated.. Also how much better is using AMQP
> based RabbitMQ in comparison to XMPP based Ejabberd/Openfire etc?
> Regards,
> Karthik Kastury
>
> http://dailyapps.net/ | +91 9739864254
>
> _______________________________________________
> rabbitmq-discuss mailing list
> rabbitmq-discuss@lists.rabbitmq.com
> http://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
>
>
_______________________________________________
rabbitmq-discuss mailing list
rabbitmq-discuss@lists.rabbitmq.com
http://lists.rabbitmq.com/cgi-bin/mailman/listinfo/rabbitmq-discuss
Post received from mailinglist |
|
|
| Back to top |
|
| Guest |
Posted: Wed Dec 30, 2009 10:40 am |
|
|
|
Guest
|
|
| Back to top |
|
| Guest |
Posted: Wed Dec 30, 2009 11:02 am |
|
|
|
Guest
|
Karthik
Yes that is feasible. If you were simply talking about a 'chat'
system then I would suggest XMPP would be great for your case. But,
the mixture of pubsub, fanout and queueing ("pushing .. as and when
the need arises") suggests that you should consider AMQP.
Re use cases: I cannot talk about *everyone* doing exactly the same
as you, since many of our customers don't like to (or cannot) discuss
their cases in public. However, here is a reasonably well known
'multi-location multi-datacenter multi-cloud' use case that is
similar:
http://www.oceanobservatories.org/spaces/display/CIDev/Messaging+Service+Specification+V1
http://io9.com/5410036/fleets-of-autonomous-robots-coming-to-an-ocean-near-you
http://www.calit2.net/newsroom/article.php?id=1505
Here is a case that has several data centers, similar to what you are
asking about: http://qconsf.com/sf2009/presentation/Open+Source+at+Unibet.com+-+10x+Scalability+at+Half+the+Cost
Here are some more 'cloud' use cases:
http://delicious.com/alexisrichardson/rabbitmq+cloud+usecase
More below...
On Wed, Dec 30, 2009 at 10:39 AM, Karthik <coolkarthik88@gmail.com> wrote:
> Hi Alex,
> Thanks for writing in. Here is the scenario.. I need to be running a single
> cluster of Servers housed in a single Data Center. The problem I am trying
> to solve involves pushing out information to clients spread across the globe
> asynchronously aka push the data to them as and when the need arises.
OK. I assume that 'as and when the need arises' means that
connections will be somewhat unpredictable, and some data will need to
be queued for offline consumers? Will it also need to be stored?
> The
> data to be pushed in will be pumped by a Web Based front end..
Would you want to use one of the RabbitMQ web clients for this?
> The communication will primarily be Private communication, that is server
> directly talks to the client.. In my problem none of the clients can talk to
> each other.. Information can only be exchanged between the client and server
> in both the directions. PubSub or fanout communications will be involved
> too, but most communication will be private (connections need to be
> encrypted).
OK.
> To scale my system, I was thinking that splitting the system on a country
> wise basis, will allow me to scale easily.
Would each country server be isolated? Or could two clients in
different countries exchange messages via the servers, like this:
Client -> Server -> Server -> Client
> I am planning to use Amazon EC2,
> so during night times or off peak hours, I'd want the power of different
> instances responsible for different countries to be reduced, to save
> expenses.
That makes sense. Of course currently EC2 is in three location (2 in
US, 1 in EU).
> Can you point me to real implementations of this kind that have used
> RabbitMQ in the past?
See above.
> Also I'm expecting anywhere between |
|
|
| Back to top |
|
| Guest |
Posted: Wed Dec 30, 2009 11:03 am |
|
|
|
Guest
|
|
| Back to top |
|
|
|
All times are GMT
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum You cannot attach files in this forum You cannot download files in this forum
|
|
|