阿里的dubbo 到底是用来干嘛的?



阿里的dubbo 到底是用来干嘛的?为什么网上就没有一篇通俗的文章来介绍这个开源框架?

最近在研究集群和分布式系统,出于自学,又是初级阶段,所以在网上搜到一些介绍文章和原理往往都看到是一知半解。太多的专业术语,专业词汇,看的令人头疼。现在就我所了解的知识层面及所面临的问题,罗列如下,望前辈解惑:
1—— 集群是在不同的机器上部署同一个项目,用来“负载均衡”及“失效备援”,那么它们到底如何或者说通过什么来来“负载均衡”及“失效备援”?分布在各个机器上的项目的地址是怎么分配的?是通过谁分配的?
2—— dubbo在整合分布式系统中是干什么用的?它的原理是什么?
3—— 大家可有好点的讲解网站或微博论坛之类的,前辈们可有自己曾经的学习笔记什么的,复制粘贴也好,望不吝赐教



一个一个回答吧。

1. 负载均衡是对外提供一个公共地址,请求过来时通过轮询、随机等,路由到不同server。目的分摊压力。
失效备援是发现一台server挂了,就让另外一台去服务了。跟餐馆换个服务员继续招待你一样。

2. Java下的一套RPC框架(soa思想),作用就是统一管理配置,各个系统服务间的调用。dubbo在淘宝也是解决他们实际问题的,不一定适合其他。 另外各家公司也都有大同小异的实现,所以没多少人用、也就没多少介绍。
原理就是: A系统调用B系统接口服务, 后面就是怎么把这个流程,动态化(zookeeper通知)、权限化、配置化、低耦合化、自动化。

3. 没有银弹,算属于系统架构范畴,基本都是经验积累的。 别直接去学分布式,多在实际项目中去用,用多了就懂了。


作者:蘑菇先生
链接:https://www.zhihu.com/question/30971953/answer/50424801
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。



dubbo是用来跨系统通信的,即使不用集群也可以。
一个系统用作客户端,一个系统则充当服务端。服务端要把自己的接口定义提供给客户端,客户端将接口定义在spring中的bean。客户端可以直接使用这个bean,就好像这些接口的实现也是在自己代码里一样。
客户端和服务端启动的时候都会把自己的机器IP注册到zookeeper上。客户端会把zk上的服务端ip拉到磁盘上,并记录哪些ip提供哪些服务(服务端启动的时候暴露给zk)。然后调用的时候客户端会根据ip调用服务端的服务,这时候即使zk挂掉也没关系。


作者:断臂残猿
链接:https://www.zhihu.com/question/30971953/answer/141788348
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。


Dubbo是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。简单的说,dubbo就是个服务框架,如果没有分布式的需求,其实是不需要用的,只有在分布式的时候,才有dubbo这样的分布式服务框架的需求。
顺便推荐个基于Dubbo分布式系统架构视频教程 roncoo.com


作者:清风
链接:https://www.zhihu.com/question/30971953/answer/93861274
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值