GVKun编程网logo

从.net开发做到云原生运维(六)——分布式应用运行时Dapr(.net 云原生)

7

在本文中,您将会了解到关于从.net开发做到云原生运维(六)——分布式应用运行时Dapr的新资讯,同时我们还将为您解释.net云原生的相关在本文中,我们将带你探索从.net开发做到云原生运维(六)——

在本文中,您将会了解到关于从.net开发做到云原生运维(六)——分布式应用运行时Dapr的新资讯,同时我们还将为您解释.net 云原生的相关在本文中,我们将带你探索从.net开发做到云原生运维(六)——分布式应用运行时Dapr的奥秘,分析.net 云原生的特点,并给出一些关于Apache Twill —— 分布式应用开发框架、Dapr 1.0 发布,分布式应用运行时、Dapr 1.4 发布,分布式应用运行时、Dapr 1.5 发布,分布式应用运行时的实用技巧。

本文目录一览:

从.net开发做到云原生运维(六)——分布式应用运行时Dapr(.net 云原生)

从.net开发做到云原生运维(六)——分布式应用运行时Dapr(.net 云原生)

1. 前言

上一篇文章我们讲了K8s的一些概念,K8s真的是带来了很多新玩法,就像我们今天这篇文章的主角Dapr一样,Dapr也能在K8s里以云原生的方式运行。当然它也可以和容器一起运行,或者是CLI运行,我们这篇文章只讨论容器和K8s运行方式。

2. Dapr介绍

Dapr 是一个可移植的、事件驱动的运行时,它使任何开发人员能够轻松构建出弹性的、无状态和有状态的应用程序,并可运行在云平台或边缘计算中,它同时也支持多种编程语言和开发框架。

概览图

Dapr概览

通过概览图我们能看到,Dapr在服务和基础设置K8s之间又做了一部分的抽象。而我们的服务开发就在这个抽象之上进行。

在Asp.net core进行服务调用的时候我们如果采用GRPC,就要有一个服务端,客户端还要注入客户端配置,比如配置服务端的ip地址什么的,但是如果采用Dapr的话,只要服务端引入Dapr的SDK做简单的服务封装,那么客户端就可以只通过服务端的应用名称就能做到数据的交互。

服务调用

服务调用官方文档

3. Dapr K8s边车注入原理

K8s中的Dapr采用Sidecar(边车挂载的形式),当一个工作负载部署到K8s中,通过部署文件里的注解就会进行校验,如果符合条件就会动态修改部署文件,然后加入一个Dapr的容器和服务一起运行。

这些操作需要大家了解K8s的一个名词叫动态准入控制,读完这个介绍大家就应该明白我刚才说的是什么意思了。

如果大家在集群安装了Dapr,通过以下指令获取对应的资源

kubectl get MutatingWebhookConfiguration

编辑指令编辑查看

kubectl edit MutatingWebhookConfiguration dapr-sidecar-injector

操作图

4. Dapr具体的应用示例

.net core的微服务开发这篇文章里的一个例子也有dapr的内容,但是只是一个demo,我们可以参考下微软社区的一个dapr实践的例子。

eShop on Dapr

架构图

这是一个社区维护的商城简单的dapr使用的架构图

整体算是很完善的demo了,适合asp.net core参考dapr的开发使用。

推荐文档

  • 面向 .NET 开发人员的 Dapr
  • Dapr 知多少 | 分布式应用运行时
  • Dapr官方文档库

Apache Twill —— 分布式应用开发框架

Apache Twill —— 分布式应用开发框架

Apache Twill 是一个 Apache Hadoop YARN 的抽象层,减少了开发分布式应用程序的复杂度,允许开发者把精力放在应用逻辑上。Apache Twill 可以让你向使用线程一样来使用 YARN 的分布式编程模型。

Dapr 1.0 发布,分布式应用运行时

Dapr 1.0 发布,分布式应用运行时

Dapr 1.0 正式发布。 Dapr 是一个开源、可移植的、事件驱动的运行时,可以帮助开发人员构建在云和边缘上运行的弹性的、微服务的、无状态和有状态应用程序,并且关注于业务逻辑而不用考虑分布式相关的问题。 通过此 1.0 版本,Dapr 应用程序可以在生产场景中部署到自托管基础设施或 Kubernetes 集群。

