Implemente um banco de dados Apache Cassandra escalável no Kubernetes

Apresentação

As empresas de hoje estão reunindo, armazenando e analisando quantias imensas de dados. O Apache Cassandra é um banco de dados NoSQL de software livre extremamente escalável. Ele é perfeito para gerenciar grandes quantias de dados estruturados, semiestruturados e não estruturados em vários datacenters, servidores de mercadorias e na cloud. O Kubernetes é o sistema de orquestração de containers mais popular do mundo, classificado como um dos projetos mais ativos no GitHub. Nesta jornada, você aprenderá a combinar esses dois sistemas potentes, fazendo uma implementação do Cassandra nativa na cloud no Kubernetes.

Descrição

Esta jornada apresenta toda a força dos clusters do Kubernetes. Ela mostra como é possível implementar o Apache Cassandra (o banco de dados NoSQL mais popular do mundo) no Kubernetes (a plataforma de orquestração de containers mais popular do mundo). Você encontrará um roteiro de implementação completo para um cluster Cassandra escalável com vários nós a partir de clusters Kubernetes do IBM Cloud Container Service. Cada componente do Cassandra é executado em um container ou grupo de containers separado.

Com o sistema distribuído do Apache Cassandra, é possível implementar um grande número de nós em vários datacenters. A arquitetura distribuída do Cassandra foi feita especificamente para implementação, redundância, failover e recuperação de desastre de muitos datacenters. Juntos, esses recursos são uma ótima combinação para uma plataforma de orquestração de containers e proporcionarão todas as vantagens de automação, operação, ajuste de escala e monitoramento.

Fluxo

Fluxograma das etapas para criação do app

  1. O desenvolvedor cria um serviço sem interface com o usuário. Um serviço do Kubernetes é uma abstração, que define um conjunto lógico de pods e uma política para acessá-los. O serviço do Cassandra sem interface com o usuário é usado para formação de cluster Cassandra e descoberta “inicial”.
  2. O desenvolvedor cria um Kubernetes Replication Controller responsável pela criação e pelo ajuste de escala de nós não persistentes de pod de cluster Cassandra. Depois de verificar se um único nó do Cassandra foi criado, o desenvolvedor pode aumentar a escala do cluster Cassandra incluindo mais nós no Replication Controller.
  3. Para criar nós persistentes do Cassandra, o desenvolvedor fornece volumes persistentes com o fornecimento estático, criando volumes com os arquivos fornecidos. O desenvolvedor cria um número de volumes persistentes igual ao número de nós do Cassandra.
  4. O desenvolvedor usa Kubernetes StatefulSets para criar e ajustar a escala de pods de nós de cluster Cassandra persistentes. O StatefulSet é responsável pela implementação ordenada, pela terminação ordenada e pelos nomes exclusivos de rede.
  5. O desenvolvedor usa a Cassandra Query Language (CQL) para criar e atualizar uma tabela de funcionários no espaço de teclas do Cassandra.

Instruções

Pronto para aplicar este padrão de código? Detalhes completos sobre como começar a executar e usar este aplicativo estão no arquivo README.

Aviso

O conteúdo aqui presente foi traduzido da página IBM Developer US. Caso haja qualquer divergência de texto e/ou versões, consulte o conteúdo original.

ANIMESH SINGH
Anthony Amanse
Ishan Gulhane