eureka与ribbon负载均衡
接着上一篇博文,看下ribbon的负载均衡
重点,ribbon的负载均衡功能
改造上一篇博文的内容,服务注册中心的端口号修改为5550
服务提供者,修改端口号为5551,复制一份工程,端口号修改为5552
controller层内容修改为
@EnableEurekaClient
@RestController
public class HelloController {
@Value("${server.port}")
private String port;
@ResponseBody
@RequestMapping("/hello")
public String hello(String name) {
return "Hi, I am " + name + ". This service was supplied by instance " + port;
}
}
此处,我们获取了配置文件中的端口号,并在服务中体现出来。
服务消费者,需改端口号为5553
启动四个服务,注册中心监控界面
可以看到,eureka-server 处有两个实例,端口分别为5551和5552
在浏览器地址栏输入 http://localhost:5553/hi?name=wangwu
连续的点击,可以依次看到
和
上面便是ribbon提供的默认的负载均衡解决方案,轮询方式
写这篇博文,主要是看了之前的很多基于springboot1的博文或者书本内容,在做ribbon负载均衡时,需要引入ribbon的依赖包,在springboot2这边,暂时不需要,系统默认的都已经引入过了。
这里我们的pom文件内容为
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.0.6.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
<spring-cloud.version>Finchley.SR2</spring-cloud.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
</dependencies>
在查看加载jar包时,可以看到ribbon的jar包已经添加上了
好了,这篇博文就记录到此,如文中有不严谨之处,欢迎留言批评斧正。谢谢。