支持阿里&蚂蚁开源的国产 IDE OpenSumi

支持阿里&蚂蚁开源的国产 IDE OpenSumi

Dapr 是微软主导的云原生开源项目,2019年10月首次发布,到正式发布 V1.0 版本的不到一年的时间内,github star 数达到了 1.2万(现在已经超过1.7万星),超过同期的 kubernetes、istio、knative 等,发展势头迅猛,业界关注度非常高。

Dapr 这个词是是 「Distributed Application runtime」的首字母缩写,非常精炼的解释了 dapr 是什么:dapr 是一个为应用提供分布式能力的运行时。

Dapr官网 https://dapr.io

为什么Dapr是比SpringCloud和Istio更优雅的微服务框架?-LMLPHP

Dapr已经在多家大厂支撑生产环境

随着各家大厂的IT系统规模扩大,微服务架构已经成为了必需品和标准品,这也催生了 Dapr 这类非侵入式的(或者叫边车模式SideCar)的微服务开发框架的使用。根据Dapr官方仓库中的记录,已经有非常多的大厂在 生产环境 中使用Dapr来支撑自己的微服务开发。这里面不乏大家熟悉的腾讯,阿里,丁丁等国内大厂。

参考:

为什么Dapr是比SpringCloud和Istio更优雅的微服务框架?-LMLPHP

Dapr比较SpringCloud或者Istio的优势在哪里?

这个可能是大多数人的第一个问题,简单总结几点供大家参考

  • 全栈多语言支持:这一点上Dapr和Istio是等同的,因为都采用了边车模式,与应用进程之间没有有侵入性,相比SpringCloud这种只能支持Java语言(当然现在有很多其他语言提供SpringCloud的SDK)的侵入性框架,具备先天的跨语言优势。微服务化给开发人员带来的一个重要价值就是可以随意的选择不同开发语言框架进行组装,对于企业来说也可以避免被某一种技术框架绑定,甚至在招聘程序员的时候也可以有多的选择。因此当微服务的理念开始在业界流行以后,采用者的团队中必然出现多语言并存的状况。当你面对一个Java/.Net/Python/Node/JavaScript/Golang多语言并存并且相互依赖的应用环境的时候,就会发现SpringCloud无法这种需求,变成了微服务支撑框架的瓶颈。

  • 多云/非云环境支持:这一点上Dapr和SpringCloud是等同的。SpringCloud作为云原生时代之前出现的框架,它本身的根基就在非云或者虚拟机环境上,因此SpringCloud本身就具备跨云/非云环境支撑,因为它本身和云环境并无绑定关系。你当然可以在容器/k8s中运行SpringCloud,但这仅仅是给SpringCloud应用换了一种打包部署方式而已。Istio 在这一点上有天然的弱势,因为Istio从一开始就诞生于云原生的基础设施k8s之上,也就顺其自然的利用了k8s所提供的很多基础能力,这些对于新生类应用来说非常合适,但是对于传统/现存应用来说就面临改造的问题。Dapr的设计则从根基上就兼容了多云/非容器和非云环境,同时也借鉴了云原生环境的特点来进行设计,因此你完全可以在传统的主机/虚拟机/非云环境中获得和云原生平台类似的微服务体验。这一点上对于已经有大量现存应用的传统企业来说,是非常重要的一个福音。×备注:Isitio也已经开始支持与虚拟机环境的集成,这一点大家可以自行查阅资料。

这个链接中介绍了阿里是如何引入 Dapr 以及背后的各种考量

简单来说,Dapr 从设计上就借鉴并考虑了之前的2种类似框架各自的优势,并将所有的好处融合进来,将弊端剔除掉;是当前最先进最有前途的分布式微服务开发框架。

为什么Dapr是比SpringCloud和Istio更优雅的微服务框架?-LMLPHP

搭建Dapr开发环境的痛点

以下视频是展示了在容器中使用 VSCode WebIDE 开发一个 Dapr 应用的整个过程

06-06 10:23