HeadlinesBriefing HeadlinesBriefing.com

Por que sistemas distribuídos preferem independência à

ByteByteGo •
×

Em um sistema distribuído, os componentes são executados em processos separados ou em máquinas distintas. Esses componentes podem ser serviços de aplicação, réplicas de banco de dados ou workers em segundo plano. Como o sistema é dividido em tantas partes, é comum que um componente precise se comunicar com outro para realizar algo e talvez tenha que aguardar a resposta desse componente.

Você pode pensar na coordenação como essa comunicação entre componentes. Por exemplo, um serviço pode esperar que outro aprove uma solicitação. Um banco de dados pode esperar a confirmação de suas réplicas. Um worker pode esperar por um lock. Cada uma dessas esperas adiciona dependência, e é aí que os sistemas distribuídos enfrentam problemas.

Este artigo examina por que a coordenação é um desafio para sistemas distribuídos. Ele aborda por que a coordenação se torna difícil, como ela cresce à medida que o sistema escala e como pode ser reduzida. Projetistas que minimizam os pontos em que os componentes precisam esperar uns pelos outros podem construir sistemas mais resilientes, mais escaláveis e mais fáceis de operar.

A ideia central é que a independência geralmente é preferível à coordenação. Quando um componente pode avançar por conta própria, sem esperar pelos outros, o sistema tende a tolerar falhas, picos de latência e carga de forma mais elegante. As estratégias para lidar com a coordenação, quando ela não pode ser evitada, são o foco das seções seguintes.

Fonte: ByteByteGo · Resumido por HeadlinesBriefing