面向.NET开发人员的Dapr——总结和前景

Posted dotNET跨平台

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了面向.NET开发人员的Dapr——总结和前景相关的知识,希望对你有一定的参考价值。

目录:

Summary and the road ahead

总结和前景

We're at the end of our Dapr flight. The jet plane flying at 20,000 feet from chapter 2 is on final approach and about to land.

Dapr航班到达终点。飞机从第二章在20000英尺高空飞行,最后接近地面并即将着陆

As the plane taxis to the gate, let's take a minute to review some important conclusions from this guide:

  • Dapr - Dapr is a Distributed Application Runtime that streamlines how you build distributed applications. It exposes an architecture of building blocks and pluggable components. Dapr provides a dynamic glue that binds your application with infrastructure capabilities that exist in the Dapr runtime. Instead of building infrastructure plumbing, you and your team focus on delivering business features to customers.

  • Open source and cross-platform - The native Dapr API can be consumed by any platform that supports HTTP or gRPC. Dapr also provides language-specific SDKs for popular development platforms. Dapr v1.0 supports Go, Python, .NET, Java, php, and javascript.

  • Building blocks - Dapr building blocks encapsulate distributed application functionality. At the time of this writing, Dapr supports the seven building blocks shown in figure 11-1.

当飞机滑行到登机口时,花一点时间回顾本指南中的重要结论:

  • Dapr -Dapr 是一种 分布式应用程序运行时 ,它可以简化构建分布式应用程序的方式。它公开构建基块和可插入组件的体系结构。Dapr 提供了一个 动态胶水 ,它将应用程序与 Dapr 运行时中存在的基础结构功能进行绑定。你和你的团队将精力集中于向客户提供业务功能,而不是构建基础结构管道。

  • 开源和跨平台 -本机 Dapr API 可由支持 HTTP 或 gRPC 的 任何平台 使用。Dapr 还为常见开发平台提供特定于语言的 Sdk。Dapr v1.0 支持Go、Python、.NET、Java、PHP 和 JavaScript。

  • 构建块 -Dapr 构建块封装分布式应用程序功能。撰写本文时,Dapr 支持图11-1 中所示的七个构建块。

Figure 11-1. Dapr building blocks.

图 11-1。Dapr 构建块。

  • Components - Dapr components provide the concrete implementation for each Dapr building block capability. They expose a common interface that enables developers to swap out component implementations without changing application code. Figure 11-2 shows the relationship among components, building blocks, and your service.

  • 组件 -Dapr 组件提供每个 Dapr 构建块功能的具体实现。它们公开一个公共接口,使开发人员能够在不更改应用程序代码的情况下替换组件实现。图11-2 显示组件、构建块和服务之间的关系。

Figure 11-2. Dapr building block integration.

图 11-2。Dapr 构建块集成。

  • Sidecars - Dapr runs alongside your application in a sidecar architecture, either as a separate process of a container. Your application communicates with the Dapr APIs over HTTP and gRPC. Sidecars provide isolation and encapsulation as they aren't part of the service, but connected to it. Figure 11-3 shows a sidecar architecture.

  • 边车 -Dapr 在边车架构中与应用程序一起运行,可以作为容器的单独进程。应用程序通过 HTTP 和 gRPC 与 Dapr Api 通信。边车提供隔离和封装,它们不是服务的一部分,而是连接到它。图11-3 显示了边车的体系结构。

Figure 11-3. Sidecar architecture.

图 11-3。边车体系结构。

  • Hosting environments Dapr has cross-platform support and can run in multiple environments. At the time of this writing, the environments include a local self-hosted mode and Kubernetes.

  • eShopOnDapr - This book includes an accompanying reference application entitled eShopOnDapr. Using a popular e-commerce application domain, the reference application demonstrates the usage of each building block. It's an evolution of the widely popular eShopOnContainers, released several years ago.

  •  Dapr 宿主环境提供跨平台支持,可以在多个环境中运行。撰写本文时,环境包含本地自承载模式和 Kubernetes。

  • eShopOnDapr -此书籍包含一个名为 eShopOnDapr的附属参考应用程序。使用常见的电子商务应用域,参考应用程序演示了每个构建基块的用法。这是 eShopOnContainers(几年前发布且广泛使用)的一种演变。

