Spring Cloud 2-Ribbon 客户端负载均衡(二)


Spring Cloud Eureka 

 

  • 1.Hello-Service服务端配置
    • pom.xml
    • application.yml
    • 启动两个service
  • 2.Ribbon客户端配置
    • pom.xml
    • application.yml
    • Application.java
    • Controller.java
  • 3.启动服务并验证

 

 


服务架构图

 

http://localhost:8081/hello 是hello-service的服务请求地址,用于非负载均衡的情况下,Bean的配置不需要加@LoadBalanced注解;

在Ribbon中可以直接调用HELLO-SERVICE服务注册的名字使用服务,已达到负载均衡的目的.

http://localhost:8085/con/hello02

Hello World!

验证负载均衡和高可用,可以直接访问服务,然后关闭其中一个服务再访问

第一次访问: http://localhost:8085/con/hello02

Hello World!

可以直接访问到服务.然后关闭其中一个服务再访问

 


 

 

访问: http://localhost:8085/con/hello02 可能会看到如下报错

{"timestamp":"2018-12-21T04:01:02.288+0000","status":500,"error":"Internal Server Error","message":"I/O error on GET request for \"http://HELLO-SERVICE/hello\": Connection refused: connect; nested exception is java.net.ConnectException: Connection refused: connect","path":"/con/hello02"}

继续访问,就会正常被请求到了

访问:  http://localhost:8090/con/hello02
Hello World!
访问:  http://localhost:8090/con/hello02
Hello World!
访问:  http://localhost:8090/con/hello02
Hello World!

默认服务采用轮询方式提供服务,每两次会有一次失败.多访问几次后,就只有运行的服务提供服务.