Aprenda SpringCloudAlibaba (2) dividindo e escrevendo microsserviços

Índice

1. Arquitetura monolítica VS arquitetura de microsserviços

1. Arquitetura monolítica

(1).Vantagens da arquitetura monolítica

(2).Desvantagens da arquitetura monolítica

 2. Arquitetura de microsserviços

 (1) Características dos microsserviços

 (2) Diagrama de arquitetura de microsserviços

 (3) Vantagens dos microsserviços

 (4) Desvantagens dos microsserviços

 (5) Cenários aplicáveis ​​para microsserviços

 (6) Cenários onde os microsserviços não são aplicáveis 

2. Dividir microsserviços

1. Divisão de microsserviços – metodologia

(1) Design Orientado a Domínio

(2) Orientado a objetos (por nome/por verbo) 

2 Divisão de microsserviços – comumente usada

(1) Divisão de acordo com responsabilidades

(2) Dividido pela versatilidade

3 Divisão de microsserviços – granularidade razoável

3. Processo real do projeto


1. Arquitetura monolítica VS arquitetura de microsserviços

1. Arquitetura monolítica

(1).Vantagens da arquitetura monolítica

  • Arquitetura simples
  • Fácil de desenvolver, testar e implantar

(2).Desvantagens da arquitetura monolítica

  • A redundância de código e a qualidade irregular levam a uma alta complexidade de operação e manutenção
  • A implantação é lenta, completa, de baixa frequência e mais óbvia quando a quantidade de código é grande.
  • Capacidades de expansão limitadas
  • Impedindo a inovação tecnológica, o risco de refatoração de código é extremamente alto

 2. Arquitetura de microsserviços

 (1) Características dos microsserviços

  • Cada microsserviço pode ser executado em seu próprio processo, o que significa que cada microsserviço tem seu próprio tomcat
  • Cada microsserviço pode ser executado de forma independente e trabalhar em conjunto para construir todo o sistema
  • Cada serviço é desenvolvido para um negócio independente, e um microsserviço concentra-se apenas em uma função específica, como gerenciamento de pedidos e gerenciamento de usuários.
  • Podem ser utilizadas diferentes linguagens e tecnologias de armazenamento de dados (adequadas à situação do projeto e à força da equipe)
  • Os microsserviços se comunicam entre si por meio de mecanismos de comunicação leves, como chamadas por meio da API REST. Mecanismo de comunicação leve, o protocolo de comunicação precisa ser leve e multiplataforma
  • Mecanismo de implantação totalmente automatizado. Automatize compilações, implantações, testes e muito mais.

 (2) Diagrama de arquitetura de microsserviços

  (3) Vantagens dos microsserviços

  • Um único serviço é mais fácil de desenvolver/manter, um único serviço é um negócio limitado.
  • Um único microsserviço inicia rapidamente
  • Modificações locais são fáceis de implantar
  • Pilha de tecnologia ilimitada
  • Dimensione sob demanda

 (4) Desvantagens dos microsserviços

  • Os requisitos de operação e manutenção são altos e vários jars devem ser operados e mantidos, portanto, é necessário um mecanismo de implantação de operação e manutenção totalmente automático.
  • A complexidade inerente à distribuição
  • Trabalho duplicado, na mesma linguagem de desenvolvimento, um total de módulos comuns podem ser extraídos, mas é impossível implementá-lo em linguagens diferentes, e ainda precisa ser repetido

 (5) Cenários aplicáveis ​​para microsserviços

  • Projetos grandes/complexos. Se seu aplicativo puder ser tratado com uma arquitetura monolítica, não há necessidade de exagerá-lo.
  • É necessária uma iteração rápida
  • Com alta pressão de acesso, os microsserviços são descentralizados.

 (6) Cenários onde os microsserviços não são aplicáveis 

  • Negócios estão estáveis ​​e a demanda dificilmente mudará
  • O ciclo de iteração é longo e não há necessidade de iteração rápida

2. Dividir microsserviços

1. Divisão de microsserviços – metodologia

( 1) Design orientado por domínio ( Domain Driven Design )

Dois livros são recomendados:

"O criador do DDD"

"Implementando Design Orientado a Domínio"

(2) Orientado a objetos ( por nome/  por verbo

Dividido por substantivo ou verbo

2 Divisão de microsserviços – comumente usada

(1) Divisão de acordo com responsabilidades

Planeje os limites de responsabilidade dos microsserviços e concentre-se apenas nos negócios dentro do escopo das responsabilidades, como serviços de pedidos.

(2) Dividido pela versatilidade

Transforme funções universais em microsserviços, como centro de usuários e centro de mensagens.As grandes e pequenas plataformas do Alibaba são, na verdade, baseadas na universalidade, mas a plataforma intermediária é uma agregação de vários microsserviços.

3 Divisão de microsserviços – granularidade razoável

  • satisfazer bem os negócios
  • Uma sensação de felicidade. A manutenção de microsserviços pela equipe não parecerá tão redundante e complicada como uma única entidade, e a implantação será eficiente.
  • Iteração incremental, cada microsserviço é relativamente independente e cada versão é apenas um número limitado de microsserviços
  • Evolução contínua, otimização tecnológica, risco controlável
  • A divisão de microsserviços é dinâmica e pode aumentar ou diminuir com o tempo.

3. Processo real do projeto

1. Analisar negócios (fluxogramas, diagramas de casos de uso, diagramas de arquitetura, etc.) A principal tarefa é modelar negócios e determinar a arquitetura.

2. Determine o processo de negócios (revisão)

3. Projetar API (quais APIs eu preciso)/modelo de dados (projeto de estrutura de tabela | diagrama de classes | diagrama ER, etc.)

4. Escrever API

Acho que você gosta

Origin blog.csdn.net/heni6560/article/details/128846305
Recomendado
Clasificación