[aerogear-dev] Feedback for aerogear-unifiedpush-server - personalized push notifications case

Karel Piwko kpiwko at redhat.com
Fri Sep 27 05:06:10 EDT 2013


I think that Coarse Grained way might need some batch support or to be pretty
specific about limits, e.g. max 1000 messages per HTTP request in documetation.

Additionally, from what I've experienced, making Fine Grained access run in
parallel depletes server's pool of concurrent sessions pretty quickly, so
Coarse Grained might be a performance optimalization as well.


On Fri, 27 Sep 2013 09:12:40 +0200
Apostolos Emmanouilidis <aemmanou at redhat.com> wrote:

> I received some feedback for the aerogear-unifiedpush-server. 
> 
> The case is:
> 
> Company X would like to create a personalized push notifications
> campaign for Y hundred thousands customers/clients. Personalized means
> that each client/device should receive a unique message. The messages
> are automatically produced from rules defined in a CRM system, but this
> is something which doesn't affect our implementation.
> 
> Currently, our selective send method is able to send one message to a
> selected list of clients. In cases like the above one, this translates
> into Y hundred thousands calls of the aerogear-unifiedpush-server
> selective send method. The question is whether we could change the
> signature of the selective send method and allow to pass an array of
> messages or not. 
> 
> In my understanding, the advantages/disadvantages of a such change are
> similar to the advantages/disadvantages of a service according its level
> of granularity.
> 
> Fine Grained
> + simplicity and less business logic on server side
> + less amount of data exchanged between client/server
> - a lot of interactions between client/server
> - more interactions = more network overhead
> - complex client side
> 
> Coarse Grained
> + less interactions between client/server 
> + less network overhead & possibility of re-using the same network
> connection to send messages to the Push Networks (at least for APN)
> + simple client side
> - much data exchanged in each interaction between client/server
> - complex server side



More information about the aerogear-dev mailing list