微服务网关搭建
網關系統使用
需求分析
由于我們開發的系統 有包括前臺系統和后臺系統,后臺的系統 給管理員使用。那么也需要調用各種微服務,所以我們針對 系統管理搭建一個網關系統。分析如下:
搭建后臺網關系統
搭建分析
由上可知道,由于 需要有多個網關,所以為了管理方便。我們新建一個項目,打包方式為pom,在里面建立各種網關系統模塊即可。
工程搭建
(1)引入依賴
修改leon-gateway工程,打包方式為pom
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><artifactId>leon-parent</artifactId><groupId>com.leon</groupId><version>1.0-SNAPSHOT</version></parent><modelVersion>4.0.0</modelVersion><artifactId>leon-gateway</artifactId><packaging>pom</packaging><modules><module>leon-gateway-web</module></modules><!--網關依賴--><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-gateway</artifactId></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-hystrix</artifactId></dependency><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-client</artifactId></dependency></dependencies></project>?
在leon-gateway工程中,創建 leon-gateway-web工程,該網關主要用于對后臺微服務進行一個調用操作,將多個微服務串聯到一起。
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><artifactId>leon-gateway</artifactId><groupId>com.leon</groupId><version>1.0-SNAPSHOT</version></parent><modelVersion>4.0.0</modelVersion><artifactId>leon-gateway-web</artifactId><description>普通web請求網關</description> </project>(2)引導類
在leon-gateway-web中創建一個引導類com.leon.GatewayWebApplication,代碼如下:
@SpringBootApplication @EnableEurekaClient public class GatewayWebApplication {public static void main(String[] args) {SpringApplication.run(GatewayWebApplication.class,args);} }(3)application.yml配置
在leon-gateway-web的resources下創建application.yml,代碼如下:
spring:application:name: gateway-web server:port: 8001 eureka:client:service-url:defaultZone: http://127.0.0.1:7001/eurekainstance:prefer-ip-address: true management:endpoint:gateway:enabled: trueweb:exposure:include: true?
總結