写点什么

Dapr 旨在简化弹性和可移植微服务的创建

  • 2019-11-19
  • 本文字数:1221 字

    阅读完需:约 4 分钟

Dapr旨在简化弹性和可移植微服务的创建

Microsoft Dapr是一个开源的、事件驱动的框架,旨在为云计算和边缘应用程序构建弹性和可移植的微服务。微软表示,Dapr 封装了构建微服务的最佳实践,并使开发人员可以专注于他们的应用程序的业务逻辑。


Dapr提供了一个事件驱动的运行时,它支持构建微服务所需的基本功能,比如服务调用、状态管理和发布/订阅消息传递。此外,它还引入了许多更高级的特性。


Virtual actors旨在通过将状态和行为封装在可以激活和停用的对象中来简化异步计算的管理,并支持使用计时器来触发代码执行。actor 也可以是无状态的。Dapr 中的 actor 是虚拟的,这意味着它们在内存中的表示与 actor 身份和生命周期无关。特别是,可以在一段时间内不使用 actor 时自动回收它,并在首次请求它时创建。actor 还可以迁移到不同的节点,例如,当正在运行它们的节点发生故障时。为了简化并发处理,actor 是单线程的,并且受制于基于回合的访问策略。此外,Dapr 运行时将使用超时来检测和解决可能的死锁。


Dapr 还提供了一个高级的事件驱动模型,这个模型可以将数据库、队列和 webhook 等外部服务注册为触发代码执行的事件源,或者注册为事件消费者。这是通过绑定实现的,绑定简化了与那些服务的交互,处理重试和失败,并支持将应用程序从一个服务移植到另一个服务,而无需更改代码。在撰写本文时,当前的绑定还处于试验阶段


最后,Dapr 还支持跨服务(内部或外部)的分布式跟踪。跟踪不需要插装应用程序代码,因为 Dapr 使用 HTTP/gRPC 中间件来拦截所有 Dapr 和应用程序流量,并自动注入相关 ID 以跟踪分布式事务。Dapr 与 OpenTelemetry 兼容,后者支持使用许多后端,包括 Azure Monitor、Datadog、Instana、Jaeger、SignalFX、Stackdriver、Zipkin 以及其他等等。


Dapr 架构遵循边车模式,这意味着它的组件既可以作为独立的进程部署,也可以作为提供隔离和封装的容器部署,而且不需要在应用程序代码中包含运行时。这使得将 Dapr 与其他运行时集成然后在 Kubernetes 环境中使用它变得很容易。


Dapr 针对许多语言提供了 SDK,包括 GoJava、 JavaScript、 Python,当然还有.NET。特定于语言的 SDK 以符合语言习惯的方式暴露 Dapr API,并隐藏使用其 HTTP/gRPC API 的复杂性。


你可以使用主要操作系统可用的安装脚本来安装 Dapr。在 Linux 下,你可以运行以下命令:


$ wget -q [](https://raw.githubusercontent.com/dapr/cli/master/install/install.sh) -O - | /bin/bash
$ dapr init
复制代码


然后你可以通过执行 Dapr run 在本地运行 Dapr,或者配置 Kubernetes 集群来利用它的自动伸缩能力。如果你打算在 Kubernetes 中使用 Dapr,确保你也可以检出最近针对 Kubernetes 发布的微软开放应用程序模型Open Application Model ,简称 OAM)及其最初的实现Rudr。OAM 和 Rudr 旨在帮助开发人员明确地定义他们的应用程序,使其与实现区分开来,并保持开发和部署之间的关注点分离。


原文链接:


Dapr Aims to Simplify the Creation of Resilient and Portable Microservices


2019-11-19 09:272452

评论 1 条评论

发布
用户头像
这玩意儿完全把service mesh做成了actor模型...会玩,将Service mesh,Actor,Grpc,EDA合并了...脑洞大开
2019-11-21 12:06
回复
没有更多了
发现更多内容

谷歌新AI模型在国际奥数竞赛达到银牌标准!OpenAI推出AI搜索引擎SearchGPT挑战谷歌!|AI日报

可信AI进展

