当前位置:首页 > 股票资讯 - 正文

开源微服务运行时Dapr版本1.0 基金融鑫

版本,服务,Dapr,1.0时间:2021-03-06 14:02:53浏览:353
后台-插件-广告管理-内容页头部广告位(手机)

原始标题:开源微服务运行时Dapr版本1.0

简介:Dapr是2019年10月的开源分布式运行时。早在Dapr开源初期,阿里巴巴云就开始参与Dapr社区的建设和代码开发。目前Dapr有两个成员,是除微软之外Dapr项目中代码贡献最多的公司。作为Dapr项目的早期采用者,阿里在Dapr v1.0发布之前做了一个小规模的内部试点。本文由Dapr社区成员敖肖剑翻译。

分布式应用程序运行时现在可以投入生产了! 今天,我们很高兴发布分布式应用程序运行时(DAPR)的1.0版,它已经达到了生产就绪所需的稳定性和企业准备。Dapr是一个开源、可移植和事件驱动的运行时,它使开发人员能够轻松构建在云平台和边缘上运行的灵活的微服务应用程序,无论它们是无状态的还是有状态的。Dapr使开发人员能够专注于编写业务逻辑,而不是解决分布式系统的挑战,从而显著提高生产率并减少开发时间。Dapr降低了构建基于微服务架构的现代云本地应用程序的入门门槛,随着此次发布的1.0版,Dapr应用程序可以部署到生产场景中的自我管理基础架构或Kubernetes集群。

自2019年10月首次发布以来,Dapr已经有14个版本,每个版本都基于大量的社区和用户反馈,以促进改进、稳定性和性能。这些版本都是以构建真实应用为基础的,反映了当今开发者在开发云原生应用时的实际情况;无论是云平台、edge还是私有基础设施,该社区都在加紧贡献与Azure、AWS、阿里巴巴和谷歌云集成的Dapr组件。

解决现实场景中的分布式应用挑战 Dapr开源项目从一开始就面向构建新的真实绿地应用程序的开发人员,以及迁移和利用云原生架构中现有应用程序和组件的开发人员。Dapr方法的关键是满足开发人员和企业的现状,帮助他们实现应用程序的现代化,并利用他们在云原生和微服务架构方面的现有技能。在1.0版中,我们将Kubernetes作为运行生产应用程序的主要宿主环境。随着Dapr的进一步成熟,我们希望在无服务器的环境中看到Dapr。在过去的一年半中,我们与早期采用者和合作伙伴密切合作,因此Dapr现在已经成为几个基于Kubernetes的生产和预生产应用程序的核心。在这个用户驱动的过程中,Dapr社区改进了Java的本机语言体验,。NET和Python SDK,用真实工作负载测试规模和性能,添加安全特性,证明Dapr的Actor编程模型是工作流和物联网(IoT)场景的最佳选择。以下是早期采用者的一些故事,以突出Dapr在今天的使用。

蔡司:光学和光电子学领域的国际技术领导者 蔡司面临的挑战是维护和更新一个具有20年历史的硬编码业务规则的后端系统。订单验证和路由的原始解决方案基于具有固定容量的单一体系结构,开发人员不直接在系统中重新配置表格就不能轻松更新、重新路由或跟踪订单。此外,业务单元不能直接控制其订单处理流程。由于大量的系统依赖性,更改总是需要昂贵且耗时的开发人员干预。为了解决这个问题,蔡司利用Azure和Dapr开发了一个新的应用程序,可以更快地完成客户订单,加快开发速度,提高公司的业务连续性。你可以在这里读到更多关于他们的故事。

点火集团:一家位于南非的技术公司,专注于客户承诺和销售支持工具 点火集团创建的订单处理软件可以跟踪产品、管理订购和处理来自各种来源的付款。订单处理涉及很多依赖关系,有一个采购跟踪机制,调用客户订阅,触发记账和计费流程,确定合适的支付渠道。点火集团希望微服务能够为其工作流逻辑带来好处——高可用性、灵活性、可扩展性和性能。和Dapr还有。NET Core,点火集团构建了一个全新的、更具扩展性和可维护性的订单处理和支付系统,并已投入生产运行。点火集团今天已经投产了,你可以在这里看到更多关于他们的故事。

道路施工:收集数据就像看一场火灾 Roadwork是一家初创公司,为自治系统提供端到端平台,允许用户生成可执行的见解并采取相应行动。目前,他们专注于数据提取技术,并走上了完全集成自治系统的道路。通过结合Dapr和KEDA,他们在Kubernetes上创建了一个生产服务,该服务根据传入的客户负载请求自动扩展应用程序和集群。Dapr使用RabbitMQ提供了pub/sub的抽象和集成,这可以很容易地拥有一个有竞争力的消费者模型。今天,Roadwork的第一款产品scratcher . ai已经投入生产。在此了解更多信息。

