写点什么

Dapr 可视化指南

2021 年 3 月 05 日

Dapr可视化指南

译者注:原文来自 Dapr 官方博客 A visual guide to Dapr,文章内容比较浅显易懂,适合简单阅读以对 Dapr 有个初步了解。最大的亮点是那张 Dapr 的概述大图,很好,很萌,作者 Nitya Narasimhan 是个很会画图的大眼萌妹子。


作为微软开发者关系部 Cloud Advocacy 团队的一员,我有一个独特的福利,那就是可以从那些在使用和开发方面拥有实际专业知识的人那里听到很多不同的技术和解决方案。因此,当我听到我的开源宣传团队的同事们在和 "云原生 "和 "微服务" 一起使用 Dapr 这个名字时,我很感兴趣。


然后,我很高兴地发现 Dapr 代表 "Distributed Application Runtime/分布式应用运行时",并在本月早些时候 刚刚达到生产就绪的 v1.0 状态。我想知道关于它的一切。值得庆幸的是,Dapr 有大量的文档来帮助我们入门。所以,当我想学习新的东西时,我做了我经常做的事情——我把学到的东西浓缩成一张大图,一张草图。现在,我想和你分享我的初步学习成果!

大图

我之前曾说过。和 65% 的视觉学习者用户一样,我发现,在我深入了解细节之前,将关键信息记录在一张纸上可以有助于把握大局。不仅能让我更好地了解该技术的各个方面,而且还能将其与其他可能与上下文相关的想法或概念 "联系起来"。所以,让我先分享一下 sketchnote(见下图)。你可以在 云技能:Sketchnotes网站 下载一个更高分辨率的版本,并查看 Visual Azure 博客,以了解其他云计算技术的可视化指南。


主要收获

上面的概述图片涵盖了很多领域,但以下是我总结的要点。

什么是 Dapr?

Dapr 是 Distributed Application Runtime 的缩写。它是一个可移植的、事件驱动的运行时,使应用开发者可以轻松构建弹性的无状态和有状态应用,而这些应用可以运行在云和边缘环境上。更重要的是,Dapr 支持多种编程语言和开发者框架,为我们提供了一个快速体验和使用的起点。你可以在 Dapr 概述文档 中获得更多细节。

为什么使用 Dapr?

许多应用开发者都有传统的 3 层(客户端-服务器-数据库)架构的经验。然而,云原生系统依赖于松耦合的系统和微服务架构,旨在拥抱大规模、快速变更和弹性运维。现在,开发人员面临着一系列的全新挑战,如发现(和调用)微服务、管理密钥以及故障后恢复状态。


Dapr 提炼了最佳实践,将微服务构建成独立、开放的"构建块",然后暴露 API 以便于集成和清洗的分离关注点。开发者只需使用这些块中所需的子集,逐步构建,就能很快让他们的应用启动并运行。

Dapr 如何工作?

Dapr 以 sidecar 架构 的形式暴露其 API 。实际上,Dapr 可以在自己的容器或进程中与主应用程序一起运行。您的应用程序不需要将 Dapr 集成到其核心中,而是可以通过 HTTP 或 gRPC 调用构建块 API。这清晰的分离了应用程序逻辑与微服务支持服务,更容易扩展您的解决方案 —— 从自托管(开发)到云托管(虚拟机或 Kubernetes)和边缘部署。


虽然您可以简单地使用手动制作的 HTTP 或 gRPC 调用来访问这些 API,但您也有一套丰富的 特定语言 SDK,为你提供语言优化的类型化 API,更容易集成和测试。目前支持的语言 SDK 包括 C++、Go、Java、JavaScript、Python、PHP、Rust 和 .NET! 请注意,Dapr 本身是语言无关的,它提供了一个默认的 RESTful HTTP API,如果你喜欢的语言 SDK 还不支持,你可以直接调用。

我还应该知道什么?

只有三件事:


  • Dapr v1.0 已经做好了生产准备! Dapr 有几个早期采用者,v1.0 版本更加注重性能、安全、高可用性和一致性等方面。请 在此阅读该版本的亮点

  • Dapr 是开源的,您可以在 Github上找到核心运行时代码、文档、快速开始等,并 欢迎社区贡献。Dapr Discord 服务器 和定期的 社区会议 是与社区互动的好方法!

  • Dapr 生态系统正在成长! 有 70 多个 组件 是由社区贡献的,所以 Dapr 可以帮助您的应用程序与广泛的技术集成,也使它在多云和混合云场景下有非常好的可移植性。


