Casa > Q > Que Tecnologia É Utilizada No Whatsapp?

Que tecnologia é utilizada no WhatsApp?

Source : A Arquitectura WhatsApp Facebook Bought For $19 Billion - High Scalability

Aqui está a explicação geral a partir do link

>ul>>li>WhatsApp server is almost completely implemented in Erlang.Server systems that do the backend message routing are done in Erlang.>li>Li>Uma grande conquista é que o número de utilizadores activos é gerido com uma pegada de servidor realmente pequena. O consenso da equipe é que é em grande parte devido ao Erlang.Interesting to note Facebook Chat foi escrito em Erlang em 2009, mas eles se afastaram dele porque era difícil encontrar programadores qualificados.WhatsServidor App começou de ejabberd>li>Ejabberd é um famoso servidor Jabber de código aberto escrito em Erlang.>li>li>Originalmente escolhido porque é aberto, teve grandes revisões por parte dos desenvolvedores, facilidade de início e a promessa de adequação a longo prazo de Erlang para grandes sistemas de comunicação.Os anos seguintes foram gastos reescrevendo e modificando algumas partes do ejabberd, incluindo a mudança do XMPP para o protocolo desenvolvido internamente, reestruturando a base de código e redesenhando alguns componentes principais, e fazendo muitas modificações importantes no Erlang VM para otimizar a performance do servidor.Para lidar com 50 bilhões de mensagens por dia o foco está em fazer um sistema confiável que funcione. A monetização é algo para ser visto mais tarde, é muito longe na estrada. Um indicador primário da saúde do sistema é o comprimento da fila de mensagens. O comprimento da fila de mensagens de todos os processos em um nó é constantemente monitorado e um alerta é enviado se eles acumularem backlog além de um limite pré-definido. Se um ou mais processos ficarem para trás, o que dá um ponteiro para o próximo gargalo a ser atacado.>li>Multimedia messages are sent by uploading the image, audio or video to be sent to an HTTP server and then sending a link to the content along with its Base64 encoded thumbnail (if applicable).Some código é normalmente empurrado todos os dias. Muitas vezes, é várias vezes ao dia, embora em geral sejam evitados horários de pico de tráfego. O Erlang ajuda a ser agressivo na obtenção de correções e recursos em produção. Carregamento a quente significa que as atualizações podem ser empurradas sem reinicializações ou mudanças de tráfego. Erros geralmente podem ser corrigidos muito rapidamente, novamente através de carregamento a quente. Os sistemas tendem a ser muito mais frouxamente acoplados, o que faz com que seja muito fácil fazer mudanças de forma incremental.li>Que protocolo é usado no aplicativo Whatsapp? Soquete SSL para os pools do servidor WhatsApp. Todas as mensagens são enfileiradas no servidor até o cliente se reconectar para recuperar as mensagens. A recuperação bem sucedida de uma mensagem é enviada de volta para o servidor Whatsapp que reencaminha este estado de volta para o remetente original (que verá isso como um ícone de "checkmark" ao lado da mensagem). As mensagens são apagadas da memória do servidor assim que o cliente aceita a mensagem>li>Como funciona internamente o processo de registo no Whatsapp? O WhatsApp utilizou para criar um nome de utilizador/senha com base no número IMEI do telefone. Isto foi alterado recentemente. O WhatsApp utiliza agora um pedido geral da aplicação para enviar um PIN único de 5 dígitos. O WhatsApp enviará então um SMS para o número de telefone indicado (isto significa que o cliente WhatsApp já não precisa de funcionar no mesmo telefone). Com base no número PIN, a aplicação solicita então uma chave única ao WhatsApp. Esta chave é utilizada como "password" para todas as chamadas futuras. (esta tecla "permanente" é guardada no dispositivo). Isto também significa que o registo de um novo dispositivo invalidará a chave no dispositivo antigo.

De Ebeneser Thibault

O que é o FM WhatsApp? :: Para baterias de polímero de lítio, devo carregar totalmente o smartphone a partir de 20% da bateria restante?