Topologia: A arquitetura dos sistemas distribuídos

Não se pode julgar um livro pela capa, mas é possível julgar a arquitetura de um sistema distribuído por sua topologia.

Se dois sistemas distribuídos são igualmente eficazes, aquele com a topologia mais simples é o que tem a melhor arquitetura? Este artigo compara a arquitetura de dois bancos de dados de documentos e dois armazenamentos de colunas amplas, observando suas topologias.

Loja de colunas largas

Topologia #1

wcs_one

 

Uau. Há muita coisa acontecendo aqui. Há quatro tipos de nós e vários componentes por nó.

Topologia #2

 

wcs_two

Agradável. Simples. Há um tipo de nó.

Qual loja de colunas largas você escolheria?

  • Qual deles será mais fácil de implementar?
  • Qual deles será mais fácil de manter?
  • Qual deles será mais fácil de dimensionar?
  • Qual deles será mais resistente?

Acredito que quanto menos peças móveis, melhor.

Apache HBase

 wcs_hbase

O Apache HBase fica sobre o Apache Hadoop, portanto, há vários tipos de nós e componentes. O Apache Hadoop requer nós de nome e nós de dados para o HDFS. Ele requer rastreadores de trabalho e rastreadores de tarefa para mapear/reduzir. O Apache HBase requer servidores mestre, servidores de região e um cluster do Zookeeper. Os componentes do Apache HBase, HDFS e map / reduce podem ser co-localizados. No entanto, eles não precisam estar.

O servidor mestre e o nó de nome podem ser pontos únicos de falha. Entretanto, vários nós de nomes podem ser implantados, assim como vários servidores mestres. Dito isso, haverá problemas se os nós de nomes não estiverem disponíveis, se os servidores mestres não estiverem disponíveis e/ou se o cluster do Zookeeper não estiver disponível.

Apache Cassandra

 

wcs_cass

Há um tipo de nó. E é só isso. Os clientes se comunicam diretamente com os nós. Não há pontos únicos de falha. Não há dependências de nós independentes ou clusters separados.

Bancos de dados de documentos

Topologia #1

 

doc_db_one

Uau. Há muita coisa acontecendo aqui. Há quatro tipos de nós e duas camadas de agrupamentos lógicos.

Topologia #2

 

doc_db_two

Agradável. Simples. Há um tipo de nó.

Qual banco de dados de documentos você escolheria?

  • Qual deles será mais fácil de implementar?
  • Qual deles será mais fácil de manter?
  • Qual deles será mais fácil de dimensionar?
  • Qual deles será mais resiliente?

Acredito que quanto menos peças móveis, melhor.

MongoDB

 

doc_db_mongo

A topologia do MongoDB é semelhante à topologia do Apache HBase. A diferença é que os clientes não se conectam diretamente aos nós. As solicitações dos clientes são representadas pelos nós do roteador. Os nós do roteador recuperam informações de shard dos nós de configuração. Um fragmento consiste em um conjunto de réplicas. Um conjunto de réplicas consiste em vários nós e um árbitro.

Assim como o Apache HBase, o nó do roteador e o nó de configuração podem ser pontos únicos de falha. Entretanto, assim como o Apache HBase, vários nós de roteador e vários nós de configuração podem ser implantados. Dito isso, haverá problemas se os nós do roteador e/ou os nós de configuração não estiverem disponíveis.

Servidor Couchbase

 

doc_db_cbs

Há um tipo de nó. E é só isso. Os clientes se comunicam diretamente com os nós. Não há pontos únicos de falha. Não há dependências de nós independentes ou clusters separados.

Resumo

Uma arquitetura excelente equilibra flexibilidade e simplicidade. Há valor em uma arquitetura modular. Há valor em uma arquitetura simples. Entretanto, a modularidade não precisa ser refletida na topologia de um sistema distribuído. O Couchbase Server é um sistema modular e distribuído. Uma única instância é composta de vários componentes e vários serviços. No entanto, a modularidade não é imposta aos administradores. Ela é um aspecto do próprio sistema distribuído, não de sua implementação.

Participe da conversa no reddit (link).
Participe da conversa no Hacker News (link).

Compartilhe este artigo
Receba atualizações do blog do Couchbase em sua caixa de entrada
Esse campo é obrigatório.

Autor

Postado por Shane Johnson, diretor de marketing de produtos da Couchbase

Shane K Johnson foi diretor de marketing de produtos da Couchbase. Antes da Couchbase, ele ocupou várias funções de desenvolvimento e evangelismo com experiência em Java e sistemas distribuídos. Ele prestou consultoria a organizações dos setores financeiro, de varejo, telecomunicações e mídia para elaborar e implementar arquiteturas que dependiam de sistemas distribuídos para dados e análises.

2 Comentários

  1. Muito bem escrito! Muito eficaz.

  2. [...] o Couchbase Server oferece apenas o mais alto desempenho, é fácil de dimensionar (link) e é consistente [...]

Deixe um comentário

Pronto para começar a usar o Couchbase Capella?

Iniciar a construção

Confira nosso portal do desenvolvedor para explorar o NoSQL, procurar recursos e começar a usar os tutoriais.

Use o Capella gratuitamente

Comece a trabalhar com o Couchbase em apenas alguns cliques. O Capella DBaaS é a maneira mais fácil e rápida de começar.

Entre em contato

Deseja saber mais sobre as ofertas do Couchbase? Deixe-nos ajudar.