Redis
O Redis é usado como cache compartilhado entre os diversos módulos do Serprobots.
Sua principal função é manter o contexto de conversa, uma vez que o serviço de um chatbot é stateless. Toda vez que que uma mensagem do usuário chega, o Gateway, que é um interceptador de toda a comunicação com chatbots da plataforma, recupera o contexto da conversa no Redis, manda esse contexto junto com a mensagem pro chatbot responder, e ao obter a resposta pode também atualizar esse contexto com alguma nova informação.
No ambiente de Produção o Redis possui duas máquinas,é utilizado o recurso de Redis Sentinel que funciona identificando automaticamente a máquina coordenadora, de modo que caso ela falhe, a outra máquina assume e a comunicação passa a ser feita com essa outra.
Persistência
Não é usado Redis Persistente, logo, há o risco de que se houver um crash momentâneo que afete todas as máquinas do serviço, conversas que ocorriam naquele momento terão seu contexto perdido e ficarão inválidas.