1. dubbo负载均衡的作用?
  其出发点,自然也就是普通的负载均衡器的出发点了。

将负载均衡功能实现在rpc客户端侧,以便能够随时适应外部的环境变化,更好地发挥硬件作用。

而且客户端的负载均衡天然地就避免了单点问题。定制化的自有定制化的优势和劣势。

  1.它可以从配置文件中指定,也可以在管理后台进行配置修改。支持 服务端服务/方法级别、客户端服务/方法级别 的负载均衡配置。

2. dubbo有哪些负载均衡方式?
  即dubbo提供了哪些负载均衡策略呢?

Dubbo内置了4种负载均衡策略: ===== dubbo的负载均衡全部由AbstractLoadBalance的子类来实现

  RandomLoadBalance:随机负载均衡。随机的选择一个。是Dubbo的默认负载均衡策略。

  RoundRobinLoadBalance:轮询负载均衡。轮询选择一个。

  LeastActiveLoadBalance:最少活跃调用数,相同活跃数的随机。活跃数指调用前后计数差。使慢的 Provider 收到更少请求,因为越慢的 Provider 的调用前后计数差会越大。

  ConsistentHashLoadBalance:一致性哈希负载均衡。相同参数的请求总是落在同一台机器上。

3. 如何配置dubbo负载均衡策略?
  其实在第一点时已经提过,有多种级别的配置:服务端服务/方法级别、客户端服务/方法级别; 具体配置如下:

<!-- 服务端服务级别 -->
<dubbo:service interface="..." loadbalance="roundrobin" />
<!-- 客户端服务级别 -->
<dubbo:reference interface="..." loadbalance="roundrobin" />
<!-- 服务端方法级别 -->
<dubbo:service interface="...">
<dubbo:method name="hello" loadbalance="roundrobin"/>
</dubbo:service>
<!-- 客户端方法级别 -->
<dubbo:reference interface="...">
<dubbo:method name="hello" loadbalance="roundrobin"/>
</dubbo:reference>
多个配置是有覆盖关系的, 配置的优先级是:

    1. 客户端方法级别配置;(最优先)
    2. 客户端接口级别配置;
    3. 服务端方法级别配置;
    4. 服务端接口级别配置;(最后使用)

  注意: 虽说以上配置有全封闭服务端配置的,有针对客户端配置的,但是,真正使负载均衡起作用的是,客户端在发起调用的时候,使用相应负载均衡算法进行选择调用。(服务端不可能有这能力)

