一年增加 1,java面试问到项目难点例子

Dapr是一个由微软发起的开源项目,旨在提供一个可移植的、事件驱动的运行时,简化分布式应用的开发。它提供包括服务间通讯、状态管理、消息通讯等功能,支持多语言和多云环境,强调面向能力编程,允许开发者面向抽象的分布式能力编程,而不是底层实现。Dapr的架构包括API、构建块和组件,提供标准API和多种实现,以实现跨平台的可移植性。
摘要由CSDN通过智能技术生成

13.png

何为 “分布式能力抽象层”?

如上图所示,左侧是分布式应用存在的四大类需求:生命周期、网络、状态、绑定。从需求上说 Multi-Runtime 要为分布式应用提供这四大类需求下所列出的各种具体的分布式能力。以 Sidecar 模式为应用提供这些能力容易理解,但关键在于 Multi-Runtime 提供这些能力的方式。和 Service Mesh 采用原协议转发不同,Multi-Runtime 的方式是:

  • 将能力抽象为 API:很多分布式能力没有类似 HTTP 这种业界通用的协议,因此 Multi-Runtime 的实现方式是将这些能力抽象为和通讯协议无关的 API,只用于描述应用对分布式能力的需求和意图,尽量避免和某个实现绑定。

  • 为每种能力提供多种实现:Multi-Runtime 中的能力一般都提供有多种实现,包括开源产品和公有云商业产品。

  • 开发时:这里我们引入一个“面对能力编程”的概念,类似于编程语言中的“不要面对实现编程,要面向接口编程”。Multi-Runtime 中提倡面向“能力(Capability)”编程,即应用开发者面向的应该是已经抽象好的分布式能力原语,而不是底层提供这些能力的具体实现。

  • 运行时:通过配置在运行时选择具体实现,不影响抽象层 API 的定义,也不影响遵循“面对能力编程”原则而开发完成的应用。

备注:分布式能力的通用标准 API,将会是 Multi-Runtime 成败的关键,Dapr 的 API 在设计和实践中也遇到很大的挑战。关于这个话题,我稍后将单独写文章来阐述和分析。

介绍:分布式应用运行时 Dapr

=====================================================================================

在快速回顾 Service Mesh 和详细介绍 multi-runtime 架构之后,我们已经为了解 Dapr 奠定了良好的基础。现在终于可以开始本文的正式聂荣,让我们一起来了解 Dapr 项目。

1. 什么是 Dapr?


14.png

Dapr 是一个开源项目,由微软发起,下面是来自 Dapr 官方网站的权威介绍:

Dapr is a portable, event-> driven runtime that makes it easy for any developer to build resilient, stateless and stateful applications that run on the cloud and edge and embraces the diversity of languages and developer frameworks. Dapr 是一个可移植的、事件驱动的运行时,它使任何开发者都能轻松地构建运行在云和边缘的弹性、无状态和有状态的应用程序,并拥抱语言和开发者框架的多样性。

参考并对照 Service Mesh 的定义,我们对上述 Dapr 定义的分析如下:

15.png

  • 定位:Dapr 将自身定义为运行时(runtime),而不是 Service Mesh 中的 proxy。

  • 功能:Dapr 为应用提供各种分布式能力,以简化应用的开发。上面定义中提及的关键点有弹性、支持有状态和无状

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值