接上篇《微服务实战spring cloud alibaba(八)为openfeign远程调用完善配置》。我们上一篇举例微服务成形又前进一步,加上今天我们给服务添加上spring cloud gateway网关就更完美了。所以今天我们来实战下spring cloud gatewya网关。不多说,直接上代码。
一、创建一个gateway-service项目
二、添加依赖
在gateway-service项目的pom.xml里面我们添加上如下的依赖.
<!--GateWay ⽹关 --> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-gateway</artifactId> </dependency> <dependency> <groupId>org.hibernate.validator</groupId> <artifactId>hibernate-validator</artifactId> <version>6.0.13.Final</version> </dependency> <dependency> <groupId>javax.validation</groupId> <artifactId>validation-api</artifactId> <version>2.0.1.Final</version> </dependency> <dependency> <groupId>javax.el</groupId> <artifactId>javax.el-api</artifactId> <version>3.0.0</version> </dependency>
三、编写配置文件
在application.yml里面添加上对应的配置信息
server: port: 9000 tomcat: max-threads: 500 max-connections: 500 spring: application: name: gateway-service cloud: nacos: discovery: namespace: dd5ac069-bdf5-4d31-bbf3-2d111dcd3875 server-addr: 192.168.31.30:8848 gateway: default-filters: routes: - id: goods-service uri: lb://goods-service predicates: - Path=/good/** filters: - StripPrefix=1 - RemoveResponseHeader=uid - id: user-service uri: lb://user-service predicates: - Path=/user/** filters: - StripPrefix=1 - RemoveResponseHeader=uid
四、创建上gatewayApplication.java
package org.gateway.service; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.client.discovery.EnableDiscoveryClient; @EnableDiscoveryClient @SpringBootApplication public class GatewayApplication { public static void main(String[] args) { SpringApplication.run(GatewayApplication.class, args); } }
上面我们整个gateway项目就创建完成了,接下来我们通过gateway来访问下good的微服务。访问:http://localhost:9000/good/good/info/1
可以看到我们这边正常返回了。
这里特别说明一下:
配置文件说明:
1、在application.yml里面我们配置的service有之前写的good-service和user-service。 2、routes里面的每个服务的id要保证唯一性,一般我们使用服务名即可。 3、uri这里我们统一格式为 lb://服务名称。我们这里是微服务,主要是通过注册中心去获取对应的服务,所以这里配置的是服务名而非固定ip。 4、path为gateway的路径,例如good的path是/good/**,user的path是/user/**, 即我们访问 localhost:9000/good/* 他会自动去寻找good的serivice,后面跟上good-service的路径即可。 我们访问localhost:9000/user/* 他会自动去寻找user的service,后面跟上user-service的路径即可。 5、其他的配置项我们下一篇再讲。
好了今天就到这里。
本项目下载地址:点击下载
还没有评论,来说两句吧...