1. 序言
2. 搭建
2.1. gateway本体项目
2.1.1. pom
本项目的版本均基于SpringCloud Hoxton.SR9
和SpringCloudalibaba
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>Hoxton.SR9</version> <type>pom</type> <scope>import</scope> </dependency>
<dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-alibaba-dependencies</artifactId> <version>2.2.6.RELEASE</version> <type>pom</type> <scope>import</scope> </dependency>
|
1 2 3 4 5 6 7 8 9 10 11 12
| <dependencies> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> </dependency>
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> </dependencies>
|
2.1.2. 配置
启动类按照普通的springboot项目启动
配置文件
application.properties
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| server: port: 8101
spring: application: name: CloudGateway cloud: nacos: discovery: server-addr: www.liukewen.cn:8848 namespace: spring-cloud-alibaba-center-id gateway: discovery: locator: enabled: false
routes: - id: nacos-provider uri: lb://CloudGatewayProvider predicates: - Path=/cloud-provider/**
|
此时可以在nacos上看到注册信息
2.2. provider
简单搭建一个nacos项目
2.2.1. pom
1 2 3 4 5 6 7 8 9 10
| <dependencies> <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> </dependencies>
|
2.2.2. 配置
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| server: port: 8111 servlet: context-path: /cloud-provider
spring: application: name: CloudGatewayProvider cloud: nacos: discovery: server-addr: www.liukewen.cn:8848 namespace: spring-cloud-alibaba-center-id
|
2.2.3. 服务
提供一个调用服务
1 2 3 4 5 6 7 8 9 10 11
| @RestController @RequestMapping("/providerController") public class ProviderController {
@GetMapping("/hello") public Object hello(){ return "Provider Hello"; }
}
|
同样可以加一个consumer
2.3. 使用
启动好服务后,可以在nacos中看到注册信息

用postman调用网关服务,返回provider的数据
