Capítulo 14. Técnicase padrões de sistemas distribuídos
Este trabalho foi traduzido com recurso a IA. Agradecemos o teu feedback e comentários: translation-feedback@oreilly.com
Neste capítulo, vamos introduzir algumas técnicas fundamentais dos sistemas distribuídos. Algumas delas são generalizações dos padrões concorrentes que já conhecemos, mas outras são novas abstrações causadas por uma ou mais das falácias da computação distribuída enumeradas por L. Peter Deutsch e James Gosling em meados da década de 1990.
As falácias são:
-
A rede é fiável.
-
A latência é zero.
-
A largura de banda é infinita.
-
A rede é segura.
-
A topologia não muda.
-
Existe um administrador.
-
O custo de transporte é zero.
-
A rede é homogénea.
Além disso, estilos de arquitetura como a arquitetura orientada para os serviços (SOA) e as arquitecturas de microsserviços podem aumentar significativamente o número de ligações distribuídas, o que, por sua vez, aumenta o impacto potencial das falácias.
Ou seja, podemos descobrir que, apesar de termos distribuído a nossa aplicação como forma de a otimizar e permitir a sua escalabilidade, fizemos exatamente o contrário, porque não tivemos em conta uma ou mais das falácias. Para contrariar esta possibilidade, precisamos de algumas ferramentas e técnicas que nos ajudem a imunizar do impacto das falácias.
Neste capítulo, apresentaremos várias destas tecnologias úteis e indicaremos quais as falácias que são relevantes para cada caso. A nossa primeira secção aborda ...