客户端负载均衡-微服务架构

栏目: 后端 · 发布时间: 5年前

内容简介:什么是负载均衡? 负载均衡是我们处理高并发、缓解网络压力和进行服务端扩容的解决方案负载均衡分为两种1.服务端负载均衡

客户端负载均衡-微服务架构

什么是负载均衡? 负载均衡是我们处理高并发、缓解网络压力和进行服务端扩容的解决方案

负载均衡分为两种

1.服务端负载均衡

Nginx就是服务端负载均衡的例子 由Nginx 分发器统一反向代理请求地址 2.客户端负载均衡

不是统一分发,而是由客户端自己选择,如果你学过dubbo,它就是客户端负载均衡

Ribbo消费者是否支持负载均衡?

可以的,Ribbo的实现本身就是客户端负载均衡, 通过RestTemplate来访问接口服务的, 只要加@LoadBalanced注解来达到负载均衡是不是很简单

Ribbo负载均衡运行机制是什么?

Ribbo是一个基于HTTP和TCP的客户端负载均衡器, 当我们将Ribbon和Eureka一起使用时,Ribbon会从Eureka注册中心去获取服务端列表, 然后进行轮询访问以到达负载均衡的作用,客户端负载均衡中也需要心跳机制去维护服务端清单的有效性, 当然这个过程需要配合服务注册中心一起完成

常用的负载均衡策略

  1. RandomRule(随机策略)
  2. RoundRobinRule(轮询策略-默认策略)
  3. RetryRule(重试策略)
  4. WeightedResponseTimeRule(权重策略)

测试负载均衡

1.需要两个提供者项目

springcloud-provider-1(已有,项目端口9001)

springcloud-provider-2-项目端口是9003

和springcloud-provider-1项目一样但是就端口不一样,和自定义属性值不一样

相当于有springcloud-provide提供者两个实例,供消费者消费

2.启动两个提供者项目,查看注册中心\

发现springcloud-provider服务up数量是2

3.启动Ribbo消费者来消费服务

不断刷新浏览器访问 http://localhost:9004/test 你会发现: 7

发现: Ribbo 消费者会轮询消费注册列表的两个提供者服务

源码链接

https://github.com/java-aodeng/hope

转载保留版权

参考地址(感谢作者:隐无为):http://javatv.cn/springcloud/springcloud-doc/doc_1.html

我的博客:https://aodeng.cc 我的公众号:低调小熊猫 我的QQ群:756796932

  • 本文作者:低调小熊猫
  • 本文链接:https://aodeng.cc/archives/ribbon
  • 版权声明:本博客所有文章除特别声明外,均采用 知识共享署名 4.0 国际许可协议 。转载请注明出处!

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

C++Templates中文版

C++Templates中文版

David Vandevoorde、Nicolai M.Josuttis / 陈伟柱 / 人民邮电出版社 / 2008-2 / 69.00元

本书是C++模板编程的完全指南,旨在通过基本概念、常用技巧和应用实例3方面的有用资料,为读者打下C++模板知识的坚实基础。 全书共22章。第1章全面介绍了本书的内容结构和相关情况。第1部分(第2~7章)以教程的风格介绍了模板的基本概念,第2部分(第8~13章)阐述了模板的语言细节,第3部分(第14~18章)介绍了C++模板所支持的基本设计技术,第4部分(第19~22章)深入探讨了各种使用模板......一起来看看 《C++Templates中文版》 这本书的介绍吧!

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具