springcloud 实现反向代理和负载均衡

springcloud 实现反向代理和负载均衡

1. 搭建注册中心,路由服务zuul,两个服务端

        参考我的上一篇博客 springcloud项目搭建

        注意两个服务端服务名称要相同,端口不能相同配置如下

        service1的配置文件

 
  1. #服务名称

  2. spring.application.name=compute-service1 //注意该配置的值

  3. #端口号

  4. server.port=2222

  5. eureka.instance.hostname=127.0.0.1

  6. eureka.instance.instance-id=${spring.application.name}:${spring.cloud.client.hostname}:${server.port}

  7. #是在注册中心url中不显示ip地址前缀

  8. eureka.instance.prefer-ip-address=false

  9. #注册中心

  10. eureka.client.serviceUrl.defaultZone=http://localhost:1111/eureka/

  11. spring.cloud.config.discovery.enabled=true

  12. #注册中心的服务id

  13. spring.cloud.config.discovery.serviceId=compute-server

    service2的配置文件  

 
  1. #服务名称

  2. spring.application.name=compute-service1//该配置的值跟上面service1的值相同

  3. #端口号

  4. server.port=2223//端口号跟上面端口不同

  5. eureka.instance.hostname=127.0.0.1

  6. eureka.instance.instance-id=${spring.application.name}:${spring.cloud.client.hostname}:${server.port}

  7. #是在注册中心url中不显示ip地址前缀

  8. eureka.instance.prefer-ip-address=false

  9. #注册中心

  10. eureka.client.serviceUrl.defaultZone=http://localhost:1111/eureka/

  11. spring.cloud.config.discovery.enabled=true

  12. #注册中心的服务id

  13. spring.cloud.config.discovery.serviceId=compute-server

路由服务器zuul配置文件

 
  1. eureka.client.serviceUrl.defaultZone=http://localhost:1111/eureka/

  2. server.port=3333

  3. spring.application.name=service-zuul

  4. #表示只要访问以/api-a/开头的多层目录都可以路由到 id为compute-service1的服务上

  5. zuul.routes.compute-service1=/api-a/**

2. 运行项目查看结果

compute-service1相同,端口不同,如下图

启动路由服务器,访问会出现轮询式的访问服务端

springcloud的负载均衡策略默认是轮询规则

项目源码地址 springcloud负载均衡

猜你喜欢

转载自blog.csdn.net/zhangbijun1230/article/details/84451617