写点什么

Dapr 可视化指南

  • 2021-03-05
  • 本文字数:1652 字

    阅读完需:约 5 分钟

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-03-05 15:065777

评论

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

第9周总结+作业

林毋梦

秒杀系统设计初稿

jason

面经手册 · 第2篇《数据结构,HashCode为什么使用31作为乘数?》

小傅哥

Java 数据结构 面试 小傅哥

尚未到来的远程工作

张凯峰

敏捷 敏捷开发 软件开发 远程办公 thoughtworks

Ubuntu启动盘无法格式化

kraken0

计算机网络基础(十四)---传输层-UDP协议详解

书旅

计算机网络 网络 协议栈 通信协议

SpreadJS 纯前端表格控件应用案例:SPDQD 质量数据云

葡萄城技术团队

SpreadJS 案例

架构师训练营 - 第九周 - 作业

韩挺

训练一个数据不够多的数据集是什么体验?

华为云开发者联盟

数据 数据集 华为云 标签 modelarts

我还在生产玩 JDK7,JDK 15 却要来了!|新特性尝鲜

楼下小黑哥

Java jdk

总结

Kiroro

架构师训练营第九章作业

叮叮董董

Elasticsearch从入门到放弃:瞎说Mapping

Jackey

elasticsearch

秒杀系统的架构设计

莫莫大人

JVM系列之:从汇编角度分析Volatile

程序那些事

Java JVM JIT 汇编

树莓派上安装docker记录

田振宇

NOSQL or NEWSQL

大唐小生

sql nosql

技术贴丨教你使用华为云鲲鹏服务器部署Discuz!论坛

华为云开发者联盟

鲲鹏920 服务器 华为云 Discuz! 华为云鲲鹏

Atlassian 重磅推出12个新功能为您打造全新 DevOps 体验!

Atlassian

项目管理 DevOps Atlassian Jira

关于微信电子发票生态,这三种服务商最有机会

诸葛小猿

电子发票 发票

【第九周作业】

Aldaron

HomeWork

天之彼方

一周信创舆情观察(7.27~8.2)

统小信uos

微服务架构下的核心话题 (一):微服务架构下各类项目的顺势崛起

xcbeyond

架构 微服务

当面试官问我ArrayList和LinkedList哪个更占空间时,我这么答让他眼前一亮

鄙人薛某

Java 面试 集合 java基础

JVM学习总结

jason

Docker-compose实战

北漂码农有话说

架构师训练营第九章总结

叮叮董董

并发-草稿

superman

《RabbitMQ》如何保证消息的可靠性

Java旅途

作业一

Kiroro

Dapr可视化指南_开源_Nitya Narasimhan_InfoQ精选文章