更新时间:2024-05-10 12:10:24
封面
版权信息
作者简介
前言
第1章 迎接云原生的浪潮
1.1 扑面而来的云原生
1.1.1 单体应用面临的挑战
1.1.2 从微服务到云原生
1.1.3 云原生应用的特性
1.1.4 云原生计算基金会CNCF
1.2 云原生设计的十二原则
1.2.1 Codebase(单一代码)
1.2.2 Dependencies(依赖管理)
1.2.3 Configuration(配置)
1.2.4 Backing services(支撑服务)
1.2.5 Build Release Run(构建、发布、运行)
1.2.6 Processes(无状态服务进程)
1.2.7 Port Binding(端口绑定)
1.2.8 Concurrency(并发能力)
1.2.9 Disposability(易回收)
1.2.10 Dev/Prod Parity(环境对等)
1.2.11 Logs(日志流)
1.2.12 Admin Processes(管理进程)
1.3 云原生四大核心要素
1.3.1 容器化
1.3.2 微服务技术
1.3.3 DevOps
1.3.4 持续交付
1.4 使用.NET技术开发云原生应用的优势
1.4.1 高性能
1.4.2 跨平台
1.4.3 完全容器化支持
1.4.4 开源
1.5 小结
第2章 配置.NET云原生开发与运行环境
2.1 系统要求
2.2 安装与配置Git环境
2.2.1 安装Git
2.2.2 配置Git
2.2.3 下载eShopOnContainers源代码
2.3 安装.NET
2.3.1.NET版本选择
2.3.2 安装.NET
2.4 安装Visual Studio 2022或Visual Studio Code
2.4.1 安装Visual Studio 2022
2.4.2 安装Visual Studio Code
2.5 安装Docker
2.5.1 安装WSL 2
2.5.2 安装Docker Desktop
2.5.3 配置Docker Desktop
2.5.4 配置国内Docker环境
2.6 启用Kubernetes
2.7 小结
第3章 云原生应用开发——电子商务应用eShopOnContainers
3.1 云原生应用eShopOnContainers功能概述
3.1.1 功能需求
3.1.2 eShopOnContainers开发架构
3.2 运行eShopOnContainers应用
3.2.1 了解docker-compose文件
3.2.2 构建eShop
3.2.3 运行eShopOnContainers应用
3.2.4 注意事项
3.3 访问eShopOnContainers应用程序
3.3.1 访问MVC Web应用
3.3.2 访问SPA Web应用
3.3.3 访问Android、iOS和Windows上的移动应用
3.3.4 访问Swagger UI
3.3.5 访问日志控制台
3.3.6 应用程序与微服务列表
3.4 eShopOnContainers代码组织
3.4.1 项目架构
3.4.2 源代码介绍
3.4.3 领域驱动设计
3.4.4 单元测试和集成测试
3.5 小结
第4章 实现云原生应用的扩展性
4.1 容器化应用
4.1.1 单体部署面临的挑战
4.1.2 什么是Docker
4.1.3 Docker常用命令
4.1.4 开发中用到的Docker知识
4.2 镜像仓库
4.2.1 Docker Hub
4.2.2 创建自定义的容器镜像仓库
4.2.3 创建私有镜像仓库
4.3 Docker定义文件Dockerfile
4.3.1 Dockerfile语法概要
4.3.2 构建ASP.NET Core应用
4.3.3 构建ASP.NET Core Docker应用
4.4 扩展容器应用
4.4.1 使用Docker compose管理云原生应用
4.4.2 使用Kubernetes管理云原生应用
4.4.3 使用环境变量
4.5 容器与编排器实践
4.5.1 购物车服务
4.5.2 构建Dockerfile
4.5.3 构建docker-compose.yaml
4.5.4 构建Kubernetes部署文件
4.6 小结
第5章 实现云原生应用的通信