阿里巴巴为什么主推HSF?比Dubbo有哪些优势?
链接:https://www.zhihu.com/question/39560697/answer/187538165
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
首先现在Netty/Grizzly/xio/Mina那么成熟,基于NIO框架写个RPC通讯框架也不是那么复杂么。 其次Dubbo应该是定位为RPC框架, 在Remoting层支持netty,mina,http这些(见下图),个人觉的这样得扩展性灵活性是中看不中用。
<img src="https://pic2.zhimg.com/v2-113e95a484a28836662e5d4b2ff9a8b1_b.png" data-rawwidth="845" data-rawheight="494" class="origin_image zh-lightbox-thumb" width="845" data-original="https://pic2.zhimg.com/v2-113e95a484a28836662e5d4b2ff9a8b1_r.png">
下面表述下个人的看法。
- RPC层面不在于扩展性,而在于性能的高低,dubbo协议设计是比较重,无论是速度还是网络包大小都是比较高的。
- SOA/微服务的服务框架除了RPC最基础的能力外, 最重要最复杂的是为线上运维升级提供便利(也就是基础服务组件应该与容器集成,同时与业务代码的发布升级做独立),同时为开发提供隔离能力(如果没有解决过类冲突问题的开发可能很难体会到这一点)。
- 最后说一重要的点。能够设计研发支持10w/100w级别的服务地址中心是有点技术挑战, 无论是zk还是dubbo提供的registry都只能支持千级别的长连接。 在阿里要面向10w级以上的长连接地址管理是要慎重选择,选择经得起考验的服务注册中心。
如果是体量没有阿里这么大,在运维或者性能或者地址服务上要求没那么高,dubbo是最好的选择。当然一定要安利企业级分布式应用服务 EDAS产品,具备高性能和稳定的服务节点支持,同时也支持dubbo的使用方式。
针对上面吐槽HSF的一回答,没有一个又很“轻”,又能满足在架构和运维治理上都爽的“银弹”。如果你用过SOFA,那会更加重。我是用了两年SOFA,作为过来人,开始用时吐槽;但用久了,真的会发现其用心良苦。
阿里巴巴为什么主推HSF?比Dubbo有哪些优势?的更多相关文章
- HSF和Dubbo有什么区别
一. 以下摘录自企业级分布式应用服务EDAS官网段落 RPC服务 提供对Dubbo和HSF两个RPC框架的支持.阿里巴巴第一代RPC框架Dubbo是国内第一款成熟的商用级RPC框架,已于2011年正式 ...
- 学生党如何拿到阿里技术offer: 《2016阿里巴巴校招内推offer之Java研发工程师(成功)》
摘要: 这篇文章字字珠玑,这位面试的学长并非计算机相关专业,但是其技术功底足以使很多计算机专业的学生汗颜,这篇文章值得我们仔细品读,其逻辑条理清晰,问题把握透彻,语言表达精炼,为我们提供了宝贵的学习经 ...
- C#~异步编程续~.net4.5主推的await&async应用
返回目录 之前写过两篇关于异步编程的文章,详细可以进入C#~异步编程和C#~异步编程在项目中的使用 .net的各个版本都有自己主推的技术,像.NET1.1中的委托,.NET2.0中的泛型,.NET3. ...
- C#~异步编程续~.net4.5主推的await&async应用(转)
之前写过两篇关于异步编程的文章,详细可以进入C#~异步编程和C#~异步编程在项目中的使用 .net的各个版本都有自己主推的技术,像.NET1.1中的委托,.NET2.0中的泛型,.NET3.0中的Li ...
- LoadRunner 12 发布,主推云
LoadRunner 12 发布,主推云 http://blog.csdn.net/testing_is_believing/article/details/22572341
- RPC实现原理(HSF、dubbo) 从头开始(一)
前言 阔别了很久博客园,虽然看了以前写的很多东西感觉好幼稚,但是还是觉得应该把一些自己觉得有用的东西和大家分享.废话不多说,现在开始进入正题. 之前的六年工作经验,呆过了一些大公司,每个在大公司呆过的 ...
- 阿里巴巴分布式服务框架HSF
HSF称之为高速服务框架HSF(High-speed Service Framework),是在阿里巴巴广泛使用的分布式RPC服务框架. HSF连通不同的业务系统,解耦系统间的实现依赖.HSF从分布式 ...
- 用阿里巴巴官方给Jmeter开发的Dubbo sampler取样器进行dubbo接口测试【图解剖析】
自:https://blog.csdn.net/cyjs1988/article/details/84258046 [一]Dubbo sampler下载地址: 该插件支持jmeter 3.2及3.2以 ...
- Google主推-Android开发利器——Android Studio,这可能是最全的AS教程!
Android Studio使用手册 "工欲善其事必先利其器" 作为一个Android开发人员来说,一款好的开发工具也是相当重要的,在相当长的时间礼,Google都是基于Eclip ...
随机推荐
- hdu1787 GCD Again poj 2478 Farey Sequence 欧拉函数
hdu1787,直接求欧拉函数 #include <iostream> #include <cstdio> using namespace std; int n; int ph ...
- luogu3369 【模板】普通平衡树(Treap/SBT) treap splay
treap做法,参考hzwer的博客 #include <iostream> #include <cstdlib> #include <cstdio> using ...
- oracle游标遍历
--创建存储过程 CREATE OR REPLACE PROCEDURE xxxxxxxxxxx_p (--参数IN表示输入参数,OUT表示输入参数,类型可以使用任意Oracle中的合法类型. is_ ...
- Xshell设置登录会话
新建会话 点击用户登录验证输入账号密码 如果是公钥登录,选择pubulic key登录
- 山东理工大学第七届ACM校赛-G 飞花的传送门
G - 飞花的传送门 飞花壕最近手头比较宽裕,所以想买两个传送门来代步(夏天太热,实在是懒得走路).平面上有N个传送门,飞花壕想要挑两个距离最远的传送门带回家(距离为欧几里得距离,即两点之间直线距离) ...
- 九度oj 题目1459:Prime ring problem
题目描述: A ring is compose of n circles as shown in diagram. Put natural number 1, 2, ..., n into each ...
- 关于ida pro的插件keypatch
关于ida pro的插件keypatch 来源 https://blog.csdn.net/fjh658/article/details/52268907 关于ida pro的牛逼插件keypatch ...
- showModalDialog实现本页面内部跳转
showModalDialog的弹窗中,要实现本窗口跳转而不打开新窗口,要么submit提交,要么按如下跳转,而不能采用location=xx来跳转:function go_link(url) { ...
- Lua local function与function区别
1 使用function声明的函数为全局函数,在被引用时可以不会因为声明的顺序而找不到 2 使用local function声明的函数为局部函数,在引用的时候必须要在声明的函数后面 例子: 下面这段代 ...
- CentOS 7.4升级Linux内核
CentOS 7.4升级Linux内核 [日期:2018-01-15] 来源:Linux社区 作者:straycats [字体:大 中 小] 由于最近intel出了Meltdown和Spectre两 ...