On Wed, Aug 12, 2015 at 3:31 PM, Matthias Wessendorf <matzew(a)apache.org>
wrote:
On Wed, Aug 12, 2015 at 3:22 PM, Lukáš Fryč <lukas(a)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
>
>
I agree that we need a slip here - but does it (GCM) really work like that
?
I was more thinking/guess that we have to do the math and keep the device
nr. per topic
Yes, that's certainly possible in a case we are able to find registration
IDs for all devices subscribed to a given topic.
Actually our current strategy for detecting end of sending session is based
on token (device) counting.
- wondering now, summers, what actually happens if device 1.000.001
registers w/ the topic? Does GCM fail the device ?
> Additionally we get an ability to configure these two message routes
> individually on the JMS level (better utilization, transact-ability, fail
> over).
>
but generally, I think these are two completely different cases, therefore
we need to different senders
>
>
> What do you think?
>
>
> Cheers,
>
> ~ Lukas
>
> _______________________________________________
> aerogear-dev mailing list
> aerogear-dev(a)lists.jboss.org
>
https://lists.jboss.org/mailman/listinfo/aerogear-dev
>
--
Matthias Wessendorf
blog:
http://matthiaswessendorf.wordpress.com/
sessions:
http://www.slideshare.net/mwessendorf
twitter:
http://twitter.com/mwessendorf
_______________________________________________
aerogear-dev mailing list
aerogear-dev(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/aerogear-dev