本书通过开发微服务示例程序来讲解Dapr的各项功能,并介绍其众多构建块的功能及使用方法。本书首先介绍了Dapr的基础知识以及相关环境的配置工作,以帮助读者快速进入Dapr的世界。其次,介绍了Dapr的核心概念、发布/订阅机制、资源绑定构建块与虚拟actor模型等相关知识,让读者进一步了解Dapr的相关功能。最后,介绍了Dapr的实际运用,包括Dapr应用的部署与可观测性,以及在Kubernetes环境中对服务和actor等进行伸缩操作。本书可以帮助读者快速熟悉微服务架构,并运用Dapr来管理应用的复杂性和克服异构系统等问题。
本书适合希望探索微服务架构并在Dapr应用中通过Microsoft .NET Core来实现这些架构的开发人员阅读。
作者简介:
Davide Bedin是云原生架构专家,他在云计算领域拥有丰富的经验。作为独立软件开发商的首席技术官,Davide引领企业进行数字化转型,探索出基于Microsoft Azure云服务的新解决方案。Davide尤其关注分布式计算向面向服务的架构及微服务架构的发展和演进过程。他大部分的开发生涯都投入网络服务相关的研发工作中。
目录:
第一部分 Dapr基础 1
第1章 Dapr简介 3
1.1 技术要求 3
1.2 Dapr概述 4
1.3 Dapr架构 7
1.4 设置Dapr启动环境 9
1.5 开发第一个Dapr示例程序 14
1.6 小结 19
第2章 调试Dapr解决方案 21
2.1 技术要求 21
2.2 在VS Code中配置和调试Dapr 22
2.3 调试一个多项目的Dapr解决方案 29
2.4 结合Tye使用Dapr 35
2.5 小结 40
第二部分 使用Dapr构建微服务 41
第3章 服务间调用 43
3.1 技术要求 43
3.2 服务如何在Dapr中工作 44
3.3 使用.NET SDK进行服务调用 47
3.4 Dapr服务的HTTP和gRPC调用 56
3.5 小结 66
第4章 状态管理 67
4.1 技术要求 67
4.2 Dapr状态管理 68
4.3 电子商务网站的有状态服务 73
4.4 基于Azure Cosmos DB的状态存储 78
4.5 小结 87
第5章 发布/订阅 89
5.1 技术要求 89
5.2 在Dapr中使用pub/sub设计模式 90
5.3 在Dapr中使用Azure Service Bus 92
5.4 实现saga设计模式 101
5.5 小结 107
第6章 资源绑定 109
6.1 技术要求 109
6.2 学习如何使用Dapr绑定 110
6.3 在Dapr中使用Twilio输出绑定 113
6.4 在C#中通过Azure Event Hubs输入绑定摄取数据 119
6.5 小结 125
第7章 actor的用法 127
7.1 技术要求 127
7.2 在Dapr中使用actor 128
7.3 actor的生命周期、并发性和一致性 134
7.4 在电子商务网站预订系统中使用actor 138
7.5 小结 147
第三部分 部署和伸缩 149
第8章 在Kubernetes中部署Dapr应用 151
8.1 技术要求 151
8.2 创建Kubernetes 152
8.3 在Kubernetes中安装Dapr 155
8.4 部署Dapr应用 158
8.5 将Dapr应用暴露给外部客户端 170
8.6 小结 177
第9章 追踪Dapr应用 179
9.1 技术要求 179
9.2 观测Dapr中的应用 180
9.3 使用Zipkin进行追踪 182
9.4 使用Prometheus和Grafana分析指标 191
9.5 小结 196
第10章 负载测试和伸缩 197
10.1 技术要求 197
10.2 在Kubernetes中伸缩Dapr应用 200
10.3 使用Locust进行负载测试 207
10.4 Dapr应用的负载测试 209
10.5 使用KEDA进行自动伸缩 217
10.6 小结 217
附录A 使用Dapr的微服务架构 219
A.1 发现微服务 219
A.2 采用微服务模式 224
A.3 构建一个电子商务网站架构 226
A.4 使用Dapr构建微服务 228
A.5 小结 230
点击下载