更新要点

  • 使用 Kubernetes 作为生产环境。对于 1.0 版本,Kubernetes 是主要的托管环境,并且与Dapr控制平面和Dapr Sidecar架构深度集成。例如,使用 Dapr CLI 的 “init” 和 “upgrade” 命令简化了 Dapr 在 Kubernetes 上的安装和升级操作,这些命令可以获取正确的 Dapr 运行时版本并确保以受控方式推出这些版本,包括迁移正在使用的证书。 
  • 性能,一致性和支持。Dapr 重视高性能,具有极低的服务到服务延迟,并且已针对高吞吐量方案进行了优化。此外,Dapr 由社区开发了70多个组件,并且通过了一组一致性测试。同时,Dapr 支持版本滚动窗口。在更改时,版本控制机制会确保完全的 API 向后兼容性,并且如果需要进行重大更改,会未来几个版本中指出。如果出现严重的安全问题,则支持当前和以前的版本进行修补更新。
  • 安全。Dapr 认识到基于微服务架构构建安全的现代分布式应用程序的复杂性,并且进行了多次独立的安全审核。用户可以使用其控制面服务发布的 x.509 证书提供的加密来抵御应用程序之间的中间人攻击,该加密会自动更新和滚动。支持细粒度的访问控制策略(ACL),以提供对状态存储,机密,服务之间的调用之类的资源的访问控制,或者发布/订阅特定主题。当使用 spiffe 访问资源时,Dapr 提供了广泛的 ACL 作为身份验证的标准。运行应用程序时,可以将它们跨不同的命名空间隔离,以进行操作部署和隔离。
  • 语言和 SDK。Dapr 的语言、框架和工具涵盖了所有开发人员社区。通过 HTTP 和 gRPC 协议,Dapr 可以在任何编程语言中使用,且在编译时不需要包括任何依赖项。同时,为了改善开发人员的本地语言体验,Java、.NET、Python 和 Go 的 SDK 也即将发布 1.0 版本。

关于 Dapr 1.0 版本的详细内容,请查看更新公告。

Dapr 1.4 发布,分布式应用运行时

Dapr 1.4 发布,分布式应用运行时

Dapr 1.4 正式发布。Dapr 是一个开源、可移植的、事件驱动的运行时,可以帮助开发人员构建在云和边缘上运行的弹性的、微服务的、无状态和有状态应用程序,并且关注于业务逻辑而不用考虑分布式相关的问题。 

主要更新内容

  • 启用状态存储的自动加密
  • 在 PubSub 的订阅者中添加了对 CloudEvent 过滤的支持
  • Dapr 现在支持 Daemonset
  • 默认情况下,在 K8s 中 BLOCKED Cross Pods 调用 Dapr sidecar
  • 修复组件 yaml 格式错误但没有错误日志的问题
  • 将正文添加到错误中,以防绑定失败
  • 导入的组件现在是可配置的
  • 优化:支持 dashboard 服务注解
  • 修复位置成员状态的数据竞争
  • 为 healthz 和元数据添加可选的公共 dapr 端点
  • 添加绑定读取事件以报告 grpc 协议的指标
  • 从 Kubernetes 上的 Operator 而不是从 sidecar 中获取机密
  • 减少了采样器分配时间并支持 Invoke 的所有服务名称
  • 在 Arm 32 位上修复构建错误
  • 允许输入绑定指定路由
  • 除了 gRPC 之外,还为 HTTP 启用基于路由的代理
  • 提高 Dapr 下载速度
  • 修复 dapr init 失败的问题
  • 将错误消息记录到 stder
  • dapr 仪表板应添加“--address”选项以定义监听地址

详情请查看更新公告。

Dapr 1.5 发布,分布式应用运行时

Dapr 1.5 发布,分布式应用运行时

Dapr 1.5 正式发布。Dapr 是一个开源、可移植的、事件驱动的运行时,可以帮助开发人员构建在云和边缘上运行的弹性的、微服务的、无状态和有状态应用程序,并且关注于业务逻辑而不用考虑分布式相关的问题。 

主要更新内容

  • 组件升级到稳定版
  • 增加用于状态管理的查询 API
  • 配置 API 构建块
  • 虚拟 actor 现在可以在 Dapr Go SDK 中使用
  • 发布了对 actor 运行时的增强功能以​​提高可靠性
  • 支持 ARM64 Mac(预览版)
  • 提高actor分区表传播的可靠性
  • 修复 Http opa 中间件崩溃的问题
  • 将 ReadBufferSize 参数传递给 fasthttp 服务器和 grpc 服务器
  • 在 pod 级别添加自定义标签的新参数
  • 修复 Dapr 运行时将 InputBinding 事件发送到未指定的位置的问题
  • 向 Helm Chart 值添加容忍度支持
  • 修复元数据标头未通过 dapr gRPC 代理发送到服务器的问题
  • 可重试的 pubsub 错误应包括日志中的主题
  • 支持服务调用中的 PATCH 请求

详情请查看更新公告。

 

今天关于从.net开发做到云原生运维(六)——分布式应用运行时Dapr.net 云原生的介绍到此结束,谢谢您的阅读,有关Apache Twill —— 分布式应用开发框架、Dapr 1.0 发布,分布式应用运行时、Dapr 1.4 发布,分布式应用运行时、Dapr 1.5 发布,分布式应用运行时等更多相关知识的信息可以在本站进行查询。

本文标签: