eureka与ribbon负载均衡

墨蓝 2022-05-15 16:46 358阅读 0赞

接着上一篇博文,看下ribbon的负载均衡

重点,ribbon的负载均衡功能

改造上一篇博文的内容,服务注册中心的端口号修改为5550

服务提供者,修改端口号为5551,复制一份工程,端口号修改为5552

controller层内容修改为

  1. @EnableEurekaClient
  2. @RestController
  3. public class HelloController {
  4. @Value("${server.port}")
  5. private String port;
  6. @ResponseBody
  7. @RequestMapping("/hello")
  8. public String hello(String name) {
  9. return "Hi, I am " + name + ". This service was supplied by instance " + port;
  10. }
  11. }

此处,我们获取了配置文件中的端口号,并在服务中体现出来。

服务消费者,需改端口号为5553

启动四个服务,注册中心监控界面

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L21hZ2kxMjAx_size_16_color_FFFFFF_t_70

可以看到,eureka-server 处有两个实例,端口分别为5551和5552

在浏览器地址栏输入 http://localhost:5553/hi?name=wangwu

连续的点击,可以依次看到

20181030201623541.JPG

20181030201649304.JPG

上面便是ribbon提供的默认的负载均衡解决方案,轮询方式

写这篇博文,主要是看了之前的很多基于springboot1的博文或者书本内容,在做ribbon负载均衡时,需要引入ribbon的依赖包,在springboot2这边,暂时不需要,系统默认的都已经引入过了。

这里我们的pom文件内容为

  1. <parent>
  2. <groupId>org.springframework.boot</groupId>
  3. <artifactId>spring-boot-starter-parent</artifactId>
  4. <version>2.0.6.RELEASE</version>
  5. <relativePath/> <!-- lookup parent from repository -->
  6. </parent>
  7. <properties>
  8. <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  9. <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
  10. <java.version>1.8</java.version>
  11. <spring-cloud.version>Finchley.SR2</spring-cloud.version>
  12. </properties>
  13. <dependencies>
  14. <dependency>
  15. <groupId>org.springframework.boot</groupId>
  16. <artifactId>spring-boot-starter-web</artifactId>
  17. </dependency>
  18. <dependency>
  19. <groupId>org.springframework.cloud</groupId>
  20. <artifactId>spring-cloud-starter</artifactId>
  21. </dependency>
  22. <dependency>
  23. <groupId>org.springframework.cloud</groupId>
  24. <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
  25. </dependency>
  26. </dependencies>

在查看加载jar包时,可以看到ribbon的jar包已经添加上了

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L21hZ2kxMjAx_size_16_color_FFFFFF_t_70 1

好了,这篇博文就记录到此,如文中有不严谨之处,欢迎留言批评斧正。谢谢。

附项目工程代码下载路径:eureka基于ribbon的负载均衡demo

发表评论

表情:
评论列表 (有 0 条评论,358人围观)

还没有评论,来说两句吧...

相关阅读

    相关 负载均衡---ribbon

    Ribbon:提供云端负载均衡,有多种负载均衡策略可供选择,可配合服务发现和断路器使用。 上一篇简单讲解了eureka的使用,这一篇文章基于上一篇的基础上,讲一下spring

    相关 eurekaribbon负载均衡

    接着上一篇博文,看下ribbon的负载均衡 重点,ribbon的负载均衡功能 改造上一篇博文的内容,服务注册中心的端口号修改为5550 服务提供者,修改端口号为5551,

    相关 Ribbon负载均衡

    1. 集中式负载均衡 > 在客户端和服务端之间使用独立的负载均衡设施(可以是硬件,如F5, 也可以是软件,如nginx、LVS等), 由该设施负责把访问请求通过某种策略转发