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
服务注册的名字使用服务,已达到负载均衡
的目的.
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!
默认服务采用轮询方式提供服务,每两次会有一次失败.多访问几次后,就只有运行的服务提供服务.