Am again in a design dilemma on how to architect solution regarding platform events limits.

From the API documentation, even though I can publish 2.4Million Events in a day, the Comet D client(Java Middleware) will only get 50K events pushed. So after my cometD reaches 50K events, it has to poll manually, again providing last received event ID to get/replay newly published event. So manually polling defeats the purpose of using the event-driven architecture. I agree that events will be present in eventBus for 24 hours, but then what's the point of manually polling after every few minutes after reaching 50k. How can I make my client know that events wont be pushed now and I have to start polling?

Can anyone shed some light about this? And how to optimize the polling? enter image description here Src : https://developer.salesforce.com/docs/atlas.en-us.platform_events.meta/platform_events/platform_event_limits.htm

  • Not sure about how polling is helping, do you have supporting documentation for that. Events are introduced to handle huge no of events. Limits on number of events published is more than limit on no of events delivered. Weird. Doc says go for add on license, then why there is support for more published events that one could listen to. – Kiran Machhewar Oct 3 '18 at 7:36
  • @KiranMachhewar We can replay past events, right? So providing last received event or -1 will play all events, now it will be clients responsibility to ignore already received event. I dont have a documentation for polling, but that sounds logical to me. – Pranay Jaiswal Oct 3 '18 at 7:39
  • In replay also same limits could apply, I will try to raise Salesforce support ticket for this. I still think expected answer would be buy add on license. – Kiran Machhewar Oct 3 '18 at 14:36
  • @KiranMachhewar the add-on can (slighly) increase the number of events published/delivered. Our need is to handle ~20M events/day and they said to look at that add-on... maybe you can buy more add-on licenses? – ctrl-z Jan 10 at 14:40

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.