细听分说Dubbo、SpringCloud、Istio微服务框架

 

前言

  随着互联网时代的快速发展、产品更新迭代的同时,也产生了很多优秀的框架,可谓是时势造英雄啊,今天就让我们来一起看看各大互联网企业最爱使用的几个框架(Dubbo、SpringCloud、Istio)。

一、Dubbo、SpringCloud、Istio框架简介

Dubbo

  Dubbo是阿里巴巴公司自主研发并开源的一款高性能、轻量级的开源RPC分布式服务框架,服务消费方引用服务提供方二方库本地化调用远程接口,通过注册中心zookeeper做服务提供者、服务消费者服务的注册与发现来实现远程服务间的数据交互,支持服务智能容错、智能均衡、灰度,可与Spring集成。

Spring Cloud

  Spring家族产品,包含一系列组件,其实就是整个Spring生态组件框架的统称。也是基于SpringBoot框架的基础上与众多组件框架相结合从而形成一个整的微服务架构生态,SpringCloud提供配置管理,服务智能,断路器,智能路由,微代理,控制总线,全局锁,决策竞选分布式会话和集群状态管理一系列解决方案。

Istio

  Istio一个全新的服务网格框架,它是ServiceMesh目前最流行的实践,那么它是干啥的呢?官方给出的介绍是:An open platform to connect, secure, control and observe services.翻译过来就是“连接、安全加固、控制和观察服务的开放平台”,与前两个框架不同的是它不是一个与语言绑定的应用系统框架,并且不需要通过接入代码实现某个功能,它处于服务应用之外,建立一个复杂的微服务网格,使得业务系统与基础设施系统实现解耦,另外Istio对Kubernetes(k8s)支持友好。

二、Dubbo、SpringCloud、Istio架构图

Dubbo架构图

    从架构图中可以看出来,Dubbo功能相对单一不够全面,没有像SpringCloud拥有丰富的微服务生态体系,并且SpringCloud也有注册中心(Eureka、Consul)、服务消费(Ribbon)组件。

Spring Cloud架构图

    从架构图可以看出SpringCloud拥有一个完整架构生态。  

Istio架构图

  从架构图上可以看出Istio不是嵌入代码就可以做到服务连接代理、安全加固、控制和观察,服务之间的通信支持协议Http/1.1、Http/2、gPRC、TCP,由Pilot、Citadel、Mixer组成控制平台。

三、Dubbo、SpringCloud、Istio数据对比

对比项 Dubbo SpringCloud Istio
学习难度(五星满) ☆☆☆ ☆☆☆☆ ☆☆☆☆
互联网资料案例 非常多,有实战案例
文档 中英文文档 英文文档 中英文文档
支持语言 Java等多种语言 Java等多种语言 基本都支持(不耦合)
集成 Jar依赖,二方库Jar依赖多 基于SpringBoot配置化集成,简单、稳定 支持Kubernetes(k8s)
开源社区热度
网关 Zuul,Gateway Traffic Cotrol、Egress
客户端负载均衡 Ribbon Envoy
开源协议 Apache2.0 Apache2.0 Apache2.0

总结

  Dubbo作为阿里巴巴开源框架之一,运行性能稳定性还是不错的,就是中间经历过暂停维护,对于使用Dubbo开发者来说还是有一定影响,虽然2017年又重新维护,我也有幸在公司项目中用到过开发起来还是挺容易的,通过依赖二方库实现本地化调用,就是接口维护麻烦需要修改依赖二方库。
  SpringCloud属于Spring的产品,包含一系列组件,SpringCloud其实就是其整个生态组件框架的统称,基于SpringBoot配置化集成,搭建集成简单、稳定,目前市场占有率最高的当属SpringCloud框架。
  Istio新晋微服务框架,目前可能只有少部分人有用到,对Kubernetes(k8s)支持比较好,可以了解下,说不定将来用的上呢。
  当今的互联网可谓是瞬息万变,技术快速更新迭代,在这激烈的竞争中也催生了很多优秀框架,我们要掌握当前技术风向并加强自身的技术栈,这样才不会在茫茫猿海中掉队。

更多好文敬请关注公众号

本文分享自微信公众号 - main方法(leechence)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

优秀的个人博客,低调大师

微信关注我们

原文链接:https://my.oschina.net/u/4007900/blog/4711376

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
Mario,低调大师唯一一个Java游戏作品

Mario,低调大师唯一一个Java游戏作品

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Apache Tomcat7、8、9(Java Web服务器)

Apache Tomcat7、8、9(Java Web服务器)

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。

Java Development Kit(Java开发工具)

Java Development Kit(Java开发工具)

JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。

Sublime Text 一个代码编辑器

Sublime Text 一个代码编辑器

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。