图书目录

目 录

 第1章 ASP.NET Core基础 1

1.1 核心概念 1

1.1.1 CoreCLR 1

1.1.2 CoreFX 2

1.1.3 .NET Platform Standard 3

1.1.4 ASP.NET Core 3

1.2 安装 .NET Core 4

1.3 开发控制台应用 5

1.4 开发第一个 ASP.NET Core 应用 8

1.4.1 向项目添加 ASP.NET 包 8

1.4.2 添加 Kestrel 服务器 9

1.4.3 添加启动类和中间件 10

1.4.4 运行应用 12

1.5 本章小结 12

第2章 持续交付 15

2.1 Docker 简介 15

2.1.1 安装 Docker 16

2.1.2 运行 Docker 镜像 16

2.2 使用 Wercker 持续集成 18

2.3 用 Wercker 构建服务 18

2.3.1 安装 Wercker 命令行工具 19

2.3.2 添加wercker.yml配置文件 20

2.3.3 运行 Wercker 构建 22

2.4 使用 CircleCI 持续集成 22

2.5 部署到 docker hub 24

2.6 本章小结 25

第3章 使用ASP.NET Core开发微服务 27

3.1 微服务的定义 27

3.2 团队服务简介 28

3.3 API优先的开发方式 29

3.3.1 为什么要用 API 优先 29

3.3.2 团队服务的 API 30

3.4 以测试优先的方式开发控制器 31

3.4.1 注入一个模拟的仓储 38

3.4.2 完成单元测试套件 40

3.5 创建持续集成流水线 42

3.6 集成测试 43

3.7 运行团队服务的 Docker 镜像 46

3.8 本章小结 47

第4章 后端服务 49

4.1 微服务生态系统 49

4.1.1 资源绑定 51

4.1.2 服务间模型共用的策略 51

4.2 开发位置服务 53

4.3 优化团队服务 56

4.3.1 使用环境变量配置服务的URL 56

4.3.2 消费RESTful服务 57

4.3.3 运行服务 59

4.4 本章小结 62

第5章 创建数据服务 63

5.1 选择一种数据存储 63

5.2 构建Postgres仓储 64

5.2.1 创建数据库上下文 65

5.2.2 实现位置记录仓储接口 66

5.2.3 用EF Core内存提供程序进行测试 68

5.3 数据库是一种后端服务 68

5.4 对真实仓储进行集成测试 71

5.5 试运行数据服务 73

5.6 本章小结 76

第6章 事件溯源与CQRS 77

6.1 事件溯源简介 77

6.1.1 事实由事件溯源而来 78

6.1.2 事件溯源的定义 78

6.1.3 拥抱最终一致性 79

6.2 CQRS模式 80

6.3 事件溯源与CQRS实战——附近的团队成员 82

6.3.1 位置报送服务 83

6.3.2 事件处理器 92

6.3.3 事实服务 98

6.3.4 位置接近监控器 99

6.4 运行示例项目 99

6.4.1 启动服务 100

6.4.2 提交示例数据 101

6.5 本章小结 103

第7章 开发ASP.NET Core Web应用 105

7.1 ASP.NET Core基础 105

7.1.1 添加 ASP.NET MVC 中间件 108

7.1.2 添加控制器 109

7.1.3 添加模型 110

7.1.4 添加视图 110

7.1.5 从JavaScript中调用REST API 112

7.2 开发云原生 Web 应用 115

7.2.1 API 优先 116

7.2.2 配置 116

7.2.3 日志 116

7.2.4 会话状态 117

7.2.5 数据保护 117

7.2.6 后端服务 118

7.2.7 环境均等 118

7.2.8 端口绑定 119

7.2.9 遥测 119

7.2.10 身份验证和授权 119

7.3 本章小结 120

第8章 服务发现 121

8.1 回顾云原生特性 121

8.1.1 配置外置 121

8.1.2 后端服务 122

8.2 Netflix Eureka简介 123

8.3 发现和广播ASP.NET Core服务 125

8.3.1 服务注册 126

8.3.2 发现并消费服务 127

8.4 DNS以及由平台支持的服务发现 130

8.5 本章小结 131

第9章 微服务系统的配置 133

9.1 在 Docker中使用环境变量 134

9.2 使用Spring Cloud配置服务器 135

9.3 使用etcd 配置微服务 138

9.4 本章小结 144

第10章 应用和微服务安全 145

10.1 云环境中的安全 145

10.1.1 内网应用 145

10.1.2 Cookie和Forms身份验证 146

10.1.3 云环境中的应用内加密 146

10.1.4 Bearer令牌 147

10.2 ASP.NET Core Web应用安全 148

10.2.1 OpenID Connect基础 148

10.2.2 使用OIDC保障ASP.NET Core应用的安全 150

10.2.3 OIDC中间件和云原生 157

10.3 保障ASP.NET Core微服务的安全 158

10.3.1 使用完整OIDC安全流程保障服务的安全 159

10.3.2 使用客户端凭据保障服务的安全 160

10.3.3 使用Bearer令牌保障服务的安全 160

10.4 本章小结 164

第11章 开发实时应用和服务 165

11.1 实时应用的定义 165

11.2 云环境中的 WebSocket 166

11.2.1 WebSocket 协议 167

11.2.2 部署模式 167

11.3 使用云消息服务 168

11.4 开发位置接近监控服务 169

11.4.1 创建接近监控服务 169

11.4.2 为实时接近监控服务创建界面 178

11.5 本章小结 179

第12章 设计汇总 181

12.1 识别并解决反模式 181

12.2 继续辩论组合式微服务 184

12.2.1 使用断路器缓解风险 185

12.2.2 消除同步的组合模式 187

12.3 接下来,还要做什么? 188