QCon 演讲火热征集中,快来分享技术实践与洞见! 了解详情
写点什么

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:272486

评论 1 条评论

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

MiniMax闫俊杰:国内模型远不及GPT-4;OpenAI隐瞒黑客曾入侵其内部系统|AI日报

可信AI进展

人工智能

央视揭露:上百元的AI填报高考志愿真的靠谱吗?阿里云新增两位AI圈“代言人”!|AI日报

可信AI进展

人工智能

ELB Ingress网关助力云原生应用轻松管理流量

华为云开发者联盟

云原生 华为云 ingress 华为云开发者联盟 企业号2024年7月PK榜

现代码头装卸系统:技术创新与效率提升

天津汇柏科技有限公司

智慧码头

性能测试:性能测试流程与方法

测试人

软件测试

基于51单片机设计的电动车控制器

DS小龙哥

7月月更

万界星空科技定制化MES系统,实现数字化生产

万界星空科技

数字化转型 生产管理系统 mes 万界星空科技

【评测有奖】参加 EMR Serverless Spark 产品评测,赢机械键盘、充电宝等礼品!

阿里云大数据AI技术

数据挖掘 spark Serverless EMR

深度解读昇腾CANN内存复用技术,降低网络内存占用

华为云开发者联盟

人工智能 神经网络 华为云 华为云开发者联盟 企业号2024年7月PK榜

Termius mac破解版 Mac系统上运行的SSH工具

理理

EverWeb for Mac(网页设计软件) v4.2.1中文版

理理

AI Agent【项目实战】:MetaGPT遇上元编程,重塑复杂多智能体协作的边界

汀丶人工智能

人工智能 agent metagpt

百度Feed业务数仓建模实践

百度Geek说

大数据 流批一体 数仓建模 企业号2024年7月PK榜

探索无限可能:华为云区块链+X,创新融合新篇章

轶天下事

iPaaS丨企业应用及数据集成的重要性和挑战

RestCloud

数据集成 ipaas 数据挑战

html5表单发送邮件

tbapi

php

迅雷精简版 for Mac(迅雷下载工具) v5.0.9中文免费版

理理

macOS 13 Ventura (苹果最新系统) v13.6.4正式版

理理

StarRocks跨集群迁移最佳实践|得物技术

得物技术

数据库 OLAP StarRocks 企业号2024年7月PK榜

华为云致力推进全域Serverless时代,引领技术创新,赋能行业实践

轶天下事

小间距LED显示屏市场:新机遇与挑战

Dylan

技术 行业 LED display LED显示屏 市场

KubeBlocks v0.9发布啦!API全面升级、支持Redis Cluster、MySQL主备...更多新功能等你发现!

小猿姐

数据库 Kubernetes 云原生

接入应用内支付服务,提高商业变现效率

HarmonyOS SDK

HarmonyOS

Downie 4 for Mac(视频下载工具)兼容14系统 v4.7.2中文版

理理

MySQL Workbench for mac(数据库工具) v8.0.21激活版

理理

Pixelmator Pro for Mac(媲美PS的修图软件) v3.6.4中文激活版

理理

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