Entendendo Sistemas Distribuídos: O Papel de um Barramento e Seus Padrões

Em um mundo onde temos a tecnologia totalmente disseminada em nosso dia-a-dia, é um fato que os sistemas de computadores tornam-se cada vez mais complexos. Escalar e manter sistemas distribuídos de forma eficiente tornou-se um desafio constante.

Sistemas Distribuídos é uma disciplina de cursos de Ciência da Computação e Engenharia de Computação. Então trata-se de uma parte da ementa. Neste artigo vamos dar foco apenas em conceitos introdutórios e generalistas, com foco em um público mais voltado a negócios, Project Mangers, Product Owners. Mas se você é estudante ou técnico você pode estudar esta matéria completa, inclusive existe um conteúdo muito bom da UNIVESP no youtube, vou deixar o link no final do artigo.

Me motivei a escrever este artigo, pois estou atuando em um projeto no trabalho de integrações Salesforce com um barramento, e me lembrei dos tempos de Faculdade 🙂 Também de alguns amigos que trabalhavam comigo na IBM (Laranjeira, Helião e outros) que atuavam no time de Middleware lá em meados de 2013

O que são Sistemas Distribuídos?

Sistemas distribuídos são conjuntos de serviços independentes que se comunicam entre si por meio de redes, com o objetivo de formar uma solução unificada. Eles oferecem escalabilidade, tolerância a falhas e flexibilidade, mas trazem consigo desafios como consistência, latência e orquestração.

É nesse cenário que os barramentos de integração (ou Enterprise Service Bus – ESB) e seus padrões entram em cena como peças-chave da arquitetura moderna.

O Barramento como Orquestrador

O barramento atua como um mediador inteligente entre serviços. Em vez de cada sistema conversar diretamente com os outros (o famoso ponto a ponto ou P2P), eles se comunicam com o barramento, que é responsável por rotear mensagens, transformar formatos, aplicar regras de negócio e garantir a confiabilidade da troca de dados.

Entre os benefícios estão:

  • Desacoplamento: serviços não precisam conhecer uns aos outros.
  • Escalabilidade: novas aplicações podem ser plugadas sem impacto direto.
  • Governança centralizada: logs, monitoramento e controle em um único ponto.
Padrões de Integração mais Utilizados
  1. Publish/Subscribe (Pub/Sub)
    Um dos padrões mais comuns em arquiteturas orientadas a eventos. Os produtores publicam eventos, e consumidores que se inscreveram recebem as mensagens. Ideal para desacoplar serviços e promover escalabilidade horizontal.
  2. Request/Reply (Sincrono)
    Um padrão onde um sistema envia uma solicitação e espera uma resposta. Apesar de simples, pode se tornar um gargalo em sistemas distribuídos se usado em excesso.
  3. Event Sourcing
    Em vez de manter apenas o estado atual, esse padrão armazena todos os eventos que aconteceram no sistema. Permite reconstruir estados e auditoria completa.
  4. Command Query Responsibility Segregation (CQRS)
    Separa operações de leitura e escrita, permitindo otimizações específicas para cada tipo de operação.
  5. Message Routing e Transformation
    O barramento pode aplicar padrões de roteamento e transformação de mensagens com base em regras ou conteúdo, evitando que os sistem
    as finais lidem com essa complexidade.
Conclusão

A escolha do padrão e do barramento certo depende do contexto do seu sistema. Em arquiteturas modernas, muitas vezes vemos a combinação de diferentes padrões — com mensagens assíncronas para eventos, sincronismo para comandos críticos e até o uso de event-driven architectures com brokers como Kafka, NATS ou Google Pub/Sub.

Sistemas distribuídos bem desenhados não são apenas sobre tecnologia, mas sobre boas decisões arquiteturais. E entender o papel do barramento é um excelente primeiro passo.

Abaixo, aula completa da UNIVESP sobre sistemas distribuídos

Deixe um comentário

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