前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >sofa-rpc和dubbo2.x对比

sofa-rpc和dubbo2.x对比

作者头像
Zeal
发布2020-11-10 23:26:03
4.4K0
发布2020-11-10 23:26:03
举报
文章被收录于专栏:Hyperledger实践Hyperledger实践

去年得知蚂蚁金服放出SOFA的部分开源项目, RPC部分号称源于阿里内部的HSF, HSF当年可是把dubbo 1.x踢出局的, 只是没想到京东改造dubbo为JSF, 当当改为dubbox。国内蛮多电商公司实施服务化就直接上dubbo 1.x或dubbox。这应该是阿里没想到的, 所以现在dubbo 2.x又回笼为apache的顶级项目, 把dubbox合并还继续完善。

朋友说他们公司花了千万买了SOFA的商业版, 那么值钱的东西今天抽空过了一下开源部分的SOFAStack和dubbo2.x文档, 简单做了个对比。

Feature

sofa-rpc

Dubbo2.x

运行环境

Java app或sofa-boot/spring-boot

依赖spring容器

通信协议

Bolt, REST,Dubbo,H2C,Http

Dubbo,Rmi,Hessian,http,Webservice,Thrift,Redis,Memcached,rest

注册中心

SOFARegistry,Zookeeper,Local文件注册表,Consul,Nacos

Multicast广播注册,Zookeeper,Redis,Simple register server单点

直连调用

支持

支持

均衡负载

Random,LocalPref,roundRobin,consistentHash,weightRoundRobin

Random,roundRobin,LeastActive,consistentHash

过滤拦截

自定义Filter

SPI Filter自定义Event Notify,CallbackService

路由规则

自定义Router

自定义routing-rule

调用重试

FailOver模式下支持retry

FailOver retry

链路追踪

Sofa-tracer,skywalking

支持monitor,全链路需整合第三方或待加强

自定义线程池

支持

支持

数据链路透传

RpcInvokeContext支持

支持RpcContext

预热权重

支持

未知

容灾恢复

单机故障剔除,Hystrix熔断

与容错策略有关,应该也可整合Hystrix

优雅关闭

支持

支持

异步调用

支持

支持

参数验证

未知

JSR 303支持

调用身份验证

好像支持,一下没找到

token验证

串行化

protostuff等

Kryo,FST等等

分布式事务

依赖于JTA或XA,需自行整合第三方组件

依赖于JTA或XA,需自行整合

服务治理

整合SOFAMesh, SOFAMosn, SOFALookout , SOFADashboard等工具

Dubbo ops工具操作

总体而已, SOFA只是开源一部分组件,一些分布式事务DTA,分布式调度,分布式锁,服务编排等中间件估计都放阿里云卖也一时半会不会放出来,dubbo 2.x也正在追赶越来越完善。

同时阿里的spring-cloud-alibaba也在孵化中,貌似认识的一位同事小马哥也在疯狂提交。所以现在服务化,微服务这些现成好用的东西是越来越多。

不过就开源项目而言,spring cloud的组件应该是最完备的,想要的中间件基本都有,

走HTTP REST慢是慢点, 但有时比给出接口jar好好些些, 维护起来 (虽然有部分不是太好用,例如分布式调度组件)。

走微服务在技术层面已不是什么难事了,开源够丰富,重要的是业务的梳理和拆分,依赖,开发运维的难度。而SOFA开源的mesh, 引入ISTIO的service mesh是走在前沿的。有空我们继续深入。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-05-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Hyperledger实践 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 Redis
腾讯云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档