0. Prefácio
Na seção anterior, criamos uma arquitetura de projeto e os projetos subsequentes serão adicionados a essa arquitetura.
1. Nacos
1.1 Introdução
O Nacos pode ser usado para descobrir, configurar e gerenciar microsserviços. Fornece um conjunto de conjuntos de recursos simples e fáceis de usar que podem realizar rapidamente descoberta dinâmica de serviço, configuração de serviço, metadados de serviço e gerenciamento de tráfego.
O Nacos é usado para construir, entregar e gerenciar plataformas de microsserviço de forma mais ágil e fácil. Nacos é uma configuração de serviço básica para a construção de arquiteturas de aplicativos modernas (como paradigma de microsserviço, paradigma nativo de nuvem) centrado em "serviços".
Isso é o que geralmente chamamos de centro de configuração e centro de descoberta de serviço.
1.2 Construir e iniciar
A versão atual do Nacos não suporta a criação de serviços na forma de Spring boot. Ele deve ser executado separadamente na forma de um pacote Java ou como um serviço Docker. Provavelmente, vamos explicar a operação local.
Baixe o pacote de instalação:
curl https://github.com/alibaba/nacos/releases/download/1.2.1/nacos-server-1.2.1.zip
unzip nacos-server-$version.zip 或者 tar -xvf nacos-server-$version.tar.gz
cd nacos/bin
Instale usando o código-fonte:
git clone https://github.com/alibaba/nacos.git
cd nacos/
mvn -Prelease-nacos -Dmaven.test.skip=true clean install -U
ls -al distribution/target/
// change the $version to your actual path
cd distribution/target/nacos-server-$version/nacos/bin
comece:
Linux / Unix / Mac
Comando de inicialização (autônomo representa operação em modo autônomo, modo não cluster):
sh startup.sh -m standalone
Se você estiver usando o sistema ubuntu ou se o script em execução relatar uma mensagem de erro [[símbolo não encontrado, você pode tentar executar da seguinte maneira:
bash startup.sh -m standalone
janelas
Comando de partida:
cmd startup.cmd
Ou clique duas vezes em startup.cmd para executar o arquivo.
2. Spring Cloud Gateway
Para todo o serviço de gateway, usamos Spring Cloud Gateway. Nos microsserviços Spring Cloud, todo o sistema expõe apenas a porta de entrada para o mundo externo, e outros serviços são invisíveis para o mundo externo. Portanto, precisamos configurar um serviço de gateway que possamos usar.
Crie um diretório de gateway em nature / manager e adicione pom.xml:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<groupId>club.attachie</groupId>
<artifactId>manager</artifactId>
<version>${revision}</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<groupId>club.attachie</groupId>
<artifactId>gateway</artifactId>
<packaging>jar</packaging>
<version>${revision}</version>
</project>
Registre o módulo sob o gerenciador:
<modules>
<module>gateway</module>
</modules>
2.1 Adicionar Gateway
Depois de criar o projeto, você precisa adicionar pacotes dependentes:
<!-- https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-starter-gateway -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-gateway</artifactId>
</dependency>
No projeto de gateway, crie o seguinte diretório:
├── pom.xml
└── src
└── main
├── java
│ └── club
│ └── attachie
│ └── gateway
│ └── SpringGatewayApplication.java
└── resources
└── bootstrap.yml
Crie o arquivo SpringGateAppliction.java, o código é o seguinte:
package club.attachie.gateway;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.context.config.annotation.RefreshScope;
/**
* @author attaching
*/
@SpringBootApplication
@EnableDiscoveryClient
@RefreshScope
public class SpringGatewayApplication {
public static void main(String[] args) {
SpringApplication.run(SpringGatewayApplication.class, args);
}
}
Crie bootstrap.yml no diretório de recursos:
spring:
application:
name: gateway
Yml é um formato de arquivo de configuração do Spring. Seus nomes são aplicativo e bootstrap. O bootstrap é carregado antes do aplicativo.
2.2 Adicionar nacos
Primeiro adicione o número da versão do nacos em nature / pom.xml:
<nacos.version>2.2.1.RELEASE</nacos.version>
Em seguida, adicione o gerenciamento de dependência relacionado ao nacos em dependencyManagement> dependencies:
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
<version>${nacos.version}</version>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-starters</artifactId>
<version>${nacos.version}</version>
</dependency>
Adicione pom.xml no projeto do Gateway:
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
Em seguida, volte e configure no bootstrap:
spring:
application:
name: gateway
cloud:
nacos:
config:
server-addr: 127.0.0.1:8848
3 resumos
A configuração dos nacos e a introdução do aplicativo Gateway terminam aqui, porque o indivíduo não fez pesquisas muito aprofundadas sobre tecnologias relacionadas, então só posso fazer isso no momento. A pesquisa de acompanhamento é aprofundada e será complementada nesta série.