The road ahead

前景

Looking forward, Dapr has the potential to have a profound impact on distributed application development. What can you expect from the Dapr team and its open-source contributors?

展望未来,Dapr 有可能对分布式应用程序开发产生深远的影响。你对Dapr 团队及其开源参与者有哪些期望?

At the time of writing, the list of proposed enhancements for Dapr include:

撰写本文时,Dapr 的建议增强列表包括:

  • Feature enhancements to existing building blocks:      现有构建块的功能增强:

    • Query capabilities in state management enabling you to retrieve multiple values.      状态管理中的查询能力使你能够检索多个值。

    • Topic filtering in pub/sub enabling you to filter topics based on their content.        通过 "发布/订阅" 中的主题筛选,您可以基于内容筛选主题。

    • An application tracing API in observability that provides tracing in the application directly without having to bind to specific libraries.       应用程序跟踪 API,无需绑定到特定库即可直接在应用程序中提供跟踪。

    • Binding and pub/sub support for actors providing event driven capabilities to the actor programming model. Bound components will trigger events and messages invoke methods in the actor.      通过为参与者增加绑定和发布/订阅支持,为参与者编程模型提供事件驱动能力。绑定组件将触发事件和消息调用执行组件中的方法。

  • New building blocks:      新构建块:

    • Configuration API building block for reading and writing configuration data. The block will bind to providers that include Azure Configuration Manager or GCP Configuration Management.      用于读取和写入配置数据的配置 API 构建块。该构建块将绑定到 Azure Configuration Manager 或 GCP GCP Configuration Management的提供程序。

    • Http scale-to-zero autoscale.       Http 自动缩容至0。

    • Leader election building block to provide singleton instances and locking semantic capabilities.        leader选举构建块提供单例和锁定语义能力(不会翻译)。

    • Transparent proxying building block for service invocation, enabling you to route messages based on URLs or DNS addresses at the network level.      用于服务调用的透明代理构建块,使你能够基于网络级别的 Url 或 DNS 地址来路由消息。

    • Resiliency building block (circuit breakers, bulkheads & timeouts).     弹性构建块 (断路熔断器,隔舱 & 超时) 。

  • Integration with frameworks and cloud native technologies. Some examples include:      与框架和云原生技术的集成。示例包括:

    • Django

    • Nodejs

    • Express

    • Kyma

    • Midway

  • New language SDKs:      新语言 Sdk:

    • JavaScript

    • RUST

    • C++

  • New hosting platforms:      新的宿主平台:

    • VMs

    • Azure IoT Edge

    • Azure Stack Edge

    • Azure Service Fabric

  • Developer and operator productivity tooling:      开发人员和操作员生产工具:

    • VS Code extension.        VS Code 扩展。

    • Remote Dev Containers for local debugging a DevOps pipeline development.       用于本地调试 DevOps 流水线开发的远程开发容器。

    • Dapr operational dashboard enhancements that will provide deeper visibility into the operational concerns of managing Dapr applications.      Dapr 操作仪表板增强功能,可更深入地了解管理 Dapr 应用程序的操作问题。

Dapr version 1.0 provides developers with a compelling toolbox for building distributed applications. As the proposed enhancement list shows, Dapr is under active development with many new capabilities to come. Stay tuned to the Dapr site and Dapr announcement blog for future updates.

Dapr 版本1.0 为开发人员提供了引人注目的工具箱来构建分布式应用程序。如建议的增强列表所示,Dapr 处于积极开发下,将有许多新功能。请继续关注 Dapr 站点 和 Dapr 公告博客 ,跟踪将来更新。

目录:

以上是关于面向.NET开发人员的Dapr——总结和前景的主要内容,如果未能解决你的问题,请参考以下文章

面向.NET开发人员的Dapr——机密

面向.NET开发人员的Dapr——可观察性

面向.NET开发人员的Dapr——绑定

面向.NET开发人员的Dapr——服务调用

面向.NET开发人员的Dapr——状态管理

面向.NET开发人员的Dapr——参考应用程序