部署
依賴(lài)管理
1额获、新建springboot項(xiàng)目
2霜浴、添加eureka依賴(lài)
<!--監(jiān)控模塊-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<!--eureka客戶(hù)端-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
3晶衷、添加gateway依賴(lài)
<!--gateway 使用的為webflux 不能再引入 web模塊 容器使用netty-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-gateway</artifactId>
</dependency>
3、添加版本管理配置
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<!--spring cloud 版本 注意與springboot版本對(duì)應(yīng)-->
<version>Hoxton.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
4、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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.1.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.gateway</groupId>
<artifactId>gateway</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>zuul</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
<spring-cloud.version>Hoxton.RELEASE</spring-cloud.version>
</properties>
<dependencies>
<!--gateway 使用的為webflux 不能再引入 web模塊 容器使用netty-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-gateway</artifactId>
</dependency>
<!--監(jiān)控模塊-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<!--eureka客戶(hù)端-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
屬性配置
-
gateway介紹
現(xiàn)在網(wǎng)上eureka.client.service-url屬性配置大多為所有注冊(cè)中心以逗號(hào)分隔晌纫,實(shí)際發(fā)現(xiàn)配置部分注冊(cè)中心即可税迷,注冊(cè)信息將同步到全部注冊(cè)中心,但當(dāng)配置的注冊(cè)中心全部宕掉時(shí)锹漱,即使存在可用的其他注冊(cè)中心箭养,也將不可使用。 - application.properties
server.port= 8081
#注冊(cè)中心注冊(cè)節(jié)點(diǎn)凌蔬,注冊(cè)中心集群部署時(shí)以逗號(hào)分隔多個(gè)地址
eureka.client.service-url.defaultZone= http://10.2.1.241/eureka/
# 網(wǎng)關(guān)服務(wù)名
spring.application.name= gateway
#logging.level.root= debug
#自動(dòng)注冊(cè)注冊(cè)中心的服務(wù)路由 訪問(wèn)路徑為http://網(wǎng)關(guān)地址/服務(wù)名稱(chēng)(小寫(xiě))/**
#默認(rèn)負(fù)載模式為同等權(quán)重
spring.cloud.gateway.discovery.locator.enabled= true
#取消ribbon模塊 抑制警告
spring.cloud.loadbalancer.ribbon.enabled=false
# 服務(wù)名小寫(xiě)訪問(wèn) 原訪問(wèn)方式為 http://網(wǎng)關(guān)地址/服務(wù)名稱(chēng)(大寫(xiě))/** 現(xiàn)為http://網(wǎng)關(guān)地址/服務(wù)名稱(chēng)(小寫(xiě))/**
spring.cloud.gateway.discovery.locator.lower-case-service-id= true
當(dāng)前配置將自身也作為服務(wù)注冊(cè)到注冊(cè)中心露懒,集群部署時(shí)將eureka.client.service-url.defaultZone配置為多個(gè)注冊(cè)中心服務(wù)地址,以逗號(hào)分隔
-
啟動(dòng)服務(wù)
訪問(wèn)注冊(cè)中心將看到
image.png
則注冊(cè)成功
集群部署配置
只需啟動(dòng)多個(gè)實(shí)例注冊(cè)到注冊(cè)中心即可