内容简介
本书的主要内容有:了解云原生应用的程模型。编写高能的分布式应用,而无需深入技术细节。使用Dapr轻松编写基于任何语言或框架的微服务。了解Dapr如何通过开放的API,以及可扩展、社区驱动的组件来提供的一致和可移植。探索Dapr如何处理状态、资源绑定,以及发布/订阅来实现可伸缩、可扩展、事件驱动的架构。将各种SaaS产品的能力集云应用,比如机器学aishi Bai是一位经验丰富的开发人员和架构师,拥有30多年的编程经验。他作为Microsoft Azure CTO办公室的成了一系列云创新项目。同时他还是一位热情的教育家,出版了八本云计算相关书籍,Yaron Schneider是Microsoft Azure CTO团队的软件工程师。他是一位狂热的开源倡导者和贡献者,主要于云原生技术。Yaron是KEDA(CF项目)和Osiris的原创作者之一。
目录
前言第0章 简介 0.1 什么是Dapr 0.1.1 异构环境的编程模型 0.1.2 更多的帮助,更少的倾向 0.1.3 不要重复造轮子! 0.1.4 统一的编程模型 0.2 Dapr的架构 语言支持 0.3 开始使用Dapr 0.3.1 Dapr独立模式下的Hello world ! 0.3.2 DaprKuberes模式下的Hello world 0.4 使用 gRPC 0.4.1 从gRPC客户端调用应用程序 0.4.2 编写gRPC服务器 0.5 绑定 0.5.1 独立模式下的绑定 0.5.2 Kuberes模式下的绑定 0.6 小结第1章 服务 1.1 在云出现之前 1.2 云的与挑战 1.2.1 可用 1.2.2 弹 1.2.3 云原生应用 1.2.4 基础设施是乏味的 1.3 服务调用 1.3.1 名称解析 1.3.2 请求和应答 1.3.3 并发控制 1.3.4 服务调用练r/> 1.3.5 通用命名空间 1.4 发布/订阅 1.4.1 基于消息的集成的好处 1.4.2 用Dap行发布/订阅 1.4.3 发布/订阅的工作方式 1.5 Dapr组件 1.5.1 Dapr配置 1.5.2 自定义管道 1.5.3 自定义管道练r/> 1.5.4 OAuth 2.0授权 1.5.5 编写自定义中间件 1.6 分布式追踪 1.6.1 追踪中间件 1.6.2 使用Zipkin追踪 1.6.3 使用Azure Monitor跟踪 1.7 服务运维 1.7.1 服务部署与升级 1.7.2 OAM 1.8 小结第2章 状态 2.1 状态管理 2.1.1 无状态与有状态 2.1.2 为什么无状态服务在云端更受欢迎? 2.1.3 托管有状态服务的挑战 2.1.4 将有状态服务转换为无状态服务 2.2 Dapr状态管理 2.2.1 并发模型 2.2.2 一致模型 2.2.3 批量操作和事务 2.2.4 多状态存储 2.2.5 重试策略 2.3 DaprState API 2.3.1 Key方案 2.3.2 Get请求 2.3.3 Set请求 2.3.4 Delete请求 2.3.5 事务请求 2.4 使用DaprState API 2.4.1 数据处理的考虑因素 2.4.2 数据查询和聚合 2.5 状态存储 2.5.1 Redir/> 2.5.2 Azure Cosmos DB 2.5.3 etcd 2.5.4 Apache Cassandra 2.5.5 Couchbar/> 2.6 自定义状态存储 2.6.1 实现 State API 2.6.2 更新组件注册表 2.7 小结第3章 消息 3.1 事件驱动编程 3.1.1 消息与事件的对比 3.1.2 输入绑定和输出绑定 3.1.3 Pub/Sub 3.2 Pub/Sub with Dapr 3.2.1 实现Powershell脚本 3.2.2 使用DaprCLI测试发布/订阅 3.2.3 Dapr发布/订阅行为 3.2.4 扩展 DaprPub/Sub 3.3 使用Dap行输入和输出绑定 3.3.1 使用输入绑定 3.3.2 使用输出绑定 3.3.3 实现输入绑定 3.3.4 实现输出绑定 3.3.5 使用KEDA自动缩放 3.4 消息传递模式 3.4.1 Saga模式 3.4.2 基于内容的路由 3.4.3 路由清单 3.4.4 智能代理 3.4.5 MapReduce 3.5 小结第4章 4.1 保护分布式应用程序 4.1.1 访问控制 4.1.2 数据保护 4.1.3 通信 4.1.4 入侵与异常检测 4.2 Dapr能 4.2.1 密钥存储 4.2.2 实现密钥存储 4.2.3 Secret API 4.2.4 Mutual TLS (mTLS) 4.2.5 DaprmTLS 4.3 小结第5章 Actor 5.1 Actor模式 5.1.1 现代Actor框架 5.1.2 Actor模型的误用 5.2 Dapr与Actor 5.2.1 调用一个DaprActor 5.2.2 状态管理 5.2.3 计时器 5.2.4 Reminder 5.3 开始使用 DaprActors for C 5.3.1 定义 Actor接口 5.3.2 实现 Actor接口 5.4 小结第6章 应用模式 6.1 云原生应用 6.1.1 云上环境 6.1.2 基于Dapr的云原生应用 6.2 使用 Dap行系统集成 6.2.1 使用分布式工作流构建有限状态机 6.2.2 同步 6.3 更大生态系统中的Dapr 6.3.1 Yeoman Dapr生成器 6.3.2 在Visual Studio Code中使用Dapr 6.3.3 在ASP.NET Core中使用Dapr 6.3.4 更大应用中的Dapr 6.3.5 Dapr和服务网格 6.4 边缘场景中的Dapr 6.5 小结第7章 Dapr的未来 7.1 能力交付 7.1.1 架构 7.1.2 应用场景 7.2 增强的Actor 7.2.1 聚合器 7.2.2 查询接口 7.2.3 Actor图 7.2.4 多版本Actor 7.2.5 Actor中间件 7.3 通用命名空间 7.3.1 架构 7.3.2 应用场景 7.4 边缘场景中的Dapr 7.4.1 作为轻量级函数运行时的Dapr 7.4.2 WebAsly中的Dapr 7.4.3 作为脚本的Dapr 7.5 Dapr的其他 7.5.1 Dapr组件投影 7.5.2 佳实践和经过验证的模式 7.5.3 Dapr描述符 7.5.4 Dapr对多方计算的 7.6 小结