前 言
Spring Cloud 中有zuul和gateway两种技术。
zuul是较早出现的一种技术,是基于servlet实现的。Gateway则是较晚出现,使用spring的WebFlux技术实现的。相较于zuul的阻塞式编程的实现方式,gateway是以响应式编程实现的,有更好的应用性。
Gateway网关应用
Gateway网关是spring cloud中的一门技术,所以要想使用Gateway网关,就要需要创建一个应用模块,这一点相较于其他技术需要下载安装包而言有所不同。并且Gateway网关在一定程度上需要依赖nacos。
1. 在spring cloud中创建工程
2. 导入Maven依赖
3. 配置路由及nacos的地址
图 1 nacos的配置信息
nacos配置参数说明:
图 2 Gateway网关信息
nacos配置参数说明:
4. 开启nacos
使用命令开启nacos,这里使用单节点启动。
打开nacos客户端并查看各个服务是否已经成功注册到了服务中心。
5. 测是功能是否正常
注意:这里的请求url中的端口并不是某个微服务的端口,而是gateway网关的端口,可见这次请求是先通过gateway,然后由网关根据配置文件中的路由规则进行匹配,根据匹配到的规则寻找目标微服务(依赖nacos),然后发送返回结果。
断言工厂
像上述中的spring.cloud.gateway.routes[0].predicates[0]=Path=/user/**这一配置中的Path就是断言工厂中的一个类,类似这样的predicate还有十个。
比如在对order进行访问的时候,把请求方式设置为仅Post请求访问,那么原先的Get请求就访问不了服务了。
下面进行简单的测试:
可见不符合断言规则的请求都会被拒绝访问并报错。
END
限 时 特 惠: 本站每日持续更新海量各大内部创业教程,一年会员只需98元,全站资源免费下载 点击查看详情
站 长 微 信: lzxmw777