Creating an xmpp server for upstream google gcm

Let's say you have an application with 10 million installations and 10 thousand active users at a certain point in time. I need to record activity data of my users on my servers. I am currently making HTTP requests from the device to my servers. I have a bunch of machines with a web server sitting at Amazon ELB. They analyze the data coming from the devices and put it in mongodb.

Now I would like to capture device data using the upstream CCS provided by Google GCM (so that I can piggyback to GCM for more reliable data delivery). I wrote a prototype XMPP server, and I can make it work, but I'm worried about expanding it. What happens if Google starts sending me messages faster than I can consume? I used to be able to use multiple servers behind a load balancer to handle the high frequency of requests. Is there a load balancing concept here?

If I open several connections from my server to a Google server (Google says that I can have up to 1000 connections for a given sender ID), will incoming requests be load balanced between these connections?

Finally, is there a recommended solution that will help solve most of the problems above? Will using ejabberd solve some of the problems above?

Thanks a lot.

+4
source share
2 answers

What happens if Google starts sending me messages faster than I can use?

At the end of https://developers.google.com/cloud-messaging/ccs you can read

, , CCS , . , "ACK" , CCS, . ACK. 100, ACK , CCS, .

- , . , .

, Google , , ( , ). , .

, ejabberd - , , taht. http://docs.ejabberd.im/admin/guide/clustering/.

, RabbitMQ, Erlang.

+3

ejabberd . 3 4 . . 10 , Redis , mnesia.

+1

Source: https://habr.com/ru/post/1612371/


All Articles