为了方便客户端调用微服务,所以设计出了网关。在微服务实例地址发生改变的情况下,客户端调用服务要能够不受影响。
网关可以完成的功能:路由,反向代理,日志记录,权限控制,限流
在本例子中
Eureka 服务注册中心
Zuul网关,要将Zuul注册到服务注册中心
Producer , 服务提供者,实例名为spring-cloud-producer,注册到服务注册中心
Producer2,服务提供者,实例名为spring-cloud-producer,注册到服务注册中心
把这四个应用启动后
在游览器访问http://localhost:8888/spring-cloud-producer/hello?name=irish
可以看到请求被动态的路由到到Producer和Producer2
这里Zuul注册到Eureka后,Zuul会代理所有注册到Eureka Server的微服务,并且Zuul的默认路由规则如下:http://ZUUL_HOST:ZUUL_PORT/微服务在Eureka上的serviceId/**会被转发到serviceId对应的微服务,并可做负载均衡
github下载地址:https://github.com/jake1263/SpringCloud/tree/master/Zuul网关路由作用/gateway-service-zuul