Casa > O > O Que É A Pilha De Tecnologia Por Trás Do Slack?

O que é a pilha de tecnologia por trás do Slack?

O sistema Slack é composto por muitos serviços e aplicações diferentes. Temos 3 clientes principais:

* Nosso cliente web é escrito em uma mistura de JavaScript e ES6, com React. Nós usamos Electron para enviá-lo como uma aplicação desktop

* Nosso cliente Android é escrito em uma mistura de Java e Kotlin

* Nosso cliente iOS é escrito em uma mistura de Objective C e Swift

No backend, temos nossa aplicação principal que alimenta o slack.com e nossa API, que é escrita em PHP/Hacklang rodando em HHVM. Nós armazenamos dados no MySQL usando Vitess. Para caching, usamos Memcached e MCRouter. Nosso serviço de busca é baseado em SolrCloud, com vários serviços Java para ranking. Nosso sistema de mensagens em tempo real utiliza WebSockets e é composto por muitos serviços escritos em Java e Go. Utilizamos HAproxy para balanceamento de carga e Consul para configuração e descoberta de alguns serviços. A maioria dos nossos serviços falam uns com os outros através do gRPC, embora também tenhamos algum Thrift e JSON-over-HTTP. Nosso serviço de voz e videochamada é construído em Elixir. Alguns serviços diferentes também são escritos em Node. Nosso sistema de fila de tarefas async é construído em Kafka e Redis.

Nosso armazém de dados é construído em ferramentas de código aberto, incluindo Presto, Spark, Airflow, Hadoop e Kafka. Para configuração e gestão de servidores usamos Terraform, Chef e Kubernetes. Utilizamos o Prometheus para as métricas das séries temporais e ELK para o registo. O Slack está largamente alojado no AWS, em muitas regiões a nível global.

De Robert

Como funciona a publicidade de aplicativos? :: O que é um bom método matemático para determinar rapidamente a idade de alguém a partir de uma data de nascimento conhecida?