[Java Spring Cloud Practical Road] -Use Nacos e a criação do Gateway Center

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.

imagem

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.


Acho que você gosta

Origin blog.51cto.com/15060511/2639818
Recomendado
Clasificación