Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Firebase FCM has become very unstable. Looking for a solution / alternatives

Our app with more than a million subscribers is facing huge delivery issues with FCM. It has become worse lately and the service is hardly working anymore. We are receiving errors like:

 { code: 'messaging/message-rate-exceeded',
 message: 'Topic quota exceeded.' },
codePrefix: 'messaging' }

We get this error a lot. And it seems to be worse during EU / US evenings. In some cases over 90% of the notifications are failing. We are in contact with the firebase support team, but so far there seems to be no solution. The gave us lots of information with some useful facts though:

  • resources are shared between developers. So the max message rate can be different because of other developers taking up resources.
  • OR queries should be converted to multiple AND queries because OR queries actually generate messages to all of user base, and then the filtering condition is applied
  • 240 messages/minute and 5,000 messages/hour to a single device.
  • limit upstream messages at 15,000/minute per project (we don't understand this one)
  • limit upstream messages per device at 1,000/minute

They also updated their docs at https://firebase.google.com/docs/cloud-messaging/concept-options#topics_throttling

So we are aware of message rate limits and fanouts mechanism. In our case we have an approximate of 6000 different topic send requests per hour and on average 10k subscribers per topic. A single user will never get more than 50-100 notifications per hour. We believe we are not hitting the limits set by FCM.

Back in the GCM time everything worked fine. So we are quite unhappy about the current situation. The core functionality of the app is really bad right now. And a solution seems to be not there.

We are considering switching to a SSE solution. There is a story about someone who succesfully moved away from FCM https://f-droid.org/en/2018/09/03/replacing-gcm-in-tutanota.html But since Google has made it very difficult lately to have background processes running, I wonder what other people with similar experience did. Or can we still fix this situation?

like image 653
Gillis Haasnoot Avatar asked Nov 07 '22 19:11

Gillis Haasnoot


1 Answers

One such alternative is Cloud Alert - it can replace FCM, provides high throughput and unlimited messages. It uses a background job and maintains its own connection to its dedicated servers. While a free plan is present, your 1 million connection requirement would put you into the paid bracket.

Disclosure: I work for Cloud Alert.

like image 104
Austin Dixon Avatar answered Nov 13 '22 20:11

Austin Dixon