What architecture does WhatsApp use?
Michael King
Updated on March 04, 2026
What architecture does WhatsApp use?
WhatsApp uses a highly modified version of XMPP on an Ejabberd server (more on that later) to communicate with the clients. The XMPP on the client opens an SSL socket to the WhatsApp servers. All the sent messages are queued on the servers until the client opens or reconnects to this socket to retrieve the messages.
How does WhatsApp work architecture?
WhatsApp utilizes XMPP protocol where the queue is maintained and the messages will wait till the queue message is received by the receiver node. The Notifications is received by the sender when the message is received by the receiver.
Does WhatsApp use load balancer?
After implementing multiple servers and load balancer, our system architecture is capable of handling a large user base. But our application also needs some storage mechanism to save some arbitrary state or data, to fulfill this requirement we also added database which is accessible to all the servers.
How does WhatsApp handle so many connections?
-> Programming Language: Erlang It also has a concept of the lightweight thread which makes it capable of handling millions of connections at a time. This is the reason Erlang is an ideal choice for WhatsApp.
Does WhatsApp use Microservices?
As I mentioned above there are microservices to handle the WhatsApp process and this process is handle by one microservice we can name it as Last Seen Service. So Last Seen service stores online details of each user in the Cloud Database table saying that This user’s last online time is this time.
What is the backend of WhatsApp?
WhatsApp server is almost completely implemented in Erlang. Server systems that do the backend message routing are done in Erlang. Great achievement is that the number of active users is managed with a really small server footprint. Team consensus is that it is largely because of Erlang.
What is architecture of chat application?
Basically, the standard chat architecture consists of two major parts; Chat Server Engine and Client Chat Part. The server engine handles the entire operation of transmitting messages right from the message sent on a server to the delivery of messages on a client device with the help of tokens.
How many connections a server can handle?
On the TCP level the tuple (source ip, source port, destination ip, destination port) must be unique for each simultaneous connection. That means a single client cannot open more than 65535 simultaneous connections to a single server. But a server can (theoretically) serve 65535 simultaneous connections per client.
How many Websockets can a server handle?
By default, a single server can handle 65,536 socket connections just because it’s the max number of TCP ports available. So as WS connections have a TCP nature and each WS client takes one port we can definitely say that number of WebSocket connections is also limited.
Who designs WhatsApp?
WhatsApp was founded by Brian Acton and Jan Koum, former employees of Yahoo!.
What is app stack?
App Stack is bloatware , its an app that lets you manage the install and uninstall of apps, so you can says its like an app manager…
What is app stack used for?
Select from the apps listed, needed to the user, and give the corresponding app’s login details. This process is repeated until all the apps needed by the user are added into the App Stack. Once you are done with the app, it never logs out, and hence your data is stored securely.