Autor: Zen e a arte da programação de computadores
A "escalabilidade de dados" é um conceito importante na computação em nuvem. Com o desenvolvimento dos negócios empresariais na Internet, o número de usuários do site aumentou gradualmente e um único banco de dados não pode armazenar tantos dados. Portanto, os dados precisam ser distribuídos para diferentes servidores para melhorar o poder de processamento, a capacidade de armazenamento e o desempenho do sistema. Além disso, devido ao rápido desenvolvimento dos negócios, o desempenho de um único banco de dados não pode atender à demanda, e uma estratégia de sub-banco de dados e tabela precisa ser introduzida para a divisão horizontal.
A arquitetura tradicional de aplicativo único não pode implementar subbancos de dados e tabelas, portanto, só pode ser implantada em um servidor. Isso resulta em desempenho insuficiente do sistema e dificuldade em lidar com aumentos repentinos de tráfego. Portanto, para atender aos crescentes requisitos de dados e negócios, é necessário adotar uma arquitetura de microsserviços e refinar a aplicação por função ou módulo de negócios. Cada módulo é implantado em um servidor diferente e os dados dos diferentes módulos são acessados por meio de API • Obtenha expansão flexível de dados.
Além da divisão de dados, a arquitetura de microsserviços pode ser usada para oferecer suporte a maior simultaneidade e rendimento. Na arquitetura de microsserviços, cada microsserviço pode ser implantado de forma independente e comunicar-se por meio de API para obter expansão horizontal. Ao mesmo tempo, os dados podem ser processados de forma assíncrona através da fila de mensagens para melhorar ainda mais a velocidade de resposta e o rendimento do sistema.
Este artigo descreve como usar arquitetura de microsserviços e soluções de armazenamento de dados para resolver problemas de escalabilidade de dados. Inclui principalmente os seguintes aspectos:
- Projeto de modelo de dados
- Padrões de design de banco de dados distribuído
- Projeto de gerador de ID distribuído
- Seleção e configuração da fila de mensagens
- Mecanismo de descoberta de registro de serviço
- Conjuntos de dados de teste e ferramentas de teste
- resumo
2. Explicação de conceitos e termos básicos
2.1 Projeto do modelo de dados
Primeiramente, é necessário esclarecer as características dos dados empresariais. De acordo com as características do negócio da empresa, determine a estrutura de dados que o sistema necessita armazenar. Por exemplo, para uma plataforma de comércio eletrônico, pode ser necessário armazenar informações sobre usuários, pedidos, produtos e outras informações relacionadas; para um sistema operacional, pode ser necessário armazenar registros estatísticos, dados de retrato do usuário, dados operacionais, etc.;