人工智能

ShareSDK第三方平台使用指南——新浪微博

MobTech袤博科技

Java 开发者 产品动态

Interconnectivity of Industrial Equipment: IPQ9574 vs. IPQ4019 in Real-World Applications

wallyslilly

Autodesk AutoCAD2020(附安装教程图解) 激活特别版 mac/win

Rose

AutoCAD2022序列号 autocad2022秘钥

macos big sur 软件icons图标大全(新增至2719枚大苏尔风格图标)

Rose

Pod 卡在 Terminating 怎么办?

小猿姐

Kubernetes kubernetes pod

油猴Safari浏览器辅助插件 油猴脚本Tampermonkey mac版下载安装教程

Rose

Tampermonkey插件 油猴脚本使用

日程管理多源归一,服务场景一键直达

HarmonyOS SDK

HarmonyOS

复古传奇,经典归来,清渊传奇详细图文架设教程

echeverra

清渊传奇

React 的 KeepAlive 实战指南:深度解析组件缓存机制

袋鼠云数栈

前端 技术人 UED keepalive keep-alive实现原理

数据分析统计Minitab Express for Mac破解补丁 及安装教程 兼容m芯片

Rose

数据统计 Mac 软件 数据分析软件 Minitab Express下载 Minitab Express破解版

超13万律师使用的工具,启信宝推出“司法大数据”功能

合合技术团队

人工智能 大数据 司法

macOS Sonoma 14.6 (23G80) 正式版发布,ISO、IPSW、PKG 下载

sysin

macos Sonoma

最佳实践分享 I 流程挖掘助力头部科技企业信创之路数字化转型

望繁信科技

数字化转型 降本增效 科技企业 流程挖掘 望繁信科技

Databend 开源周报第 155 期

Databend

综合性价比超越硅谷,PPIO派欧云发布下一代推理加速引擎

Geek_2d6073

macOS Sequoia 15.1 beta (24B5009l) ISO、IPSW、PKG 下载

sysin

macos sequoia

跨平台的SSH、Telnet和SFTP客户端Termius for Mac v8.4.0直装激活版

Rose

Termius for Mac破解

JProfiler for Mac(Java开发分析软件) JProfiler

Rose

Java 开发 JProfiler 14下载 JProfiler 14破解版

微服务架构革新:百度Jarvis2.0与云原生技术的力量

百度Geek说

微服务架构 企业号2024年7月PK榜 百度商业产品矩阵 Jarvis应用托管平台

AlDente Pro :苹果电脑电池管理工具 延长电池寿命

Rose

苹果电脑 电池管理 AlDente Pro破解版 电池寿命

文献解读-遗传病-第二十五期|《通过贝叶斯和单倍型预测胎儿基因型进行单基因病的无创产前诊断》

INSVAST

基因测序 基因数据分析 生信服务 遗传病测序 遗传病

Apple Intelligence将在今年10月推出?AI毛绒玩具BubblePal回答人类幼崽十万个为什么!|AI日报

可信AI进展

人工智能

基于大模型的对话式数据分析产品“腾讯云 ChatBI ”正式上线公测

腾讯云大数据

腾讯云 BI

macOS Catalina for mac (macos 10.15系统)v10.15.7正式版

Rose

IPQ5332 WiFi 7 Router with QCN9274-6G and QCN9274-5G Modules: A Comprehensive Technical Analysis

wifi6-yiyi

WiFi7

硅纪元视角 | 苹果AI训练数据大曝光,坚持用户隐私第一

硅纪元

第61期|GPTSecurity周报

云起无垠

怎样在touchbar养电子宠物? Touch bar pet for Mac 在macbook上养一只宠物

Rose

MacBook 电子宠物 touchbar

需求缺陷管理:8款最佳系统全面评测

爱吃小舅的鱼

缺陷管理系统 缺陷管理 缺陷管理工具 需求缺陷管理

低代码平台在采购管理中的革新与应用

天津汇柏科技有限公司

低代码 采购管理 软件定制开发

Dapr旨在简化弹性和可移植微服务的创建_架构_Sergio De Simone_InfoQ精选文章