Spring Cloud版——电影售票系统<二>使用Ribbon实现客户端负载均衡

原创
2017/09/03 16:40
阅读数 354

        在上篇博客《Spring Cloud版——电影售票系统<—>微服务注册与发现》中,已经实现了微服务的注册与发现。启动各个微服务时,Eureka Client会把自己的网络信息注册到Eureka Server。然而,这样的架构依然有一些问题,比如负载均衡。一般来说,各个微服务都会部署多个实例。那么服务消费者要如何将请求分摊到多个服务者实例上呢?

一、Ribbon简介

        Ribbon 是 Netflix 发布的负载均衡器,它有助于控制HTTP和TCP客户端的行为。为Ribbon配置服务提供者地址列表后,Ribbon就可基于某种负载均衡算法,自动地帮助服务消费者去请求。Ribbon 默认为我们提供了很多的负载均衡算法,例如轮询,随机等。当然,我们也可以为Ribbon实现自定义的负载均衡算法。

        在Spring Cloud中,当Ribbon 和 Eureka 配合使用时, Ribbon可自动从Eureka Server获取服务提供者地址列表,并基于负载均衡算法,请求其中一个服务提供者实例。

        Eureka 与 Ribbon 配合使用架构如下:

        Tips:为项目引入Ribbon的依赖,Ribbon的依赖是:

    <dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-starter-ribbon</artifactId>
    </dependency>

        但通常都不用单独添加这个依赖的,因为这个依赖已经包含在spring-cloud-starter-ribbon,无须再次引入。

    <dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-starter-eureka</artifactId>
    </dependency>

 

--------------------------------------

版权声明:本文为【PythonJsGo】博主的原创文章,转载请附上原文出处链接及本声明。

博主主页:https://my.oschina.net/u/3375733

本篇文章同步在个人公众号:

 

展开阅读全文
加载中
点击引领话题📣 发布并加入讨论🔥
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部