1. Multi-instância de microsserviço (IDEA)
1.1 Instância do botão direito
1.2 Configurar portas para evitar conflitos (-Deserver.port=xxxx)
2.Nacos
2.1 Comando de inicialização do modo autônomo (Windows)
startup.cmd -m standalone
2.2 Diagrama de efeito de inicialização bem-sucedida
2.3 Dependência de Nacos
2.3.1 Dependência do projeto pai
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>2.2.5.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
2.3.2 Dependências do cliente
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
2.3.3 Configuração no arquivo de configuração yml
cloud:
nacos:
server-addr: localhost:8848 #nacos的服务地址
2.4 registro do serviço nacos
2.4.1 Importar nacos, descobrir depende de
2.4.2 Configurar o endereço nacos spring.cloud.nacos.server-addr
2.4.3 Microsserviço registrado com sucesso
2.5 Propriedades do cluster de nacos
2.5.1 configuração yml no conjunto de configurações
cloud:
nacos:
server-addr: localhost:8848
discovery:
cluster-name: HZ
2.5.2 Configurar como cluster HZ
2.5.3 Configure a prioridade para chamar o cluster local e modifique as regras de balanceamento de carga
1. Priorize a lista de instâncias de serviço no mesmo cluster
2. O cluster local não consegue encontrar o microsserviço correspondente, então ele vai para outros clusters para encontrá-lo e uma mensagem de aviso é relatada
3. Depois de confirmar que há uma lista de instâncias disponíveis no cluster local, use a estratégia de balanceamento de carga aleatório para selecionar as instâncias
userservice:#要做配置的微服务名称
ribbon:
NFLoadBalancerRuleClassName: com.alibaba.cloud.nacos.ribbon.NacosRule
2.6 Balanceamento de carga com base no peso
Depois de encontrar a lista de serviços no console nacos, clique no microsserviço editado e defina o peso para 0,1, o que reduzirá muito a frequência do microsserviço que está sendo chamado
Microsserviços com pesos maiores serão chamados com mais frequência
2.7 Isolamento ambiental
Crie um novo namespace e o id será gerado aleatoriamente por padrão
Preencha o namespace no arquivo yml do microsserviço, preste atenção para preencher o id do namespace
2.8 gerenciamento de configuração nacos
2.8.1 Adicionar arquivos de configuração no Ncaos
Date_ID é o ambiente de produção do nome do microsserviço.yaml, e o formato do arquivo é yaml
2.8.2 A sequência de aquisição da configuração de inicialização springboot é a seguinte
Conforme mostrado na figura, bootstrap.yml será lido antes de application.yml ser lido, então informações como o endereço de nacos precisam ser escritas no arquivo bootstrap.yml
2.8.3 A gestão da configuração do nacos depende:
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
2.8.4 bootstrap.yml:
spring:
application:
name: userservice #微服务名称
profiles:
active: dev #开发环境
cloud:
nacos:
server-addr: localhost:8848 #Nacos 地址
config:
file-extension: yaml #文件后缀名
discovery:
cluster-name: HZ