gateway作为第二代springcloud网关,是微服务架构中不可缺少的一部分,接下去就简单介绍下如何在springcloud中整合它
此处配合用到了nacos,将gateway服务注册到nacos统一管理
一、添加依赖:
<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-gateway</artifactId></dependency><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId></dependency>
二、application.yml中的配置
server:
port: 8094
spring:
application:
name: gateway-service
cloud:
gateway:
routes:
- id: order_route #随便命名
uri: lb://order-sentinel-openfeign #lb 采用nacos自带的负载均衡进行分发请求,//后面的只是服务名
predicates:
- Path=/order-serv/** #断言,也就是这个请求的开头的都转发到该uri路由下处理
filters:
- StripPrefix=1 #过滤掉断言中path的第一段uri=order-serv
nacos: #将gateway注册到nacos中,配置nacos相关信息
discovery:
server-addr: 127.0.0.1:8848
username: nacos
password: nacos
三、启动nacos,从服务列表中可以看到gateway和需要映射的服务
四、写一个controller的demo接口,看请求网关是否有到达对应服务
@GetMapping("/hotData/{id}/{msg}") @SentinelResource(value = "getById",blockHandler = "HotDataBlockHandler") public String getById(@PathVariable Integer id,@PathVariable String msg){System.out.println("id = " + id);System.out.println("msg = " + msg);return "正常访问"; }
五、测试访问接口:
以上内容纯学习使用!