社区和生态系统 正是社区的努力使Dapr成长为1.0版。自从Dapr第一次发布以来,开源社区围绕Dapr团结在一起,并一直在增长,这是令人惊讶的——从2019年10月的114个贡献者增加到今天的700个。短短16个月,增长了6倍多!

社区对项目的贡献涉及Dapr的每个仓库,包括提交问题、参与功能提案的讨论、提供样本,当然还包括贡献代码。社区成员对项目贡献最大,包括Dapr运行时、文档、CLI和SDK。另一个关键贡献领域是创建一个丰富的组件生态系统。开发人员可以使用70多个组件,使Dapr成为一个可以应用于广泛场景的解决方案,包括开源技术和云提供商的特定集成。当开发人员想要创建高度可移植的独立于云平台的应用程序时,这使得Dapr成为一个有吸引力的选择。

贡献不仅限于个人,还包括阿里巴巴云、哈希公司、微软等组织,以及上述蔡司、点火集团等早期采用者。Dapr生态系统还包括合作伙伴的技术堆栈,为使用Dapr的开发人员提供附加值。例如,新遗迹提供了关于他们的监控工具如何与Dapr无缝工作的指导,这要归功于Dapr使用的标准跟踪协议,它可以轻松检测您的应用程序,而无需更改任何代码。

培养一个开放和包容的社区是Dapr项目的主要目标。作为这一承诺的一部分,我们分享了向开放治理模式的过渡,这也是我们保持Dapr开放、供应商中立和包容性的方式。我们的愿景是继续这一旅程,我们计划在不久的将来让Dapr加入一个开放软件基金会。同时,我们邀请您通过GitHub、定期Dapr社区会议和最近推出的distance服务器与Dapr社区互动。

“在阿里巴巴云,我们相信Dapr将引领微服务的发展。通过采用Dapr,我们的客户现在可以更快地构建可移植且健壮的分布式系统。” ——阿里巴巴云高级技术专家李翔 发布亮点 最近几个月,我们发布了3个v1.0的发布候选版本,重点是获取社区的反馈,为v1.0做准备,在性能、安全性、高可用性(HA)和一致性等方面更加关注生产准备情况。在这里可以获得完整的发布说明,以下是一些亮点:

作为生产环境的Kubernetes Kubernetes是v1.0的首选托管环境,它与Dapr控制平面和Dapr sidecar架构深度集成。比如在运维方面,通过Dapr CLI“init”和“upgrade”命令简化了Kubernetes上Dapr的安装和升级,可以拉取正确的Dapr运行时版本,并保证这些版本以可控的方式发布,包括迁移使用中的证书。您可以在高可用性模式下安装Dapr控制平面,以确保多个实例同时运行,Dapr sidecar有一个健康端点,它可以实现Kubernetes就绪和活跃度探测器来确定其健康状态。在发布候选版本的整个过程中,我们与早期采用者密切合作,以确保他们能够以可操作的方式迁移到每个Dapr运行时版本,而不是构建一个新的集群。有关更多信息,请参见生产部署指南。

性能、一致性和支持 在云原生应用中,性能非常重要,Dapr非常重视高性能。一个经常提到的话题是sidecar模型对完成应用程序的所有繁重工作的影响,以及数据平面性能的权衡。特别关注的一个领域是服务呼叫构建模块。这里,当在两个应用程序之间调用两个Dapr sidecar并接收到响应时,Dapr在p90增加约1.2ms的端到端延迟,在p99增加约2ms的端到端延迟。可以看出,Dapr具有极低的服务间延迟,并且针对高吞吐量场景进行了优化。

Dapr社区开发了70多个组件。为了确保对使用这些组件的信心,它们必须经过一系列一致性测试。组件从alpha状态开始,最终达到GA状态,用户需要在生产中使用。对于v1.0版本,只有部分已经在生产中广泛使用的组件被批准为GA,其他组件将在达到标准后添加。像许多开源云原生技术一样,更改、修复和改进会很快引入,这意味着支持的版本有一个滚动窗口。重要的是,Dapr v1.0声明API级别是稳定的。如果将来需要修改,API将通过版本机制完全向后兼容。如果需要破坏性修改,会提前注明几个版本。最后,从支持的角度来看,当前和以前的版本都将在出现严重问题或安全问题时支持修补程序更新。

安全的 安全性一直是Dapr的核心主题,因为我们已经意识到构建基于微服务架构的安全现代分布式应用的复杂性,Dapr已经通过了多项独立的安全审计。为了抵抗应用程序之间的中间人攻击,您需要加密,Dapr通过其控制平面服务颁发的x.509证书提供加密,这些证书会自动更新和滚动。要提供对资源的访问控制,如状态存储、密钥、服务间调用或发布/订阅特定主题的能力,您需要细粒度的访问控制策略(ACLs)。当使用spiffe作为访问资源的身份标准时,Dapr提供了广泛的ACl。运行应用程序时,您可以将它们隔离在不同的名称空间中,以便进行操作部署和隔离。下图显示了这些广泛的安全功能。有三种利用Dapr安全功能的微服务:

