Implantar um Cluster do Apache Cassandra Altamente Disponível
O Apache Cassandra é um banco de dados NoSQL de código-fonte aberto. Ele é dimensionado linearmente e os dados são replicados automaticamente para vários nós. Execute seus clusters do Apache Cassandra no Oracle Cloud Infrastructure e aproveite a confiabilidade, a segurança e a flexibilidade operacional de nível empresarial.
Arquitetura
Esta arquitetura de referência mostra uma implantação de 6 nós de um cluster do Apache Cassandra em execução nas instâncias de computação do Oracle Cloud Infrastructure.

Descrição da ilustração cassandra-oci.eps
A arquitetura tem os seguintes componentes:
- Região
Uma região do Oracle Cloud Infrastructure é uma área geográfica localizada que contém um ou mais data centers, chamados domínios de disponibilidade. As regiões são independentes de outras regiões e grandes distâncias podem separá-las (entre países ou mesmo continentes).
Todos os componentes desta arquitetura são implantados em uma única região.
- Domínios de disponibilidade
Os domínios de disponibilidade são data centers independentes e independentes em uma região. Os recursos físicos em cada domínio de disponibilidade são isolados dos recursos nos outros domínios de disponibilidade, o que fornece tolerância a falhas. Os domínios de disponibilidade não compartilham infraestrutura, como energia ou resfriamento, ou a rede de domínio de disponibilidade interna. Portanto, é improvável que uma falha em um domínio de disponibilidade afete os outros domínios de disponibilidade da região.
- Domínios com falha
Um domínio de falha é um agrupamento de hardware e infraestrutura dentro de um domínio de disponibilidade. Cada domínio de disponibilidade tem três domínios de falha com energia e hardware independentes. Quando você distribui recursos entre vários domínios de falha, seus aplicativos podem tolerar falhas físicas do servidor, manutenção do sistema e falhas de energia dentro de um domínio de falha.
- Rede virtual na nuvem (VCN) e sub-redes
Um VCN é uma rede personalizável definida por software que você configura em uma região do Oracle Cloud Infrastructure. Como as redes tradicionais de data center, as VCNs oferecem controle total sobre seu ambiente de rede. Um VCN pode ter vários blocos CIDR não sobrepostos que você pode alterar depois de criar o VCN. Você pode segmentar uma VCN em sub-redes, que podem ter escopo para uma região ou para um domínio de disponibilidade. Cada sub-rede consiste em uma faixa contígua de endereços que não se sobrepõem às outras sub-redes na VCN. Você pode alterar o tamanho de uma sub-rede após a criação. Uma sub-rede pode ser pública ou privada.
- Cluster do Apache Cassandra
Esta arquitetura mostra um cluster do Apache Cassandra que consiste em três nós pré-implantados e três nós não pré-implantados em execução nas instâncias do Oracle Cloud Infrastructure Compute. Os nós são distribuídos pelos domínios de falha dentro de um único domínio de disponibilidade. Todas as instâncias de computação são anexadas a uma única sub-rede pública.
- Gateway de Internet
O gateway de internet nesta arquitetura permite o tráfego entre a sub-rede pública e a internet pública.
- Listas de segurança
Para cada sub-rede, você pode criar regras de segurança que especifiquem a origem, o destino e o tipo de tráfego que deve ser permitido dentro e fora da sub-rede.
Essa arquitetura inclui regras de entrada para portas TCP 7000, 7001, 7199, 9042 e 9160. O Apache Cassandra usa a porta 7000 para comunicação entre clusters (ou a porta 7001 se SSL estiver ativado) e a porta 7199 para JMX. A porta 9042 é a porta do cliente e 9160 é a porta de transporte nativa.
- Tabela de roteamento
As tabelas de roteamento virtuais contêm regras para rotear o tráfego de sub-redes para destinos fora de uma VCN, geralmente por meio de gateways.
Recomendações
Seus requisitos podem ser diferentes da arquitetura descrita aqui. Use as recomendações a seguir como ponto de partida.
- Formato de computação e SO
O modelo Terraform fornecido para esta arquitetura implanta instâncias de computação que executam o Oracle Linux 7.8. Escolha uma forma apropriada para as instâncias de computação, dependendo dos seus requisitos. Quanto mais memória um nó do Apache Cassandra tiver, melhor será o desempenho de leitura. Um número maior de CPUs se traduz em melhor desempenho de gravação.
- VCN
Ao criar uma VCN, determine o número de blocos CIDR necessários e o tamanho de cada bloco com base no número de recursos que você planeja anexar a sub-redes na VCN. Use blocos CIDR que estejam dentro do espaço de endereço IP privado padrão.
Selecione blocos CIDR que não se sobreponham a nenhuma outra rede (no Oracle Cloud Infrastructure, seu data center local ou outro provedor de nuvem) para a qual você pretenda configurar conexões privadas.
Depois de criar um VCN, você poderá alterar, adicionar e remover seus blocos CIDR.
Ao projetar as sub-redes, considere o fluxo de tráfego e os requisitos de segurança. Anexe todos os recursos de uma camada ou função específica à mesma sub-rede, que pode servir como um limite de segurança.
Use uma sub-rede regional.
- Segurança
-
Use o Oracle Cloud Guard para monitorar e manter a segurança de seus recursos no Oracle Cloud Infrastructure proativamente. O Cloud Guard usa receitas de detectores que você pode definir para examinar seus recursos quanto a deficiências de segurança e monitorar operadores e usuários quanto a atividades arriscadas. Quando qualquer configuração incorreta ou atividade insegura é detectada, o Cloud Guard recomenda ações corretivas e auxilia na execução dessas ações, com base nas receitas do respondedor que você pode definir.
-
Para recursos que exigem segurança máxima, a Oracle recomenda que você use zonas de segurança. Uma zona de segurança é um compartimento associado a uma receita definida pela Oracle de políticas de segurança baseadas nas melhores práticas. Por exemplo, os recursos em uma zona de segurança não devem ser acessíveis pela internet pública e devem ser criptografados usando chaves gerenciadas pelo cliente. Quando você cria e atualiza recursos em uma zona de segurança, o Oracle Cloud Infrastructure valida as operações em relação às políticas na receita da zona de segurança e nega operações que violem qualquer uma das políticas.
-
Considerações
Ao implementar essa arquitetura, considere os seguintes fatores:
- Escalabilidade
Esta arquitetura implanta um nó semente do Apache Cassandra e um nó não semente em cada domínio de falha. Talvez você precise de mais nós para atender aos requisitos de desempenho ou alta disponibilidade do aplicativo.
Você pode dimensionar o cluster do Apache Cassandra horizontalmente adicionando mais instâncias de computação. Você pode distribuir os nós pré-implantados pelos domínios de falha.
Você pode dimensionar o cluster verticalmente alterando a forma de cada instância de computação. O uso de uma forma com uma contagem de núcleos maior aumenta a memória alocada para a instância de computação e sua largura de banda de rede.
- Disponibilidade do aplicativo
Nesta arquitetura, as instâncias de computação que executam as mesmas tarefas são distribuídas redundantemente por vários domínios de falha. Esse design elimina qualquer ponto de falha na topologia.
Depois que a arquitetura for implantada, você poderá estabelecer conexão com o endereço IP público dos nós do Apache Cassandra usando ferramentas SSH, como PuTTY ou Git Bash. Você pode usar a CQL (Cassandra Query Language) para operações DDL e DML no banco de dados do Apache Cassandra.
- Custo
Uma forma bare metal fornece melhor desempenho de leitura e gravação. Se o aplicativo não precisar de alto desempenho, você poderá selecionar uma forma de VM com base nos núcleos, memória e largura de banda de rede necessários para o banco de dados. Você pode começar com uma forma de 1 núcleo para os nós do Apache Cassandra e alterar a forma posteriormente se precisar de mais desempenho, memória ou largura de banda da rede.
Implantar
O código necessário para implantar esta arquitetura de referência está disponível no GitHub. Você pode inserir o código no Oracle Cloud Infrastructure Resource Manager com um único clique, criar a pilha e implantá-la. Como alternativa, faça download do código do GitHub para o seu computador, personalize-o e implante a arquitetura usando a CLI do Terraform.
- Implantar usando o Oracle Cloud Infrastructure Resource Manager:
- Clique em
Se você ainda não tiver efetuado sign-in, informe as credenciais da tenancy e do usuário.
- Analise e aceite os termos e as condições.
- Selecione a região em que deseja implantar a pilha.
- Siga os prompts e as instruções na tela para criar a pilha.
- Depois de criar a pilha, clique em Ações do Terraform e selecione Plano.
- Aguarde a conclusão do job e revise o plano.
Para fazer alterações, retorne à página Detalhes da Pilha, clique em Editar Pilha e faça as alterações necessárias. Em seguida, execute a ação Plano novamente.
- Se nenhuma outra alteração for necessária, retorne à página Detalhes da Pilha, clique em Ações do Terraform e selecione Aplicar.
- Clique em
- Implante usando a CLI do Terraform:
- Vá para o GitHub.
- Clone ou faça download do repositório no seu computador local.
- Siga as instruções no documento
README
.
Log de Alterações
Este log lista alterações significativas:
4 de fevereiro de 2021 |
|