微服务从零到一服务网关(Gateway基础篇)
服务网关(Gateway)
搭建网关服务
本案例中使用spring boot的版本为2.0.3.RELEASE,spring cloud版本为Finchley.RELEASE。在中涉及到了三个工程, 分别为注册中心eureka-server、服务提供者service-hi、 服务网关service-gateway,如下:
工程名 端口 作用 eureka-server 1001 注册中心eureka server feign-provider 1003 服务提供者 eurka client gateway 1007 路由网关 eureka client 这三个工程中,其中feign-provider、gateway向注册中心eureka-server注册。用户的请求首先经过service-gateway,根据路径由gateway的predict 去断言进到哪一个 router, router经过各种过滤器处理后,最后路由到具体的业务服务,比如 feign-provider。如图:
-
新建gateway工程,新增pom依赖
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-gateway</artifactId> </dependency>
-
在工程的配置文件application.yml中 ,指定程序的启动端口为1007,注册地址、gateway的配置等信息,配置信息如下:
server: port: 1007 spring: application: name: gateway cloud: gateway: discovery: locator: enabled: true lowerCaseServiceId: true eureka: client: service-url: defaultZone: http://localhost:1001/eureka/
-
在浏览器上请求输入,网页获取以下的响应:211111 spring: application: name: gateway cloud: gateway: discovery: locator: enabled: false lowerCaseServiceId: true routes: - id: feign-provider uri: lb://feign-provider predicates: - Path=/user/** filters: - StripPrefix=1 在浏览器上请求,浏览器返回以下的响应: 返回的结果跟我们预想的一样。
下一篇:
详细的网络安全基础,一篇文章统统告诉你