编程语言和SDK Dapr用它的编程语言、框架和工具囊括了所有的开发者社区。Dapr被设计成通过HTTP和gRPC协议从任何编程语言中使用,这意味着您不需要在编译时包含任何依赖关系。当然,为了提高开发者的母语体验,Java的SDK,。NET、Python和Go也以1.0版生产就绪的形式发布,反映了它们在社区和组织中的成熟应用。作为开发人员,这些SDK允许您使用您最喜欢的开发环境,如VS代码或IntelliJ。JavaScript/Node.js、C++、Rust、PHP的SDK目前处于预览阶段,v1.0版本稍后发布。PHP SDK包括对Actor的支持,这是社区为Dapr的广泛和不断增长的编程语言列表做出贡献的一个很好的例子。

展望未来 有了这个1.0版本,我们为构建现代云本地应用程序所需的基本构建块奠定基础的旅程才刚刚开始。社区驱动意味着社区将在未来版本中为项目设置优先级,其中许多项目已经通过投票。例如,增强现有构建块的亮点,包括在状态管理中使用OData查询和过滤多个值的能力。在pub/sub中,支持CloudEvents v1.0过滤功能,根据消息内容过滤出用户感兴趣的事件。在可观察性方面,提供了一个API来跟踪来自应用程序的事件,避免了您必须绑定到特定的监控类库,并且使actor可以直接订阅pub/sub事件,从而打开了丰富的事件驱动场景。

新的构造块建议包括一个用于读写应用程序配置数据的配置应用编程接口,例如从Azure配置管理器或GCP配置管理器。领导者选择构建块来提供创建单个实例、同步或锁定语义的能力。用于网络级服务调用的透明代理构造块,使您能够根据URL或DNS地址路由消息,以及更灵活的用于保险丝、间隔和超时模式的构造块。

最后,在1.0版中,Dapr集成了几个开发人员框架,包括ASP.NET核心、Java Spring Boot、Azure Functions和Logic Apps,我们认为这种情况还会继续,更多的开源框架如Django、Nodejs和Kyma都是潜在的例子。此外,考虑到Dapr的托管平台的独立性,在虚拟机、边缘平台(如Azure Stack Hub或AWS前哨)等分布式系统平台上为Dapr控制平面提供一流的支持,可以实现应用的可移植性。

开始并做出贡献 我们希望您可以尝试Dapr v1.0。您可以通过使用文档中的入门指南来学习,然后通过快速入门来了解更多信息。如果您需要更多信息,示例库是Dapr社区捐赠的不同应用程序的展示。Dapr document docs.dapr.io是综合指南,有几本书,包括Learning Dapr,Using Dapr和。NET实践微服务,以及新发布的免费电子书Dapr for。NET开发者。如果你有任何问题,或者想和社区的其他成员交流,Dapr社区随时欢迎你加入不和谐。

对于Dapr来说,v1.0的发布只是一个开始。在此过程中,我们感谢并鼓励您的持续帮助、反馈和贡献。无论是编写新的组件,提出建议,贡献新的构件,还是增强你喜欢的语言的SDK,我们都希望听到你的意见,和你一起参与。在这个微服务开发的时代,作为开发者,这是一个激动人心的时刻。Dapr将释放您的生产力和创造力,轻松构建现代分布式应用。我们很高兴看到你继续使用这个项目,看到你用它来建造,并关注Dapr的发展。

译者注 英文原文来自于Dapr官网上公布Dapr v1.0的博客文章。 译者工作的阿里·云韵的原生团队深入参与了Dapr 1.0的开发,并且也在小规模内部试用Dapr。稍后会分享阿里巴巴云在Dapr上的做法。 译者团队正在翻译本文提到的《学习Dapr》一书,预计很快就会出版。请注意。 Dapr中文社区目前正在组织Dapr官方文件的翻译,预计部分章节将很快完成并上线。也欢迎关注和参与。 译者简介 Ao肖剑,资深代码农民,19年软件开发经验,微服务专家,服务网格传播者,服务网格社区联合创始人。专注于基础设施、云原生倡导者、敏捷实践者和坚持开发一线抛光工艺的架构师。他曾在亚信、爱立信、唯品会、蚂蚁金服等公司工作。,并对基础设施和微服务进行了深入的研究和实践。目前在阿里巴巴云原生应用平台工作,从事Service Mesh、无服务器、Multiple Runtime等云原生产品的设计开发。回搜狐多看

负责编辑:


以上就是开源微服务运行时Dapr版本1.0基金融鑫的全部内容了,喜欢我们网站的可以继续关注善希股票网其他的资讯!
后台-插件-广告管理-内容页底部广告位(手机)