负载均衡--rpc服务端的更多相关文章

  1. 基于Docker的负载均衡和服务发现

    应用的容器化和微服务化带来的问题 在缺省网络模型中,容器每次重启后,IP会发生变动,在一个大的分布式系统保证IP地址不变是比较复杂的事情 IP频繁发生变动,动态应用部署无法预知容器的IP地址,clie ...

  2. 在Windows环境中使用Nginx, Consul, Consul Template搭建负载均衡和服务发现服务

    搭建负载均衡和服务发现服务的目的 随着网站业务的不断提升,单个服务器的性能越来越难满足客户的业务需求,所以很多情况下,需要使用多服务器实例和负载均衡器来满足业务需要. Nginx 什么是Nginx N ...

  3. 通过Nginx、Consul、Upsync实现动态负载均衡和服务平滑发布

    前提 前段时间顺利地把整个服务集群和中间件全部从UCloud迁移到阿里云,笔者担任了架构和半个运维的角色.这里详细记录一下通过Nginx.Consul.Upsync实现动态负载均衡和服务平滑发布的核心 ...

  4. linux nginx服务 反向代理 负载均衡 nfs服务

    一.nginx服务 1.首先软件停用firewall #systemctl stop firewalld stop:本次停用 disable:开机停用 enable:开机启用 #ps aux | gr ...

  5. 基于HAProxy+Keepalived高可用负载均衡web服务的搭建

    一 原理简介 1.HAProxyHAProxy提供高可用性.负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费.快速并且可靠的一种解决方案.HAProxy特别适用于那些负载特大的web ...

  6. pomelo研究笔记-RPC服务端

    POMELO 採用多进程的架构能够非常好的实现游戏server(进程)的扩展性,达到支撑较多在线用户.减少server压力等要求. 进程间通信採用RPC的形式来完毕,pomelo的RPC实现的相当静止 ...

  7. 微服务调用之feign负载均衡及服务降级

    一,负载均衡: feign已经集成了ribbon,将service1,service2在不同端口启动多个实例可以自动负载均衡 idea: application.yml中server.port: ${ ...

  8. centos7+nginx负载均衡Tomcat服务

    接着上一篇:www.cnblogs.com/lkun/p/8252815.html 我们在上一篇在一台centos7服务器上部署了两个nginx,接下来我们使用一个nginx实现tomcat的负载均衡 ...

  9. LNMP+HAProxy+Keepalived负载均衡 - 基础服务准备

    日志服务 修改日志服务配置并重启日志服务: ``` vim /etc/rsyslog.conf ``` 编辑系统日志配置,指定包含的配置文件路径和规则: ``` $IncludeConfig /etc ...

  10. ribbon负载均衡进行服务消费

    相同服务以不同端口形式注册到eureka上,ribbon从eureka上获取冰进行服务消费,会偶现如下现象: I/O error on GET request for "http://COM ...

随机推荐

  1. C语言-变量常量数据类型

    常量:不会变化的数据.不能被修改. 1. "hello".'A'.-10.3.1415926(浮点常量) 2. #define PI 3.1415 [强调]:没有分号结束标记. [ ...

  2. [AI]大模型稳定角色扮演形成“自我认知”

    引言 自我身份认知是人类重要的认知能力之一,它决定着个体在社会中的定位以及与他人的互动方式.了解自我身份认知形成的机理对心理学和认知科学研究具有重要意义.传统上,人类自我认知一直被视为一个个体内在形成 ...

  3. [AGC030D] Inversion Sum

    Problem Statement You are given an integer sequence of length $N$: $A_1,A_2,...,A_N$. Let us perform ...

  4. WPF 入门基础

    关于 WPF 和 XAML 什么是 WPF WPF(Windows Presentation Foundation)是由微软开发的桌面应用程序框架,用于创建现代化.高度交互和具有视觉吸引力的用户界面. ...

  5. C++ Qt开发:DateTime日期时间组件

    Qt 是一个跨平台C++图形界面开发库,利用Qt可以快速开发跨平台窗体应用程序,在Qt中我们可以通过拖拽的方式将不同组件放到指定的位置,实现图形化开发极大的方便了开发效率,本章将重点介绍QDateTi ...

  6. 华企盾DSC影响企业微信头像显示空白

    解决方法:1.首先用procmon监控头像存储目录解密一下重新登录企业微信 2.如果方法1不行那么将企业微信的缓存目录删除​ 上图将缓存文件剪切出来后,重登企业微信正常 ​ 上图为不显示头像的异常情况

  7. Rabbit加密算法

    一.引言 随着信息技术的快速发展,数据安全已成为越来越受到重视的领域.加密算法作为保障数据安全的重要技术手段,在通信.存储等领域得到了广泛应用.Rabbit加密算法作为一种新型的加密算法,凭借其简单易 ...

  8. MES系统怎么实现车间管理中的生产计划和排产计划

    生产计划和排产计划都是制造企业中非常重要的概念,它们的目的是为了确保企业能够按时交付高质量的产品,同时还要保持生产效率和成本效益. 一.生产计划 生产计划是指制造企业为了满足客户需求而制定的计划,它包 ...

  9. 前端 Git 使用约定

    前端 Git 使用约定 背景 开发前端项目,有以下困惑: 使用哪个分支开发,哪个分支发布 修复线上bug的流程是什么,如何避免修复完了下次却又出现了 cms分支有十多个,是否都有用 如何快速找到之前某 ...

  10. 初探Git:理解和使用版本控制的魔法

    遥远的古代,有一位美丽的仙女叫做嫦娥.她的丈夫后羿获得了令人长生不老的鹿骨露.一天,嫦娥在好奇心的驱使下,独自偷喝了这瓶仙药. 喝下仙药的瞬间,嫦娥发现自己开始飘起,越飘越高,最后飘向了月亮.嫦娥惊慌 ...