zuul1.x系列基于servlet实现作为网关,多线程同步阻塞模型zuul2.x重写netty,属于异步异步异步阻塞模型; 网关是异步异步阻塞模型。
在本例中,我们将基于spring-session redis zuul session共享示例,用网关技术替换zuul网关。
工程改造部署pom依赖网关依赖软件包
ependencygroupidorg.spring framework.cloud/groupidartifactidspring-cloud-starter-gateway/artifact id/ependencydependencygroupidorg.spring framework.boot/groupidartifactidspring-boot-starter-actuator/artifact id/DDD 与网关的jar包冲突。 参见considerdefiningabeanoftype‘org.spring framework’
ependencygroupidorg.spring framework.cloud/groupidartifactidspring-cloud-starter-Netflix-eureka-client/art ifififid
@ enablediscoveryclient @ springbootapplicationpublicclassgateway { publicstaticvoidmain (string [ ] args ) springaplicationgation 网关服务端口号spring :应用程序3360 name :网关# 网关网关实例名称cloud : gateway : discovery : locator : enabled : true #是由发现客户端发现的注册中心服务lowery client 将请求路由到。true配置不敏感的routes: #路由信息- id: um_route #个id为一组路由信息uri: lb://um #,请求um服务器请求格式-表示要路由到path=/um/* *-id : BM _ routeuri : lb ://BM predicates :-path=/BM/* * 管理: end points 3360 web 3360 exposure : actuator eureka : # eureka服务注册中心信息instance : prefer-IP-address : true client : service-URL : default zone : 03358 eureka上配置文件uri部分的内容不是lb://bm,lb表示负载平衡,并将请求分发到所有命名为bm的项目。
项目测试依次启动servicecenter、gateway、UserManagerA、UserManagerB和BuyManager项目,启动完成后,注册中心http://localhost :888
功能测试容易正常。
网关测试还有另一种方法,在网关的actuator浏览器信息中显示http://localhost 33605000/actuator/gateway/routes
本节介绍网关负责分发两个路由配置信息。
现在,一个简单的网关小demo就完成了。