Skip to content

Você sabe o que é distributed streaming platform?

No artigo de hoje falo o que é distributed streaming platform com um exemplo no mundo real e os perigos de tentar re-inventar a roda.

Antes de começar a explicar de fato o que o assunto deste artigo é, vou antes tentar fazer você pensar no problema que ele tenta resolver.

O sistema que você implementa/mantém está nesse nível?

Claro que a imagem acima seria um exagero para o tipo de sistema que trabalhamos, mas para Netflix não. A imagem acima é a quantidade de serviços que a mesma tem. Quando falo serviços, me refiro aos chamados micro-serviços.

Digamos que você não trabalhe em um sistema assim, mas em um sistema que possua módulos independentes. A pergunta que faço é: Como você trata a troca de mensagens que os módulos do seu sistema faz um com o outro?

Hoje na empresa que trabalho temos 3 módulos, cada um é uma aplicação com o seu próprio banco de dados.

Como podem ver, cada módulo precisa se comunicar com os outros dois módulos e até aí é muito fácil. Faço um HttpClient via POST ou PUT e posso criar ou atualizar alguma informação no outro módulo.

Mas e se… Digamos que dada uma feature que quando criada no módulo 1, deve ser sinalizado no módulo 2 e este por algum motivo esteja indisponível, o que faço?

Sabemos que na computação vários problemas podem acontecer, desde lentidão a falta de energia. Mas isso não é um problema que deve preocupar os nosso usuário e sim a nós, os DEVs.

Para resolver esse problema de forma fácil, podemos criar uma tabela de sincronia para assim saber se aquela informação foi ou não enviada para o módulo em questão. Essa é uma ideia boa e não deve ser descartada. Mas que tal não re-inventar a roda?

Para isso existe distributed streaming platform. Mas o que é isso?

Imagina o correios brasileiro (mas imagina a parte boa), é basicamente isso. Quando você quer enviar alguma coisa, você se preocupa apenas em colocar no correios. Daí para frente ele se encarrega de entregar e se certifica que foi entregue. Você pode não estar em casa, o correios volta outro dia para entregar.

O conceito de distributed stream platform é igual do correios, você insere uma mensagem que será entregue a quem se inscrever naquele canal. Eu posso postar uma mensagem que será lida por vários inscritos, não preciso ficar postando manualmente para cada indivíduo.

“Há, mas é igual a ideia da tabela de sincronia”. Sim, é sim, só que melhor! Uma vez que uma das suas funcionalidades é trabalhar em alta escala e foi construído para funcionar em tempo real. Dependendo da forma que você constrói, vai ter que duplicar o mesmo código em todos os módulos. Ai eu te pergunto, vale a pena re-inventar a roda?

Em um próximo post vou explicar como essas características são tratadas em distributed streaming platform e como isso é possível.

Então termino aqui e espero que tenham gostado.

Quer ganhar um cupom para fazer um curso de TDD a um preço muito mais barato? Então clique no link que você automaticamente já ganha e hoje mesmo inicia o curso.

Published inSem categoria

Be First to Comment

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *