前述,客户端直接与服务器通信的方式几乎不会在实际应用中使用。
实际中,使用API Gateway。
microservice-eureka-server工程:服务注册中心,端口为8761
microservice-eureka-order工程:服务提供者,需要启动一个订单实例,其端口号分别是7900
microservice-gateway-zuul工程:使用Zuul实现的API Gateway。端口号为8050
microservice-eureka-server、microservice-eureka-order工程使用前几篇创建的。
microservice-gateway-zuul工程搭建过程:
<1>创建并在pom.xml中引入eureka和Zuul的依赖
<2>编辑配置文件
server:
port:8050 #指定该Eureka实例的端口号
eureka:
instance:
prefe-ip-address:true #是否显示主机的IP
client:
registerWithEureka: false
fetchRegistry: false
serviceUrl:
defaultZone: http://localhost:8761/eureka/ #指定Eureka服务端地址
spring:
application锕:
name:microservice-gateway-zuul #模块的名称
zuul:
routes:
order-serviceId: #zuul的唯一标识
path:/order/** #需要映射的路径
service-id:microservice-eureka-order #Eureka中的serviceId
<3>在引导类Application中使用@EnableZuulProxy注解开启Zuul的API网关功能
<5>分别启动注册中心、服务提供者和网关服务后
通过浏览器访问;
http://localhost:7900/order/1
http://microservice-eureka-order:8050/order/1
显示结果一致