有关分布式系统的负载均衡问题

目前做微服务接触到spring cloud,使用ribbon做了负载均衡;
而dubbo本身也实现了负载均衡;
但是在实际生产环境中依然使用了nginx;
它们有什么区别呢?既然dubbo和spring cloud实现了负载均衡,为什么生产系统还要使用nginx呢?

2个回答

负载均衡是用于平衡每台服务的请求量,防止产生热点。

dubbo提供的是RPC的服务调用,这种服务一般用于内部接口,例如公司内部跨业务的操作,A 业务需要通过dubbo访问B 业务的服务。
此时dubbo的负载均衡相当于对于B业务的服务做负载均衡。

ribbon是提供http请求的负载均衡,这种一般用于对外的API接口,例如基于restful的接口。
例如A业务有100个节点,其中30个节点是对外的Api接口,这种情况下就可以使用这种方式进行均在均衡。

nginx是在网关层面的负载均衡,这种负载均衡不需要代码入侵,可以实现动态配置。并且无关协议,可以对于多种协议实现负载均衡,包括http, rpc等。

总结来看,dubbo的负载均衡只面向dubbo服务,是rpc服务的负载均衡。ribbon的负载均衡面向http请求。这两种都是细粒度化的负载均衡。
nginx是网关层面的负载均衡。

bettyF
bettyF 非常感谢
大约一年之前 回复

负载均衡分类可以按照协议层分类,也可以按照集中式负载均衡和分布式负载均衡。我们常见的LVS、haproxy、nginx都是集中式负载均衡,这种模式压力会在负载均衡器。向当前rpc都是分布式负载均衡(或者叫做客户端模式下负载均衡),这种方式属于客户端主动去注册中心拉取需要消费组的信息,然后本地采用策略分摊压力。
这两种方式本质上是有区别的,当前的使用场景:
1、流量入口(比如网关层),必须使用nginx等集中式的负载均衡
2、提供正常的http/TCP服务,没有使用dubbo、spring cloud等框架但是必须提供负载均衡能力,只能选用nginx负载均衡
3、框架提供客户端负载均衡模式才能使用该方式

bettyF
bettyF 非常感谢
大约一年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
分布式系统、负载均衡原理
分布式系统 多个计算机节点,通过网络间通信协调,完成分布式计算和分布式存储,共同完成一个任务。 多机之间的同步和计算结果的结合的具体策略值得研究 负载均衡 在多机通信时,选一台服务器做中心控制调度的机器,由它来控制采用什么策略来选择各种服务器,这种策略是负载均衡。 各种负载均衡策略: 轮询法、随机法、Nginx加权轮询法、加权随机法 源地址哈希法、、最小连接法等,应根据具体...
分布式系统如何负载均衡
思考:分布式系统如何负载均衡,如何确定访问的资源在哪个服务器上?        负载均衡将请求派发到网络中的一个或多个节点上进行处理。 硬件负载均衡,即通过在服务器间安装专门的硬件来进行负载均衡工作 软件负载均衡,通过服务器上安装的软件来对请求进行分配派发。 负载均衡策略 1.轮询 给每个请求标记序号,之后把请求依次分发到...
分布式系统常见负载均衡算法
一、概要 随着系统日益庞大、逻辑业务越来越复杂,系统架构由原来的单一系统到垂直系统,发展到现在的分布式系统。分布式系统中,可以做到公共业务模块的高可用,高容错性,高扩展性,然而,当系统越来越复杂时,需要考虑的东西自然也越来越多,要求也越来越高,比如服务路由、负载均衡等。此文将针对负载均衡算法进行讲解,不涉及具体的实现。 二、负载均衡算法 在分布式系统中,多台服务器同时提供一个服务,并统一到服...
有关分布式系统的问题
本人自己做了一个DCOM的分布式应用程序,在本地机上运行客户端能够正常执行,rn但将客户端程序放到同一工作组的其它机器上,则出现“拒绝访问”的错误信息,rn请问这是为什么,如果是应用服务器端的设置存在问题,那应该如何设置?rn谢谢!
有关于云服务器的负载均衡问题
各位看官rnrn 现在手上有一个项目, 部署在阿里云的云服务器上, 想弄一个负载均衡,发现阿里云有网络负载均衡的业务。但是问了一下,这个阿里云的负载均衡必须有两台服务器,而且两台服务器还得是同一个地区并且内网相同的才行。rnrn 这样好像也没什么问题,但是现在我还想弄一个香港的服务器,如果加上了香港的服务器,这个负载均衡该怎么弄呢? 或许可以用代理 比如NGINX,但是如果是大陆的用户访问,代理到香港的服务器上去了,这样速度岂不是会变慢?同样,香港的用户访问如果被分配到大陆的服务器,速度也一样会降许多吧。由于之前没有涉及这方面的知识,还望各位多多指教。
Net分布式系统之三:Keepalived+LVS+Nginx负载均衡之高可用
一、Keepalived介绍    Keepalived是分布式部署系统解决系统高可用的软件,结合LVS(Linux Virtual Server)使用,其功能类似于heartbeat,解决单机宕机的问题。       二、Keepalived技术原理    keepalived是以VRRP协议为实现基础的,VRRP全称Virtual Router Redunda
一种分布式系统中动态负载均衡策略.pdf
一种分布式系统中动态负载均衡策略.pdf 一种分布式系统中动态负载均衡策略.pdf 一种分布式系统中动态负载均衡策略.pdf
分布式系统的问题
Q AQ & A1、如果一些商业用户有很多的小文件在分布式文件系统上,这些文件只被用户自己使用,从用户的桌面登录,需要对文件进行频繁地读和写。哪一种文件系统会需要更多的沟通?NFSv3 或者是 AFS2?An: AFS2。理由为如果在客户端有缓存并且有效的话,那么就不会和文件系统进行沟通。NFS3就会调用RPC给服务器确认cache是否有改变。并且在写文件的时候,NFS3会每次写回都调用一次RPC
分布式系统漫谈【贰】_分布式系统带来的问题
上篇文章:分布式系统漫谈【壹】_发展历程 上文中我们简单描绘了一个系统从单体应用向分布式集群应用转变的过程,通过转变可以让系统拥有更强大的并发访问支持,但是同时使用分布式部署也会带来一些单体不存在的问题,本文就这些问题整理讨论一下。 负载层 不同运营商网络 系统的访问用户可能来自不同的运营商网络,那么如何保证来自不同网络的请求响应速度? 稳定的负载均衡 当...
分布式系统
http://www.scs.stanford.edu/17au-cs244b/labs/program.htmlhttp://www.scs.stanford.edu/17au-cs244b/notes/1、计算(服务)zookeeper2、存储 key-value dynamic3、备份4、一致性:paxos/raft/bft/pbft5、P2P6、阵列Cluster7、内存数据库(分布)8、...
分布式系统(一)分布式系统介绍
本文简单介绍什么是分布式系统,我们为什么需要分布式系统,分布式系统应该关注的特性有哪些,谷歌文件系统( GFS)的一些简单介绍系列文章的内容整理自清华大学分布式课程主页,课程网站http://thu-cmu.cs.tsinghua.edu.cn/curriculum/dscourse/index.html目录 目录 什么是分布式系统 我们为什么需要分布式系统 分布式系统应该考虑的内容 谷歌文件系统G
相关热词 c#入门推荐书 c# 解码海康数据流 c# xml的遍历循环 c# 取 查看源码没有的 c#解决高并发 委托 c#日期转化为字符串 c# 显示问号 c# 字典对象池 c#5.0 安装程序 c# 分页算法

相似问题