{"id":370,"date":"2022-07-21T18:54:42","date_gmt":"2022-07-21T18:54:42","guid":{"rendered":"https:\/\/proarchconsulting.com\/blog\/?p=370"},"modified":"2022-07-21T18:54:43","modified_gmt":"2022-07-21T18:54:43","slug":"understanding-the-architecture-of-an-instant-messaging-service-like-whatsapp","status":"publish","type":"post","link":"https:\/\/proarchconsulting.com\/blog\/understanding-the-architecture-of-an-instant-messaging-service-like-whatsapp\/","title":{"rendered":"Understanding the Architecture of an instant messaging service like WhatsApp"},"content":{"rendered":"\n<p>WhatsApp is one of the most widely used cross-platform messaging applications.\u00a0Information is sent immediately, which is why more and more websites include it as another service to facilitate communication with users.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-what-will-you-read-here\">What will you read here?<\/h2>\n\n\n\n<ul class=\"wp-block-list\"><li>FUNCTIONALITY<\/li><li>ARCHITECTURE SYSTEM<\/li><li>WHATSAPP FRONT END<\/li><li>WHATSAPP BACK END<\/li><\/ul>\n\n\n\n<p>In the next post we are going to see what its architecture is like and how an instant messaging service like WhatsApp works at a technical level.<\/p>\n\n\n\n<p>The two most popular types of chats are <a href=\"https:\/\/www.facebook.com\/messenger\/\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">Facebook Messenger<\/a> , which is responsible for saving all messages indefinitely, and the other is WhatsApp , which stores them until they are delivered. Once read and delivered by the target user, they are removed from the server and disappear.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Functionality<\/h2>\n\n\n\n<p>The advantage of a system like WhatsApp is that the communication and transmission of information is practically in\u00a0<strong>real time<\/strong>.<\/p>\n\n\n\n<p>For this reason, when it comes to implementing and discovering the technical scenario of the architecture of an instant messaging system. We must think that it must include a series of functionalities so that it is minimally optimal, like the many of WhatsApp:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>One-to-one chats<\/li><li>Sending messages offline<\/li><li>The groups<\/li><li>Must allow up to 256 participants to participate<\/li><li>Video chats and group video chats<\/li><li>voice messages<\/li><li>It must be able to share image, video and voice.&nbsp;By the way, the videos cannot weigh more than 16 MG, or have a duration between 90 seconds and 3 minutes.<\/li><li>It must indicate if the messages are read or the last viewing time by the user<\/li><li>The sent, delivered, plus read receipt option<\/li><li>Submitted files are limited to 100 MB<\/li><li>It has to be able to support the playback of Youtube videos, audio and video MP4, 3GP, MKV, AVI and MOV<\/li><li>Reply to private messages<\/li><li>Ability to copy, save or archive messages<\/li><li>You can block messages<\/li><li>Take photos and record conversations, share locations and access to the contact list.<\/li><li>Link to other devices<\/li><li>Configure the information, security and privacy of the user<\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Architecture System<\/h2>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"736\" height=\"431\" src=\"https:\/\/proarchconsulting.com\/blog\/wp-content\/uploads\/2022\/07\/Architecture-System.jpg\" alt=\"Architecture System of WhatsApp\" class=\"wp-image-378\" srcset=\"https:\/\/proarchconsulting.com\/blog\/wp-content\/uploads\/2022\/07\/Architecture-System.jpg 736w, https:\/\/proarchconsulting.com\/blog\/wp-content\/uploads\/2022\/07\/Architecture-System-300x176.jpg 300w\" sizes=\"auto, (max-width: 736px) 100vw, 736px\" \/><figcaption>Source:<strong><a href=\"http:\/\/Medium.com\" rel=\"nofollow\">Medium.com<\/a><\/strong><\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"801\" height=\"431\" src=\"https:\/\/proarchconsulting.com\/blog\/wp-content\/uploads\/2022\/07\/Architecture-System-1.jpg\" alt=\"Architecture System of WhatsApp1\" class=\"wp-image-379\" srcset=\"https:\/\/proarchconsulting.com\/blog\/wp-content\/uploads\/2022\/07\/Architecture-System-1.jpg 801w, https:\/\/proarchconsulting.com\/blog\/wp-content\/uploads\/2022\/07\/Architecture-System-1-300x161.jpg 300w, https:\/\/proarchconsulting.com\/blog\/wp-content\/uploads\/2022\/07\/Architecture-System-1-768x413.jpg 768w\" sizes=\"auto, (max-width: 801px) 100vw, 801px\" \/><figcaption>Source:<strong><a href=\"http:\/\/Medium.com\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">Medium.com<\/a><\/strong><\/figcaption><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Profile Database<\/h3>\n\n\n\n<p>First, user information such as status, profile picture, profile ID, and contact details must be collected and saved.<\/p>\n\n\n\n<p>It is essential to save in the cloud (for example in a similar service or like the one offered by Amazon&#8217;s S3 ) the images of the users, each one of them with their links.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Profile Service (API)<\/h3>\n\n\n\n<p>It is allowed to publish, add, update or even retrieve the information of each user. <\/p>\n\n\n\n<figure class=\"wp-block-pullquote has-white-color has-light-green-cyan-background-color has-text-color has-background\"><blockquote><p>The advantage of a system like WhatsApp is that the communication and transmission of information is practically in real time . For this reason, when it comes to implementing and discovering the technical scenario of the architecture of an instant messaging system, we must think that it must include a series of functionalities so that it is minimally optimal.<\/p><\/blockquote><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">ChatServer<\/h2>\n\n\n\n<p><\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Mapping Database<\/h3>\n\n\n\n<p>It is also important to have a clear communication architecture . Users A and B use bidirectional communication to communicate over the network, so you need to know each other&#8217;s IP address.<\/p>\n\n\n\n<p>This process ends with a server, users, load balancing (which distributes traffic between multiple servers and avoids network saturation), and the database.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"589\" height=\"431\" src=\"https:\/\/proarchconsulting.com\/blog\/wp-content\/uploads\/2022\/07\/ChatServer1.jpg\" alt=\"ChatServer1.jpg\" class=\"wp-image-380\" srcset=\"https:\/\/proarchconsulting.com\/blog\/wp-content\/uploads\/2022\/07\/ChatServer1.jpg 589w, https:\/\/proarchconsulting.com\/blog\/wp-content\/uploads\/2022\/07\/ChatServer1-300x220.jpg 300w\" sizes=\"auto, (max-width: 589px) 100vw, 589px\" \/><\/figure>\n\n\n\n<ul class=\"wp-block-list\"><li>It is convenient to replace the HTTP protocol, where when each user sends a request or signal to the server and a response is received, closes the connection, with the WebSocket protocol , which, although it is a bit more complicated, is a server that works very well for applications in real time and that will always maintain a continuous connection between active users.<\/li><\/ul>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"463\" height=\"431\" src=\"https:\/\/proarchconsulting.com\/blog\/wp-content\/uploads\/2022\/07\/ChatServer2.jpg\" alt=\"ChatServer2.jpg\" class=\"wp-image-382\" srcset=\"https:\/\/proarchconsulting.com\/blog\/wp-content\/uploads\/2022\/07\/ChatServer2.jpg 463w, https:\/\/proarchconsulting.com\/blog\/wp-content\/uploads\/2022\/07\/ChatServer2-300x279.jpg 300w\" sizes=\"auto, (max-width: 463px) 100vw, 463px\" \/><\/figure>\n\n\n\n<p><strong>Up to 65K ports <\/strong>will be open during the process . The socket controller will provide information about the web sockets that are connected to each user. Redis is used because it stores and is able to provide both which web socket controller a user is connected to, and whether to connect to another controller on disconnection.<\/p>\n\n\n\n<p><strong>Messenger Service.<\/strong> The API will obtain a repository of all message information through various filters such as user identification, message identification, delivery status, etc. For example, the open source big data solution Cassandra developed by Facebook can be integrated, which is capable of storing large amounts of information.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">From here, several scenarios can happen and develop:<\/h3>\n\n\n\n<ul class=\"wp-block-list\"><li>The user <strong>A or sender who sends the info is connected to the server, but the recipient (user B) is not <\/strong>; in this case the message is stored in the database and when the recipient connects, that message is sent again.<\/li><li>That the <strong>sender (A) is not connected to the server<\/strong> ; then that message is stored (for example in a database like SQLite), and when it connects, that&#8217;s when it&#8217;s going to be sent to the server.<\/li><li>However, if both are connected (A and B). The message is not stored, but sent, it will travel through the pass-through server without staying there.<\/li><\/ul>\n\n\n\n<p><strong>Data mapping:<\/strong> Every time a user sends a message, a new process is generated in which the information is stored. The chat server will spawn a new process for user A and with user B if he is online. The server identifies the receiver&#8217;s name through the PID (Process ID) and is immediately sent. The same process is repeated in reverse, when user B is going to reply to user A.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"775\" height=\"175\" src=\"https:\/\/proarchconsulting.com\/blog\/wp-content\/uploads\/2022\/07\/Data-mapping.jpg\" alt=\"WhatsApp Data mapping\" class=\"wp-image-384\" srcset=\"https:\/\/proarchconsulting.com\/blog\/wp-content\/uploads\/2022\/07\/Data-mapping.jpg 775w, https:\/\/proarchconsulting.com\/blog\/wp-content\/uploads\/2022\/07\/Data-mapping-300x68.jpg 300w, https:\/\/proarchconsulting.com\/blog\/wp-content\/uploads\/2022\/07\/Data-mapping-768x173.jpg 768w\" sizes=\"auto, (max-width: 775px) 100vw, 775px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Group chat service How does it work?<\/h3>\n\n\n\n<ul class=\"wp-block-list\"><li>Unlike one-to-one chats, keep in mind that for each group that is created in <a href=\"https:\/\/www.whatsapp.com\/?lang=en\" target=\"_blank\" rel=\"noreferrer noopener nofollow\">WhatsApp<\/a>, a\u00a0<strong>new GroupID<\/strong>\u00a0will be generated , with an assignment of all the users that are included.\u00a0When a message is sent to the group. The chat service identifies the recipient, which in this case will pass to the group service to locate the same group ID and who sent messages to all the user IDs in the list.<\/li><li>In this case the web socket servers are not going to keep track of the group, but of the active users of the group.\u00a0So when someone launches and sends a message to the group. The server contacts the message service and these will be stored in Cassandra.\u00a0They are then saved to Kafka (which is a data transmitter), which will connect to the group message server and send them all.\u00a0The server will connect to the group service, locate the list of group members, and deliver the message to each member individually.<\/li><li>The group service has control over all the information of the group, each one of the members, the user ID, group ID, until the time of creation, etc.\u00a0data to be saved and stored in a MySQL database.<\/li><\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">Last seen messages<\/h3>\n\n\n\n<figure class=\"wp-block-pullquote has-light-green-cyan-background-color has-background\"><blockquote><p>The service offered by instant messaging and that allows you to check the &#8220;last seen&#8221; option uses a specific database that stores this information.<\/p><\/blockquote><\/figure>\n\n\n\n<p>Technically every time a user opens WhatsApp, the server contacts this option to send the time details.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"781\" height=\"129\" src=\"https:\/\/proarchconsulting.com\/blog\/wp-content\/uploads\/2022\/07\/Data-mapping-1.jpg\" alt=\"Data mapping 1.jpg\" class=\"wp-image-386\" srcset=\"https:\/\/proarchconsulting.com\/blog\/wp-content\/uploads\/2022\/07\/Data-mapping-1.jpg 781w, https:\/\/proarchconsulting.com\/blog\/wp-content\/uploads\/2022\/07\/Data-mapping-1-300x50.jpg 300w, https:\/\/proarchconsulting.com\/blog\/wp-content\/uploads\/2022\/07\/Data-mapping-1-768x127.jpg 768w\" sizes=\"auto, (max-width: 781px) 100vw, 781px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Messages with files or multimedia<\/h3>\n\n\n\n<ul class=\"wp-block-list\"><li>Once the instant messaging service detects the type of file that has been sent. It is stored in the cloud (like the S3 we talked about earlier).\u00a0The links are going to go to a SQL database with mapping to user details.\u00a0In this case, HTTP can be used to transfer the messages.<\/li><li>The images, files or video that have been sent will be compressed and encrypted, and this encrypted content will reach the receiver.<\/li><\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"front-end-de-whatsapp\"><strong>WhatsApp front end<\/strong><\/h3>\n\n\n\n<p>Each of the versions of WhatsApp is made with a different language:<\/p>\n\n\n\n<p><strong>Android version:<\/strong>&nbsp;with Java<br><strong>iOS:<\/strong>&nbsp;with Swift<br><strong>Windows Phone:<\/strong>&nbsp;C#<br><strong>The web version:<\/strong>&nbsp;with JavaScript\/HTML\/CSS<br><strong>The Mac desktop version:<\/strong>&nbsp;Swift\/Objective-C<br><strong>The PC desktop version:<\/strong>&nbsp;C\/C#\/Java<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"back-end-de-whatsapp\"><a><\/a>WhatsApp back end<\/h3>\n\n\n\n<p><a href=\"https:\/\/www.erlang.org\/\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>Erlang<\/strong><\/a>&nbsp;is the main language that has been used for WhatsApp.<br>FreeBSD for the operating system<br>Ejabberd is your application server XMPP<br><strong>BEAM<\/strong>&nbsp;is your Erlang-based virtual machine<br><strong>Mnesia<\/strong>&nbsp;is your Erlang-based database<br><strong>YAWS<\/strong>&nbsp;is your multimedia web server<\/p>\n","protected":false},"excerpt":{"rendered":"<p>WhatsApp is one of the most widely used cross-platform messaging applications.\u00a0Information is sent immediately, which is why more and more websites include it as another service to facilitate communication with users. What will you read here? FUNCTIONALITY ARCHITECTURE SYSTEM WHATSAPP FRONT END WHATSAPP BACK END In the next post we are going to see what [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":393,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[3],"tags":[40,39,38],"class_list":["post-370","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-technologies","tag-architecture-system","tag-architecture-whatsapp","tag-whatsapp"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v19.5.1 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Understanding the Architecture of WhatsApp<\/title>\n<meta name=\"description\" content=\"Do you want to know how to develop a chat app that will rival WhatsApp? Understanding the Architecture of an instant messaging service like WhatsApp.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/proarchconsulting.com\/blog\/understanding-the-architecture-of-an-instant-messaging-service-like-whatsapp\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Understanding the Architecture of WhatsApp\" \/>\n<meta property=\"og:description\" content=\"Do you want to know how to develop a chat app that will rival WhatsApp? Understanding the Architecture of an instant messaging service like WhatsApp.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/proarchconsulting.com\/blog\/understanding-the-architecture-of-an-instant-messaging-service-like-whatsapp\/\" \/>\n<meta property=\"og:site_name\" content=\"Our Blogs\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/ProArchConsulting\/\" \/>\n<meta property=\"article:published_time\" content=\"2022-07-21T18:54:42+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-07-21T18:54:43+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/proarchconsulting.com\/blog\/wp-content\/uploads\/2022\/07\/Understanding-the-Architecture-of-an-instant-messaging-service-like-WhatsApp.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"600\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Proarch Consulting Services\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@ProArchServices\" \/>\n<meta name=\"twitter:site\" content=\"@ProArchServices\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Proarch Consulting Services\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/proarchconsulting.com\/blog\/understanding-the-architecture-of-an-instant-messaging-service-like-whatsapp\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/proarchconsulting.com\/blog\/understanding-the-architecture-of-an-instant-messaging-service-like-whatsapp\/\"},\"author\":{\"name\":\"Proarch Consulting Services\",\"@id\":\"https:\/\/proarchconsulting.com\/blog\/#\/schema\/person\/324fbfa4e89fa85f88b04fbe0eddfed7\"},\"headline\":\"Understanding the Architecture of an instant messaging service like WhatsApp\",\"datePublished\":\"2022-07-21T18:54:42+00:00\",\"dateModified\":\"2022-07-21T18:54:43+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/proarchconsulting.com\/blog\/understanding-the-architecture-of-an-instant-messaging-service-like-whatsapp\/\"},\"wordCount\":1284,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/proarchconsulting.com\/blog\/#organization\"},\"keywords\":[\"Architecture System\",\"Architecture WhatsApp\",\"WhatsApp\"],\"articleSection\":[\"Technologies\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/proarchconsulting.com\/blog\/understanding-the-architecture-of-an-instant-messaging-service-like-whatsapp\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/proarchconsulting.com\/blog\/understanding-the-architecture-of-an-instant-messaging-service-like-whatsapp\/\",\"url\":\"https:\/\/proarchconsulting.com\/blog\/understanding-the-architecture-of-an-instant-messaging-service-like-whatsapp\/\",\"name\":\"Understanding the Architecture of WhatsApp\",\"isPartOf\":{\"@id\":\"https:\/\/proarchconsulting.com\/blog\/#website\"},\"datePublished\":\"2022-07-21T18:54:42+00:00\",\"dateModified\":\"2022-07-21T18:54:43+00:00\",\"description\":\"Do you want to know how to develop a chat app that will rival WhatsApp? Understanding the Architecture of an instant messaging service like WhatsApp.\",\"breadcrumb\":{\"@id\":\"https:\/\/proarchconsulting.com\/blog\/understanding-the-architecture-of-an-instant-messaging-service-like-whatsapp\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/proarchconsulting.com\/blog\/understanding-the-architecture-of-an-instant-messaging-service-like-whatsapp\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/proarchconsulting.com\/blog\/understanding-the-architecture-of-an-instant-messaging-service-like-whatsapp\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/proarchconsulting.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Understanding the Architecture of an instant messaging service like WhatsApp\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/proarchconsulting.com\/blog\/#website\",\"url\":\"https:\/\/proarchconsulting.com\/blog\/\",\"name\":\"Our Blogs\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/proarchconsulting.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/proarchconsulting.com\/blog\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/proarchconsulting.com\/blog\/#organization\",\"name\":\"Proarch Consulting Services\",\"url\":\"https:\/\/proarchconsulting.com\/blog\/\",\"sameAs\":[\"https:\/\/www.facebook.com\/ProArchConsulting\/\",\"https:\/\/twitter.com\/ProArchServices\"],\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/proarchconsulting.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/proarchconsulting.com\/blog\/wp-content\/uploads\/2022\/06\/Proarch.png\",\"contentUrl\":\"https:\/\/proarchconsulting.com\/blog\/wp-content\/uploads\/2022\/06\/Proarch.png\",\"width\":174,\"height\":72,\"caption\":\"Proarch Consulting Services\"},\"image\":{\"@id\":\"https:\/\/proarchconsulting.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/proarchconsulting.com\/blog\/#\/schema\/person\/324fbfa4e89fa85f88b04fbe0eddfed7\",\"name\":\"Proarch Consulting Services\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/proarchconsulting.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/c21e64de012552c849b726b8d21e7653179ac1a071147b2df3b162e9d483eb3b?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/c21e64de012552c849b726b8d21e7653179ac1a071147b2df3b162e9d483eb3b?s=96&d=mm&r=g\",\"caption\":\"Proarch Consulting Services\"},\"sameAs\":[\"https:\/\/proarchconsulting.com\/\"],\"url\":\"https:\/\/proarchconsulting.com\/blog\/author\/superadmin\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Understanding the Architecture of WhatsApp","description":"Do you want to know how to develop a chat app that will rival WhatsApp? Understanding the Architecture of an instant messaging service like WhatsApp.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/proarchconsulting.com\/blog\/understanding-the-architecture-of-an-instant-messaging-service-like-whatsapp\/","og_locale":"en_US","og_type":"article","og_title":"Understanding the Architecture of WhatsApp","og_description":"Do you want to know how to develop a chat app that will rival WhatsApp? Understanding the Architecture of an instant messaging service like WhatsApp.","og_url":"https:\/\/proarchconsulting.com\/blog\/understanding-the-architecture-of-an-instant-messaging-service-like-whatsapp\/","og_site_name":"Our Blogs","article_publisher":"https:\/\/www.facebook.com\/ProArchConsulting\/","article_published_time":"2022-07-21T18:54:42+00:00","article_modified_time":"2022-07-21T18:54:43+00:00","og_image":[{"width":1200,"height":600,"url":"https:\/\/proarchconsulting.com\/blog\/wp-content\/uploads\/2022\/07\/Understanding-the-Architecture-of-an-instant-messaging-service-like-WhatsApp.jpg","type":"image\/jpeg"}],"author":"Proarch Consulting Services","twitter_card":"summary_large_image","twitter_creator":"@ProArchServices","twitter_site":"@ProArchServices","twitter_misc":{"Written by":"Proarch Consulting Services","Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/proarchconsulting.com\/blog\/understanding-the-architecture-of-an-instant-messaging-service-like-whatsapp\/#article","isPartOf":{"@id":"https:\/\/proarchconsulting.com\/blog\/understanding-the-architecture-of-an-instant-messaging-service-like-whatsapp\/"},"author":{"name":"Proarch Consulting Services","@id":"https:\/\/proarchconsulting.com\/blog\/#\/schema\/person\/324fbfa4e89fa85f88b04fbe0eddfed7"},"headline":"Understanding the Architecture of an instant messaging service like WhatsApp","datePublished":"2022-07-21T18:54:42+00:00","dateModified":"2022-07-21T18:54:43+00:00","mainEntityOfPage":{"@id":"https:\/\/proarchconsulting.com\/blog\/understanding-the-architecture-of-an-instant-messaging-service-like-whatsapp\/"},"wordCount":1284,"commentCount":0,"publisher":{"@id":"https:\/\/proarchconsulting.com\/blog\/#organization"},"keywords":["Architecture System","Architecture WhatsApp","WhatsApp"],"articleSection":["Technologies"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/proarchconsulting.com\/blog\/understanding-the-architecture-of-an-instant-messaging-service-like-whatsapp\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/proarchconsulting.com\/blog\/understanding-the-architecture-of-an-instant-messaging-service-like-whatsapp\/","url":"https:\/\/proarchconsulting.com\/blog\/understanding-the-architecture-of-an-instant-messaging-service-like-whatsapp\/","name":"Understanding the Architecture of WhatsApp","isPartOf":{"@id":"https:\/\/proarchconsulting.com\/blog\/#website"},"datePublished":"2022-07-21T18:54:42+00:00","dateModified":"2022-07-21T18:54:43+00:00","description":"Do you want to know how to develop a chat app that will rival WhatsApp? Understanding the Architecture of an instant messaging service like WhatsApp.","breadcrumb":{"@id":"https:\/\/proarchconsulting.com\/blog\/understanding-the-architecture-of-an-instant-messaging-service-like-whatsapp\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/proarchconsulting.com\/blog\/understanding-the-architecture-of-an-instant-messaging-service-like-whatsapp\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/proarchconsulting.com\/blog\/understanding-the-architecture-of-an-instant-messaging-service-like-whatsapp\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/proarchconsulting.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Understanding the Architecture of an instant messaging service like WhatsApp"}]},{"@type":"WebSite","@id":"https:\/\/proarchconsulting.com\/blog\/#website","url":"https:\/\/proarchconsulting.com\/blog\/","name":"Our Blogs","description":"","publisher":{"@id":"https:\/\/proarchconsulting.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/proarchconsulting.com\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/proarchconsulting.com\/blog\/#organization","name":"Proarch Consulting Services","url":"https:\/\/proarchconsulting.com\/blog\/","sameAs":["https:\/\/www.facebook.com\/ProArchConsulting\/","https:\/\/twitter.com\/ProArchServices"],"logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/proarchconsulting.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/proarchconsulting.com\/blog\/wp-content\/uploads\/2022\/06\/Proarch.png","contentUrl":"https:\/\/proarchconsulting.com\/blog\/wp-content\/uploads\/2022\/06\/Proarch.png","width":174,"height":72,"caption":"Proarch Consulting Services"},"image":{"@id":"https:\/\/proarchconsulting.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/proarchconsulting.com\/blog\/#\/schema\/person\/324fbfa4e89fa85f88b04fbe0eddfed7","name":"Proarch Consulting Services","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/proarchconsulting.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/c21e64de012552c849b726b8d21e7653179ac1a071147b2df3b162e9d483eb3b?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/c21e64de012552c849b726b8d21e7653179ac1a071147b2df3b162e9d483eb3b?s=96&d=mm&r=g","caption":"Proarch Consulting Services"},"sameAs":["https:\/\/proarchconsulting.com\/"],"url":"https:\/\/proarchconsulting.com\/blog\/author\/superadmin\/"}]}},"_links":{"self":[{"href":"https:\/\/proarchconsulting.com\/blog\/wp-json\/wp\/v2\/posts\/370","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/proarchconsulting.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/proarchconsulting.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/proarchconsulting.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/proarchconsulting.com\/blog\/wp-json\/wp\/v2\/comments?post=370"}],"version-history":[{"count":8,"href":"https:\/\/proarchconsulting.com\/blog\/wp-json\/wp\/v2\/posts\/370\/revisions"}],"predecessor-version":[{"id":391,"href":"https:\/\/proarchconsulting.com\/blog\/wp-json\/wp\/v2\/posts\/370\/revisions\/391"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/proarchconsulting.com\/blog\/wp-json\/wp\/v2\/media\/393"}],"wp:attachment":[{"href":"https:\/\/proarchconsulting.com\/blog\/wp-json\/wp\/v2\/media?parent=370"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/proarchconsulting.com\/blog\/wp-json\/wp\/v2\/categories?post=370"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/proarchconsulting.com\/blog\/wp-json\/wp\/v2\/tags?post=370"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}