HTML5技术

阿里Dubbo疯狂更新,关Spring Cloud什么事? - 纯洁的微笑(2)

字号+ 作者:H5之家 来源:H5之家 2017-11-21 14:06 我要评论( )

根据阿里技术的信息,最近三个版本会做的事情如下: 优先解决社区使用过程中的问题和框架的缺陷,吸收社区贡献的新特性,解决文档访问和不全面的问题。 提供服务延迟暴乱、优雅停机 API 接口支持 RESTFULE 风格服务



根据阿里技术的信息,最近三个版本会做的事情如下:

  • 优先解决社区使用过程中的问题和框架的缺陷,吸收社区贡献的新特性,解决文档访问和不全面的问题。
  • 提供服务延迟暴乱、优雅停机 API 接口支持 RESTFULE 风格服务调用,提供 netty http 的支持,集成高性能序列化协议。
  • 路由功能优化、消费端异步功能优化、提供端异步调用支持注册中心推送通知异步、合并处理改造等。


    未来计划:

  • 重构动态配置模块,动态配置和注册中心分离,集成流行的开源分布式配置管理框架,服务元数据注册与注册中心分离,丰富元数据内容,适配流行的 consul etcd 等注册中心方案。考虑提供 opentrace、oauth2、metrics、health、gateway 等部分服务化基础组件的支持,服务治理平台 OPS 重做,除代码、UI 重构外,期望能提供更强的服务测试、健康检查、服务动态治理等特性。Dubbo 模块化,各个模块可单独打包、单独依赖,集群熔断和自动故障检测能力。

    继续在 Dubbo 框架现代化、国际化这两个大的方向上进行探索。现代化方面主要是考虑到目前微服务架构以及容器化日渐流行的大趋势,Dubbo 作为 RPC 框架如何很好地融入其中,成为其生态体系中不可或缺的一个组件。强调的是 Dubbo 未来的定位并不是要成为一个微服务的全面解决方案,而是专注在 RPC 领域,成为微服务生态体系中的一个重要组件。至于大家关注的微服务化衍生出的服务治理需求, Dubbo 将积极适配开源解决方案,甚至启动独立的开源项目予以支持。

    Dubbo和Spring Cloud有何不同?

    首先做一个简单的功能对比:

    Dubbo Spring Cloud

    服务注册中心 Zookeeper Spring Cloud Netflix Eureka

    服务调用方式 RPC REST API

    服务监控 Dubbo-monitor Spring Boot Admin

    断路器 不完善 Spring Cloud Netflix Hystrix

    服务网关 无 Spring Cloud Netflix Zuul

    分布式配置 无 Spring Cloud Config

    服务跟踪 无 Spring Cloud Sleuth

    消息总线 无 Spring Cloud Bus

    数据流 无 Spring Cloud Stream

    批量任务 无 Spring Cloud Task

    …… …… ……



    从上图可以看出其实Dubbo的功能只是Spring Cloud体系的一部分。

    这样对比是不够公平的,首先 Dubbo 是 SOA 时代的产物,它的关注点主要在于服务的调用,流量分发、流量监控和熔断。而 Spring Cloud 诞生于微服务架构时代,考虑的是微服务治理的方方面面,另外由于依托了 Spirng、Spirng Boot 的优势之上,两个框架在开始目标就不一致,Dubbo 定位服务治理、Spirng Cloud 是一个生态。


    如果仅仅关注于服务治理的这个层面,Dubbo其实还优于Spring Cloud很多:

  • Dubbo 支持更多的协议,如:rmi、hessian、http、webservice、thrift、memcached、redis 等。
  • Dubbo 使用 RPC 协议效率更高,在极端压力测试下,Dubbo 的效率会高于 Spring Cloud 效率一倍多。
  • Dubbo 有更强大的后台管理,Dubbo 提供的后台管理 Dubbo Admin 功能强大,提供了路由规则、动态配置、访问控制、权重调节、均衡负载等诸多强大的功能。
  • 可以限制某个 IP 流量的访问权限,设置不同服务器分发不同的流量权重,并且支持多种算法,利用这些功能我们可以在线上做灰度发布、故障转移等,Spring Cloud 到现在还不支持灰度发布、流量权重等功能。
  • 所以Dubbo专注于服务治理;Spring Cloud关注于微服务架构生态。

    Dubbo发布对Spring Cloud有影响吗?

    国内技术人喜欢拿 Dubbo 和 Spring Cloud 进行对比,是因为两者都是服务治理非常优秀的开源框架。但它们两者的出发点是不一样的,Dubbo 关注于服务治理这块并且以后也会继续往这个方向去发展。Spring Cloud 关注的是微服务治理的生态。因为微服务治理的方方面面都是它所关注的内容,服务治理也只是微服务生态的一部分而已。因此可以大胆的断定,Dubbo 未来会在服务治理方面更为出色,而 Spring Cloud 在微服务治理上面无人能敌。

    同时根据 Dubbo 最新的更新技术来看,Dubbo 也会积极的拥抱开源,拥抱新技术。Dubbo 接下来的版本将会很快的支持 Spring Boot,方便我们享受高效开发的同时,也可以支持高效的服务调用。Dubbo 被广泛应用于中国各互联网公司,如今阿里又重新重视起来并且发布了新版本和一系列的计划,对于正在使用 Dubbo 的公司来说是一个喜讯,对于中国广大的开发者来说更是一件非常喜悦的事情。我们非常乐于看到中国有一款非常优秀的开源框架,让我们有更多的选择,有更好的支持。

    两者其实不一定有竞争关系,如果使用得当甚至可以互补;另外两个关注的领域也不一致,因此对 Spring Cloud 的影响甚微。


    如何选择?

    可能很多人正在犹豫,在服务治理的时候应该选择那个框架呢?如果公司对效率有极高的要求建议使用 Dubbo,相对比 RPC 的效率会比 HTTP 高很多;如果团队不想对技术架构做大的改造建议使用 Dubbo,Dubbo 仅仅需要少量的修改就可以融入到内部系统的架构中。但如果技术团队喜欢挑战新技术,建议选择 Spring Cloud,Spring Cloud 架构体系有有趣很酷的技术。如果公司选择微服务架构去重构整个技术体系,那么 Spring Cloud 是当仁不让之选,它可以说是目前最好的微服务框架没有之一。

    最后,技术选型是一个综合的问题,需要考虑团队的情况、业务的发展以及公司的产品特征。最炫最酷的技术并不一定是最好的,选择适合自己团队、符合公司业务的框架才是最佳方案。技术的发展永远没有尽头,因此我们对技术也要保持空杯、保持饥饿、保持敬畏!

    原文出处阿里Dubbo疯狂更新,关Spring Cloud什么事?

     

    1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

    相关文章
    • 云计算之路-阿里云上-新车限行:新购服务器无法访问任何远程25端口 - 博客园团队

      云计算之路-阿里云上-新车限行:新购服务器无法访问任何远程25端口 -

      2017-09-01 15:03

    • 云计算之路-阿里云上:弹性伸缩无服务器可弹,已有服务器无兵可援 - 博客园团队

      云计算之路-阿里云上:弹性伸缩无服务器可弹,已有服务器无兵可援 -

      2017-07-22 10:03

    • 云计算之路-阿里云上:14:20-14:55博客后台2台服务器都CPU 100%引发的故障 - 博客园团队

      云计算之路-阿里云上:14:20-14:55博客后台2台服务器都CPU 100%引发

      2017-06-10 10:01

    • 云计算之路-阿里云上:攻击火上浇油,与云盾玩起了踢皮球 - 博客园团队

      云计算之路-阿里云上:攻击火上浇油,与云盾玩起了踢皮球 - 博客园团

      2017-05-22 18:04

    网友点评