阿里巴巴为什么主推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 ...
随机推荐
- LaTeX新人教程,30分钟从完全陌生到基本入门[转载]
LaTeX新人教程,30分钟从完全陌生到基本入门[转载] 2017-02-05 分类:TeX讲义 阅读(32514) 评论(0) 这是一篇老文了,前几天看微博的时候看到的,文中的很多表达比较过激,思 ...
- 【Kubernetes】The connection to the server <master>:6443 was refused - did you specify the right host or port?
不知道怎么用着用着,使用kubectl 时报错,错误如下: root@R740--:~# kubectl get pod The connection to the server 107.105.13 ...
- 【bzoj4247】挂饰 背包dp
题目描述 JOI君有N个装在手机上的挂饰,编号为1...N. JOI君可以将其中的一些装在手机上. JOI君的挂饰有一些与众不同——其中的一些挂饰附有可以挂其他挂件的挂钩.每个挂件要么直接挂在手机上, ...
- input和textarea区别
1. input是单行文本,textarea是多行文本,可以带滚动条2. input的value放在标签里面 <input type="text" value="b ...
- Excel VBA基础教程
https://www.w3cschool.cn/excelvba/excelvba-basics.html Excel VBA语言基础 VBA语言的基础认识 详解VBA编程是什么 excel处理录制 ...
- java面试题之@Autowired和@Resource的区别
@Autowired和@Resource的区别: 1.都可以用来装配bean,都可以写在字段或者方法上: 2. @Autowired默认按类型装配,默认情况下必须要求依赖对象必须存在,如果允许为nul ...
- .NET Core 微服务之Polly重试策略
接着上一篇说,正好也是最近项目里用到了,正好拿过来整理一下,园子里也有一些文章介绍比我详细. 简单介绍一下绍轻量的故障处理库 Polly Polly是一个.NET弹性和瞬态故障处理库 允许我们以非常 ...
- 【CF1029A】Many Equal Substrings(模拟)
题意:给定一个长度为n的串s,要求构造一个长度最小的使s出现了k次的串,可以重叠 n<=50,k<=50 思路:计算一下前后缀相同长度 #include<cstdio> #in ...
- Django 博客首页视图
Django 处理 HTTP 请求 Web 应用的交互过程其实就是 HTTP 请求与响应的过程.无论是在 PC 端还是移动端,我们通常使用浏览器来上网,上网流程大致来说是这样的: 我们打开浏览器,在地 ...
- bootstrapTable 应用小例(收索)
<script src="/plugins/My97DatePicker/WdatePicker.js"></script> <!-- Content ...