Diretório
Etapa 1: criar um site em um único local
Fase 2: configuração de cluster do servidor de aplicativos
Fase 3: configuração do cluster do servidor de aplicativos nginx +
Fase 4: cluster nginx + configuração do cluster do servidor de aplicativos + HA
Fase 5: configuração de cluster do servidor CDN + Varnish
Fase 6: Separação da leitura e gravação do banco de dados
Etapa 7: nosql + mecanismo de pesquisa distribuído
Etapa 8: nosql (HA) + sub-tabela de sub-biblioteca + MyCat
Estágio 9: Sistema de Arquivos Distribuídos
Etapa 10: Divisão do serviço de aplicativo + middleware de mensagem
Fase 11: arquitetura de microsserviço
cartão de primavera tecnologia de nuvem
Etapa 1: criar um site em um único local
Fase 2: configuração de cluster do servidor de aplicativos
Fase 3: configuração do cluster do servidor de aplicativos nginx +
O nginx resolve o problema de qual servidor a solicitação do usuário é encaminhada para
Fase 4: cluster nginx + configuração do cluster do servidor de aplicativos + HA
Para evitar falhas de ponto único do nginx, o lvs resolve o balanceamento de carga, o keepAlived garante alta disponibilidade do nginx
Fase 5: configuração de cluster do servidor CDN + Varnish
Coloque recursos estáticos que raramente mudam para verniz. Algum conteúdo pode ser encontrado diretamente em verniz sem procurar o tomcat.
Grandes fabricantes podem usar CDN para distribuição de conteúdo (semelhante ao verniz)
Fase 6: Separação da leitura e gravação do banco de dados
Etapa 7: nosql + mecanismo de pesquisa distribuído
Acelere ainda mais a operação de consulta
Etapa 8: nosql (HA) + sub-tabela de sub-biblioteca + MyCat
Use mycat para dividir o mysql em tabelas e tabelas para acelerar a operação
Configuração de cluster Redis com Codis
Estágio 9: Sistema de Arquivos Distribuídos
As imagens podem ser colocadas em um sistema de arquivos distribuído
Etapa 10: Divisão do serviço de aplicativo + middleware de mensagem
Serviço dividido, use filas de mensagens diferentes para se comunicar entre diferentes serviços
Fase 11: arquitetura de microsserviço
cartão de primavera tecnologia de nuvem
Toda a tecnologia de desenvolvimento é baseada principalmente no SprinaCloud, e o módulo de microsserviço é desenvolvido com a combinação de SpringMVC + SpringBoot / Spring + MyBatis
Camada front-end , página H5 + thymeleaf / estilo CSS3 + Bootstrap / framework front-end JQuery + Node / Vue, etc.
Na camada de carga , o acesso front-end atinge o LB do servidor através do protocolo Http ou Https. Pode ser o F5 e outro hardware para balanceamento de carga, e você também pode implantar o LVS + Keepalived por si mesmo.
Na camada de gateway , após a solicitação passar pelo LB, ele alcançará a camada de gateway Zuul (Gateway) de todo o sistema de microsserviço e a Faixa de Opções será incorporada como cliente
Balanceamento de carga , o Hystrix funde o downgrade e outro registro de serviço, usa o Eureka para governança de serviço, o Zuul obtém o endereço de acesso ao microsserviço publicado do cluster Eureka e, em seguida, proxy a solicitação ao microsserviço correspondente de acordo com a configuração
Contêineres do Docker , todos os módulos de microsserviço são implantados nos contêineres do Docker e os serviços de front-end e back-end são completamente separados. Os microsserviços de front-end chamam os microsserviços de back-end após a implantação independente.
A chamada de serviço e a chamada entre os módulos de microsserviço usam o método Http / Https + REST + JSON padrão, e a tecnologia de chamada usa Feign + HttpClient + Ribbon + Hystrix
Na configuração unificada , cada módulo de microsserviço interage com o cluster Eureka, o centro de configuração (SpringCloudConfig) etc.
Estrutura de terceiros , cada módulo de microsserviço geralmente precisa usar algumas estruturas de terceiros de acordo com as necessidades de implementação, como as mais comuns: serviço de cache (Redis), serviço de imagem (FastDFS), serviço de pesquisa (ElasticSearch)
O banco de dados Mysql pode ser dividido de acordo com o módulo de microsserviço, acesso à biblioteca pública ou à própria biblioteca, você pode criar um cluster MySOL ou MyCat, etc.