入门最简单的方法是通过这个 入门教程 设置您的本地开发环境(自托管模式),并探索提供的 quickstart,用代码学习核心概念!不要忘了关注 @daprdev 的 Twitter,以获得更新的消息。不要忘记在 Twitter 上关注@daprdev,以获得更新和新闻的通知。

2021 年 3 月 05 日 15:063775

评论

发布
暂无评论
发现更多内容

Go Goroutine

escray

go 极客时间 学习笔记 4月日更 Go 语言从入门到实践

户外广告行业的未来会是那个方向?

󠀛Ferry

芯片设计软件上云新思路!看珂晶达如何高效拓宽市场 | 精选案例

亚马逊云科技 (Amazon Web Services)

玩一玩Tiktok

箭上有毒

4月日更

TikTok安装

箭上有毒

4月日更

专家呼吁:保护肾脏,从关注酸性尿开始

商业资讯

搭载自研处理器 Amazon Graviton2 的 Amazon EC2 X2gd 已全面可用 | 新服务上线

亚马逊云科技 (Amazon Web Services)

行动起来!为迁移到自己的证书颁发机构做好准备!

亚马逊云科技 (Amazon Web Services)

在gitee码云上搭建一个网站

空城机

JavaScript 前端 gitee 4月日更 搭建网页

重磅更新!运维工程师打怪升级进阶之路 3.0(体系化带你全面从入门到企业实战)

民工哥

Linux linux运维 运维工程师 linux学习 后端技术

领域驱动设计 101- 上下文与持续集成

luojiahu

领域驱动设计 DDD

ElasticSearch 如何使用 TDigest 算法计算亿级数据的百分位数?

程序员历小冰

elasticsearch 近似算法 TDgigest 大数据量

【提纲】专访融云 CTO 杨攀 | 物联网城池应用和发展

李孟

调查采访能力考核

混沌工程=可观测性+探索性测试?

混沌工程实践

云原生 可观测性 混沌工程 测试右移 探索性测试

【LeetCode】实现 strStr()Java题解

HQ数字卡

算法 LeetCode 4月日更

干货来袭!阿里Java面试26大专题整理PDF版Github开源(2021最新)

程序员小毕

Java spring 程序员 架构 面试

Ansible 介绍

耳东

4月日更

使用 Amazon SageMaker 特征存放区存储、发现和共享机器学习特性!

亚马逊云科技 (Amazon Web Services)

架构实战营 - 模块 2- 微信朋友圈高性能复杂度分析

吴建中

架构实战营

搭建亿级时间线数据的监控系统,我有绝招!

华为云开发者社区

Grafana 监控系统 GaussDB(for Influx) 华为云数据库 时间线

游戏开发者福音!我们和 TapTap 将为您提供全套的发行服务!

亚马逊云科技 (Amazon Web Services)

由 JVM Attach API 看跨进程通信中的信号和 Unix 域套接字

AI乔治

Java 架构 JVM 性能调优

1W字|40 图|硬核 ES 实战

悟空聊架构

全文检索 elasticsearch elastic springboot 实战

LeetCode题解:145. 二叉树的后序遍历,栈,JavaScript,详细注释

Lee Chen

算法 LeetCode 前端进阶训练营

我们携手东软集团,助力智能汽车“乘云转型达四海” | 精选案例

亚马逊云科技 (Amazon Web Services)

NoCode 实战 | 想要开发在线选课系统?何必那样大费周章!

亚马逊云科技 (Amazon Web Services)

MySQL 死锁套路:再来看一例走不同索引更新的例子

AI乔治

Java MySQL 架构

专访声网首席科学家钟声|倾听不一样的“钟声”,声网实时互动服务

程序员架构进阶

28天写作 四月日更 4月日更 调查采访能力考核 人物访谈

模块2的作业

谢博琛

浪潮云洲链全面接入“星火·链网”

浪潮云

工业互联网

SpringBoot极简集成Shiro

Java小咖秀

spring springboot shiro

Leader修炼指“北”:管理路上的大小Boss

Leader修炼指“北”:管理路上的大小Boss

Dapr可视化指南-InfoQ