[aerogear-dev] GCM Topics - split into two sender implementations?

Summers Pittman supittma at redhat.com
Wed Aug 12 09:35:08 EDT 2015


On Wed, Aug 12, 2015 at 9:22 AM, Lukáš Fryč <lukas at fryc.eu> wrote:

> Hi guys,
>
> /wrt the GCM Topics support PR
> https://github.com/aerogear/aerogear-unifiedpush-server/pull/626
>
> me and summersp have discussed how JMS should be used to route messages.
>
>
> Current implementation loads tokens and conditionally sends either message
> with registration IDs or topics.
>
> There are two things yet to be solved:
>
>    -  topics can be used up to 1 million registrations, otherwise you
>    have to fall back to enumerating registration IDs
>    - implementation with one sender (GCMPushNotificationSender) is
>    suboptimal
>       - the utilization of the topics can be increased by prioritizing
>       topic message sending first (covering multiple, potentially thousands
>       registrations)
>       - followed by sending registration IDs out
>
>
> That's why I suggested to split implementation to two JMS queues talking
> to two sender impls (e.g. GCMTopicSender and GCMRegistrationIdsSender).
>
>    - first we send out topic based messages (for efficiency)
>    - we collect those topics that fail and resend them for processing as
>    registration IDs (fail over)
>       - registration ids sending can start in parallel, but it can't end
>       until we sent out all topics
>
> Additionally we get an ability to configure these two message routes
> individually on the JMS level (better utilization, transact-ability, fail
> over).
>
>
> What do you think?
>
Since we discussed this yesterday I am of course +1 :-p

>
>
> Cheers,
>
> ~ Lukas
>
> _______________________________________________
> aerogear-dev mailing list
> aerogear-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/aerogear-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/aerogear-dev/attachments/20150812/197e9d49/attachment.html 


More information about the aerogear-dev mailing list