Tecnologia Retail Rocket
Tecnologia Retail Rocket
A visão da equipe de engenharia de software da Retail Rocket é mudar o mundo do e-commerce e torná-lo verdadeiramente personalizado.
Solicite uma demonstraçãoVisão Geral Retail Rocket:
-
Equipe analítica de mais de 250 servidores em 6 centros de dados diferentes.
-
Mais de 230 milhões de visitantes únicos usam os sites de nossos clientes mensalmente.
-
Mais de 1,000 empresas se conectaram a Retail Rocket ao redor do mundo.
-
Nossos servidores processam mais de 450.000 solicitações de API externas por minuto.
-
Solicitações de API por segundo no pico: 15.000+.
-
Mais de 200 anos homem foram investidos no desenvolvimento da plataforma.
-
Zero dado de clientes perdidos em 8 anos.
Acerca da Ciência de Dados
A essência do trabalho da Retail Rocket é identificar as necessidades de um cliente de uma loja online, analisando seu comportamento (sequência de cliques, consultas de pesquisa, histórico de transações, etc.). Além disso, focamos na matriz de produtos do varejista e também personalizamos a comunicação em qualquer canal (site, app mobile, email, SMS, etc.). Para formar recomendações personalizadas, nossa equipe de ciência de dados desenvolveu uma base matemática escalonável. A seguir estão várias abordagens que usamos hoje:
- Filtragem de Conteúdo
- Estatísticas Bayesianas
- Filtragem Colaborativa
- Algoritmos de personalização híbrida em tempo real
- Análise preditiva baseada em aprendizado de máquina e cadeias de Markov
- Muitas outras.
Tech Stack
Plataforma Analitica
Para aprendizado de máquina, usamos o Spark com base na plataforma Hadoop Yarn - um sistema de computação em cluster que é mais adequado para nossas tarefas atuais. Quanto aos componentes nativos do Hadoop, temos o Apache Kafka para entrega de dados, a biblioteca distribuída do Machine Learning Mahout e o Oozie Task Scheduler.
A equipe do Retail Rocket tem um repositório no GitHub com muitos projetos interessantes: um mecanismo para testes A / B em JavaScript, uma biblioteca Spark MultiTool em Scala, scripts para implantar um cluster Hadoop usando Puppet e outros.
Frontend
Quase tudo que o usuário final recebe é processado em clusters de servidores Linux. O código está escrito em C#, Asp.Net MVC. Todos os dados são armazenados e distribuídos em três sistemas de gerenciamento de banco de dados: Redis, MongoDB e PostgreSQL.
Quando precisamos garantir a interação de componentes distribuídos, por exemplo, ao calcular um segmento de usuário, Thrift é usado. Além disso, para que vários subsistemas recebam um fluxo de dados de lojas online, o transporte Kafka, mencionado acima, é usado.
Processo de desenvolvimento
Em desenvolvimento, nossa equipe segue a metodologia de entrega contínua de novas funcionalidades aos clientes (atualmente mais de 2.000 lojas estão conectadas a nós).
Usamos um pacote de Git + GitLab com os testes de unidade (no início de 2021, tínhamos mais de 3.000 testes), testes de aceitação e revisão de código.