Qu'est-ce que la technologie derrière wechat, whatsapp et d'autres messenger apps?
Je suis curieux de savoir à propos de l'architecture des différents temps réel messenger apps. Sont-ils à l'aide de tout protocole générique/architecture?
- Je vais lire à ce sujet: Extensible Messaging and Presence Protocol(XMPP); ErLang; Réf.: erlang-factory.com/upload/presentations/558/...
Vous devez vous connecter pour publier un commentaire.
La WhatsApp Architecture Facebook A Acheté Pour La Somme De 19 Milliards De Dollars explique l'architecture de participer à la conception de whatsapp.
WhatsApp a choisi Erlang une langue construite pour l'écriture évolutive des applications qui sont conçues pour résister à des erreurs. Erlang utilise une abstraction appelée l'Acteur de modèle pour la simultanéité - http://en.wikipedia.org/wiki/Actor_(programming_language) au Lieu de la plus traditionnelle de la mémoire partagée approche, les acteurs communiquent par envoi de messages les uns aux autres. Les acteurs contrairement aux threads sont conçus pour être léger. Les acteurs pourraient être sur la même machine ou sur des machines différentes et la transmission de message abstractions qui fonctionne pour les deux. Une simple mise en œuvre de WhatsApp pourrait être:
Chaque utilisateur/périphérique est représenté comme un acteur. Cet acteur est responsable de la manipulation de la boîte de réception de l'utilisateur, comment il est sérialisée de disque, les messages que l'utilisateur envoie et les messages que l'utilisateur reçoit. Supposons qu'Alice et Bob sont des amis sur WhatsApp. Donc il y a une Alice acteur et un Bob acteur.
Laisser de trace une série de messages qui coule en arrière:
WhatsApp utilise le protocole XMPP au lieu de la supériorité du protocole, que j'ai décrite ci-dessus, mais vous obtenez le point.
À ma connaissance, Ejabberd (http://www.ejabberd.im/) est le parent, c'est serveur XMPP qui fournissent de très bonnes caractéristiques de l'open source, Whatsapp utilise une version modifiée de ce, facebook de messagerie utilise également une version modifiée de ce. Certains plus d'applications de chat aime Samsung ChatOn, Nimbuzz messenger utilisent tous ejabberd base et Erlang solutions ont aussi version modifiée de ce ejabberd qui ils prétendent être évolutive et testé avec plus des améliorations de performances et renommé en tant que MongooseIM.
Ejabberd est le serveur qui a le plus de la mise en œuvre par rapport à d'autres. Depuis qu'il est à construire en Erlang, il est très extensible horizontalement.