2020-10-03

    科技2022-07-12  122

    Ribbon 负载均衡调用

    Spring Cloud Ribbon 是基于Netfix Ribbon实现的一套客户端 负载均衡的工具

    简单的说,Ribbon是Netfix发布的开源项目,主要功能是提供客户端的软件的负载均衡算法和服务调用。Ribbon客户端的组件完善配置项如何连接超时,重试等。简单的说配置文件中列出Load Balanceer(简称LB)后面所有的机器,Ribbon会帮助你基于某种规则(轮询或者随机连接)去这些机器。使用Ribbon很容易实现自义定的负载均衡算法

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-E9gWJ6TJ-1601736782898)(C:\Users\74551\AppData\Roaming\Typora\typora-user-images\image-20200818095129723.png)]

    集中式LB

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Fycnv5MW-1601736782900)(C:\Users\74551\AppData\Roaming\Typora\typora-user-images\image-20200818095212142.png)]

    进程内LB

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-8yWoyqUD-1601736782902)(C:\Users\74551\AppData\Roaming\Typora\typora-user-images\image-20200818095239327.png)]

    Ribbon 实现了负载均衡和RestTemplate调用

    架构说明

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oiEGgjB3-1601736782904)(C:\Users\74551\AppData\Roaming\Typora\typora-user-images\image-20200818095338652.png)]

    restTemplate 的使用

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-K9AA0Twf-1601736782907)(C:\Users\74551\AppData\Roaming\Typora\typora-user-images\image-20200818095437590.png)]

    IRule

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AHhxlqDX-1601736782908)(C:\Users\74551\AppData\Roaming\Typora\typora-user-images\image-20200818095520199.png)]

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nMWBg5ZO-1601736782909)(C:\Users\74551\AppData\Roaming\Typora\typora-user-images\image-20200818095543958.png)]

    如何配置

    1.[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VKddcJdr-1601736782911)(C:\Users\74551\AppData\Roaming\Typora\typora-user-images\image-20200818095616080.png)]

    2.[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oiVkRbnk-1601736782911)(C:\Users\74551\AppData\Roaming\Typora\typora-user-images\image-20200818095636509.png)]

    import org.springframework.context.annotation.Configuration; /** * 自定义负载均衡路由规则类 * * @author zzyy * @date 2020/3/6 15:15 **/ @Configuration public class MySelfRule { @Bean public IRule myRule() { // 定义为随机 return new RoundRobinRule(); } }

    4.主启动类上添加@RibbonClient


    原理

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9HQTK975-1601736782912)(C:\Users\74551\AppData\Roaming\Typora\typora-user-images\image-20200818095757204.png)]

    手写原理

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ShawUWWF-1601736782913)(C:\Users\74551\AppData\Roaming\Typora\typora-user-images\image-20200818095839422.png)]

    Processed: 0.014, SQL: 8