springcloud 实现反向代理和负载均衡
1. 搭建注册中心,路由服务zuul,两个服务端
注意两个服务端服务名称要相同,端口不能相同配置如下
service1的配置文件
#服务名称 spring.application.name=compute-service1 //注意该配置的值 #端口号 server.port=2222 eureka.instance.hostname=127.0.0.1 eureka.instance.instance-id=${spring.application.name}:${spring.cloud.client.hostname}:${server.port} #是在注册中心url中不显示ip地址前缀 eureka.instance.prefer-ip-address=false #注册中心 eureka.client.serviceUrl.defaultZone=http://localhost:1111/eureka/ spring.cloud.config.discovery.enabled=true #注册中心的服务id spring.cloud.config.discovery.serviceId=compute-server
service2的配置文件
#服务名称 spring.application.name=compute-service1//该配置的值跟上面service1的值相同 #端口号 server.port=2223//端口号跟上面端口不同 eureka.instance.hostname=127.0.0.1 eureka.instance.instance-id=${spring.application.name}:${spring.cloud.client.hostname}:${server.port} #是在注册中心url中不显示ip地址前缀 eureka.instance.prefer-ip-address=false #注册中心 eureka.client.serviceUrl.defaultZone=http://localhost:1111/eureka/ spring.cloud.config.discovery.enabled=true #注册中心的服务id spring.cloud.config.discovery.serviceId=compute-server
路由服务器zuul配置文件
eureka.client.serviceUrl.defaultZone=http://localhost:1111/eureka/ server.port=3333 spring.application.name=service-zuul #表示只要访问以/api-a/开头的多层目录都可以路由到 id为compute-service1的服务上 zuul.routes.compute-service1=/api-a/**
2. 运行项目查看结果
compute-service1相同,端口不同,如下图
启动路由服务器,访问会出现轮询式的访问服务端
springcloud的负载均衡策略默认是轮询规则
下一篇:
【夯实Dubbo】Dubbo的核心特性