新書推薦:
《
剑桥斯堪的纳维亚戏剧史(剑桥世界戏剧史译丛)
》
售價:NT$
704.0
《
禅心与箭术:过松弛而有力的生活(乔布斯精神导师、世界禅者——铃木大拙荐)
》
售價:NT$
301.0
《
先进电磁屏蔽材料——基础、性能与应用
》
售價:NT$
1010.0
《
可转债投资实战
》
售價:NT$
454.0
《
王氏之死(新版,史景迁成名作)
》
售價:NT$
250.0
《
敢为天下先:三年建成港科大
》
售價:NT$
352.0
《
直观的经营:哲学视野下的动态管理
》
售價:NT$
407.0
《
长高食谱 让孩子长高个的饮食方案 0-15周岁儿童调理脾胃食谱书籍宝宝辅食书 让孩子爱吃饭 6-9-12岁儿童营养健康食谱书大全 助力孩子身体棒胃口好长得高
》
售價:NT$
214.0
|
編輯推薦: |
·由浅入深,逐层递进。本书涵盖Dapr开发的概念、原理与实践,帮助读者浅显易懂并且有代入感地了解如何使用Dapr开发微服务应用。
·囊括热门微服务开发框架。Dapr是微软力主推荐的微服务开发框架,目前已经在微软的多款产品中进行应用。
·实践性强。目前针对Dapr方面的实践指导类书籍在国内市场仍然处于空白。国内诸多行业缺乏对Dapr实施的认知与经验指导。
·贴合实际开发,助力开发人员实战。本书提供诸多Dapr在实施过程中所面临的问题与解决方法,具备较高的参考价值。
|
內容簡介: |
本书通过开发微服务示例程序来讲解Dapr的各项功能,并介绍其众多构建块的功能及使用方法。本书首先介绍了Dapr的基础知识以及相关环境的配置工作,以帮助读者快速进入Dapr的世界。其次,介绍了Dapr的核心概念、发布 订阅机制、资源绑定构建块与虚拟actor模型等相关知识,让读者进一步了解Dapr的相关功能。后,介绍了Dapr的实际运用,包括Dapr应用的部署与可观测性,以及在Kubernetes环境中对服务和actor等进行伸缩操作。本书可以帮助读者快速熟悉微服务架构,并运用Dapr来管理应用的复杂性和克服异构系统等问题。
本书适合希望探索微服务架构并在Dapr应用中通过Microsoft .NET Core来实现这些架构的开发人员阅读。
|
關於作者: |
Davide Bedin是云原生架构专家,他在云计算领域拥有丰富的经验。作为独立软件开发商的首席技术官,Davide带领企业进行数字化转型,探索出基于Microsoft Azure云服务的新解决方案。Davide尤其关注分布式计算向面向服务的架构及微服务架构的发展和演进过程。他大部分的开发生涯都投入网络服务相关的研发工作中。
|
目錄:
|
第 一部分 Dapr基础
第 1章 Dapr简介 3
1.1 技术要求 3
1.2 Dapr概述 4
1.3 Dapr架构 7
1.4 设置Dapr启动环境 9
1.4.1 Docker 9
1.4.2 Dapr CLI 10
1.4.3 .NET 10
1.4.4 VS Code 11
1.4.5 Windows终端 11
1.4.6 在自托管模式下安装Dapr 11
1.4.7 在Kubernetes上安装Dapr 12
1.4.8 升级Dapr版本 13
1.5 开发第 一个Dapr示例程序 14
1.6 小结 19
第 2章 调试Dapr解决方案 21
2.1 技术要求 21
2.2 在VS Code中配置和调试Dapr 22
2.2.1 连接调试器 22
2.2.2 检验调试配置 24
2.3 调试一个多项目的Dapr解决方案 29
2.3.1 创建.NET解决方案 29
2.3.2 启动配置 30
2.3.3 任务 32
2.3.4 启动独立的调试会话 33
2.3.5 启动组合的调试会话 34
2.4 结合Tye使用Dapr 35
2.4.1 安装Tye 36
2.4.2 使用Tye 36
2.5 小结 40
第二部分 使用Dapr构建微服务
第3章 服务间调用 43
3.1 技术要求 43
3.2 服务如何在Dapr中工作 44
3.2.1 示例程序架构 45
3.2.2 服务间调用 45
3.2.3 名称解析 47
3.3 使用.NET SDK进行服务调用 47
3.3.1 为order service创建一个项目 48
3.3.2 在ASP.NET中配置Dapr 48
3.3.3 通过ASP.NET控制器实现Dapr 49
3.3.4 为reservation service创建一个项目 50
3.3.5 准备调试配置 51
3.3.6 通过ASP.NET路由实现Dapr 51
3.3.7 回顾 56
3.4 Dapr服务的HTTP和gRPC调用 56
3.4.1 在ASP.NET中使用gRPC 56
3.4.2 微服务的自治 57
3.4.3 通过gRPC降低延迟 65
3.5 小结 66
第4章 状态管理 67
4.1 技术要求 67
4.2 Dapr状态管理 68
4.2.1 服务的状态——无状态和有状态 68
4.2.2 Dapr中的状态存储 69
4.2.3 事务 70
4.2.4 并发性 70
4.2.5 一致性 71
4.2.6 与状态存储的交互 71
4.3 电子商务网站的有状态服务 73
4.3.1 有状态的reservation-service 74
4.3.2 在ASP.NET控制器中处理Dapr状态 75
4.4 基于Azure Cosmos DB的状态存储 78
4.4.1 创建Azure Cosmos DB 79
4.4.2 配置状态存储 80
4.4.3 测试状态存储 82
4.4.4 Azure Cosmos DB分片 84
4.4.5 补充 86
4.5 小结 87
第5章 发布 订阅 89
5.1 技术要求 89
5.2 在Dapr中使用pub sub设计模式 90
5.3 在Dapr中使用Azure Service Bus 92
5.3.1 订阅主题 94
5.3.2 配置发布 订阅组件 96
5.3.3 发布到主题 98
5.3.4 检查消息 99
5.4 实现saga设计模式 101
5.4.1 向Dapr发布消息 103
5.4.2 订阅Dapr主题 104
5.4.3 测试saga设计模式 105
5.5 小结 107
第6章 资源绑定 109
6.1 技术要求 109
6.2 学习如何使用Dapr绑定 110
6.2.1 配置cron输入绑定 111
6.2.2 测试cron绑定 112
6.3 在Dapr中使用Twilio输出绑定 113
6.3.1 注册Twilio试用账户 114
6.3.2 配置Twilio输出绑定 115
6.3.3 通过输出绑定发送信号 115
6.3.4 验证通知 117
6.4 在C#中通过Azure Event Hubs输入绑定摄取数据 119
6.4.1 创建Azure Event Hubs绑定 120
6.4.2 配置输入绑定 121
6.4.3 实现Azure Event Hubs输入绑定 122
6.4.4 产生事件 124
6.5 小结 125
第7章 actor的用法 127
7.1 技术要求 127
7.2 在Dapr中使用actor 128
7.2.1 actor模型简介 128
7.2.2 配置Dapr actor状态存储 132
7.2.3 验证状态存储 133
7.3 actor的生命周期、并发性和一致性 134
7.3.1 placement服务 134
7.3.2 并发性和一致性 135
7.3.3 actor的生命周期 137
7.4 在电子商务网站预订系统中使用actor 138
7.4.1 创建actor项目 139
7.4.2 实现actor模型 140
7.4.3 在其他Dapr应用中访问actor 143
7.4.4 查看actor的状态 146
7.5 小结 147
第三部分 部署和伸缩
第8章 在Kubernetes中部署Dapr应用 151
8.1 技术要求 151
8.2 创建Kubernetes 152
8.2.1 创建Azure资源组 153
8.2.2 创建AKS集群 153
8.2.3 连接AKS集群 154
8.3 在Kubernetes中安装Dapr 155
8.4 部署Dapr应用 158
8.4.1 构建容器镜像 159
8.4.2 推送容器镜像 162
8.4.3 在Kubernetes中管理密码 164
8.4.4 Dapr应用部署 166
8.5 将Dapr应用暴露给外部客户端 170
8.6 小结 177
第9章 追踪Dapr应用 179
9.1 技术要求 179
9.2 观测Dapr中的应用 180
9.3 使用Zipkin进行追踪 182
9.3.1 设置Zipkin 182
9.3.2 配置Zipkin进行追踪 184
9.3.3 在Dapr中启用追踪 185
9.3.4 使用Zipkin追踪 187
9.4 使用Prometheus和Grafana分析指标 191
9.4.1 安装Prometheus 192
9.4.2 安装Grafana 193
9.4.3 导入Dashboard模板 193
9.5 小结 196
第 10章 负载测试和伸缩 197
10.1 技术要求 197
10.1.1 Bash 198
10.1.2 Python 198
10.1.3 Locust 199
10.1.4 Kubernetes配置 199
10.2 在Kubernetes中伸缩Dapr应用 200
10.2.1 副本 201
10.2.2 自动伸缩 202
10.2.3 资源请求和资源限制 204
10.3 使用Locust进行负载测试 207
10.4 Dapr应用的负载测试 209
10.4.1 通过端口转发准备数据 209
10.4.2 在本地测试Locust 210
10.4.3 在ACI中运行Locust 213
10.4.4 配置HPA 215
10.5 使用KEDA进行自动伸缩 217
10.6 小结 217
附录A 使用Dapr的微服务架构 219
A.1 发现微服务 219
A.1.1 服务 220
A.1.2 自治 221
A.1.3 自动化部署 221
A.1.4 有界上下文 222
A.1.5 松耦合 222
A.1.6 事件驱动架构 223
A.1.7 可观察性 223
A.1.8 可持续性 223
A.2 采用微服务模式 224
A.3 构建一个电子商务网站架构 226
A.3.1 定义有界上下文 226
A.3.2 示例:销售微服务 227
A.4 使用Dapr构建微服务 228
A.4.1 松耦合的微服务 228
A.4.2 自治的微服务 229
A.4.3 可观察的微服务 229
A.4.4 可扩展的微服务 229
A.4.5 事件驱动的微服务 229
A.4.6 无状态的微服务 230
A.5 小结 230
|
|