Every year it’s always the same problem: as soon as midnight hits, too many people are sending messages and everything crashes and no one receives them. This article explains how Facebook Messenger handles them internally, and it’s quite interesting the tradeoffs that they are making to make sure the message is properly sent and received by the two parties.
The problem that I have seen multiple times is that usually, the first thing that collapses are not Facebook servers, but the networks before (Wifi, 4G, 3G etc.), that are much harder to scale up on demand for a small burst. It’s probably not even a very high priority for the telecommunication companies. This means that the message will not even reach the Facebook servers, it will have a problem before that. This may not be the case worldwide of course, but I have seen it in different places.
Another interesting aspect that I have never found an article about, is that every push notification must go through Apple (for iOS devices) or Google (for Android devices). I don’t think there is any other way around it. This means that Facebook may have problems handling a lot of messages, but you can imagine that Apple and Google have way more problems, because they need to handle all the push notifications, which includes Facebook Messenger, WhatsApp, Instagram, Snapchat etc. I would be very curious what do they have in place to handle these traffic spikes.