万本电子书0元读

万本电子书0元读

顶部广告

云原生应用开发实战——基于.NET开发框架及Kubernetes容器编排技术电子书

聚合多位微软MVP剖析经典项目,系统介绍云原生应用发思路、方法、技巧

售       价:¥

纸质售价:¥89.20购买纸书

2人正在读 | 0人评论 6.4

作       者:51Aspx

出  版  社:机械工业出版社

出版时间:2024-01-01

字       数:20.3万

所属分类: 科技 > 计算机/网络 > 计算机理论与教程

温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(0条)
  • 读书简介
  • 目录
  • 累计评论(0条)
本书是一本介绍 .NET 云原生发技术的实用教程,由多位微软MVP联合编写,通过实际的项目代码,从多个角度深浅出地阐释了云原生发的理论和在实际发中的应用。全书共11章,主要内容包括:迎云原生的浪潮;配置 .NET 云原生发与运行环境;云原生应用发—电子商务应用eShopOnContainers;实现云原生应用的扩展性;实现云原生应用的通信;数据访问模式;实现可恢复的弹性应用;实现云原生应用的身份管理;实现云原生应用的可观察性;深理解云原生、容器、微服务和DevOps:基于Dapr发云原生应用。 本书适合具有 C# 发经验的软件工程师、软件架构师,希望学习最新的 .NET 技术,完成云原生应用发转型的发人员阅读。对于希望从头始学习 .NET 技术和云原生发的发人员也是非常好的选择。<br/>【推荐语】<br/>聚合多位微软MVP剖析经典项目,系统介绍云原生应用发思路、方法、技巧<br/>【作者】<br/>51Aspx简介 51Aspx(https://www.51aspx.com/)是业内领先的.NET学习和源码分享平台,并紧跟技术趋势,不断扩展编程语言类型和合作团队。目前,51Aspx有110万注册会员,14000余套完整源码,以及建立紧密合作关系的资深发者800余人。51Aspx积极与微软官方合作举办各类.NET技术活动,与微软MVP团队、微软Reactor团队紧密合作,多次受邀参加微软中国及美国总部的重大技术合作,积极与微软一道传 播.NET。 刘海峰:软积木CEO、微软资深MVP(最有价值专家)、微软技术大会特约讲师。 郝冠军:十届微软MVP,《ASP.NET 本质论》作者,《精通 ASP.NET Core MVC》译者。多年来致力于软件发技术的钻研与推广,涉及多种发语言与技术。 张善友:广东智用人工智能应用研究院工业&社区CTO。从事 .NET技术发二十多年,CKAD认证专家,曾在腾讯工作12年,2018年创立深圳友浩达科技,专注云原生和工业物联网解决方案落地。目前在广东智用人工智能应用研究院 担任CTO。积极参与运营 .NET 技术社区、Dapr中文社区、Semantic Kernel 中文社区以及相关源项目,运营微信公众号“dotnet跨平台”和“新一代智能应用”。连任18届微软最有价值专家MVP,5届华为云HCDE,5届腾讯云最有价值专家TVP。 闫晓迪:微软最有价值专家/微软认证讲师,微软认证Azure解决方案架构师。曾担任微软技术大会讲师,多年微软技术社区组织者。近20年 .NET平台发经验,熟悉ASP.NET、WPF、UWP、Azure 等多种微软技术。目前专注于 .NET、Azure及Cloud Native应用发。现居新西兰,CITANZ(新西兰华人IT协会)志愿者、惠灵顿 .NET Meetup 组织者。LinkedIn Learning讲师。 梁桐铭:微软MVP、Microsoft AI Open Hack教练、Microsoft Tech Summit讲师,52ABP 源框架作者,畅销书《深浅出 ASP.NET Core》作者。 徐磊:英捷创软科技(北京)有限公司首席架构师/CEO,微软MVP,微软区域技术总监,GitHub 中国区授权服务团队负责人,认证Scrum Master,EXIN DevOps Master/Professional认证讲师,中国最大的敏捷精益社区 IDCF 创始人。专注于软件工程,敏捷精益商业创新方面的管理咨询。经客户涵盖从电信,能源,传统生产制造,金融和电商等各行业,从 2005 年至今已经为超过100家企业提供过软件工程方案的咨询和服务,包括:华为、中国农业银行、招商银行、兴业银行、中国银行、斯伦贝谢、中国联通、中国人民保险、京东商城、通用汽车等。 卢建晖:微软高级云技术布道师,专注在人工智能和大数据领域。 桂素伟:发者,架构师,曾是10届微软MVP,擅长 .NET技术和系统架构;对高性能,高并发发和性能排查很有心得;喜欢分享技术,长期耕耘微信公众号“桂迹”。现就职东京 NETSTARS,任架构师。 陈仁松:曾连续获得五届微软最有价值专家(MVP),是一位拥有十年以上互联网经验的老兵,具备丰富的研发经验,专注于 AI-Native、云原生等方向的技术发和探索。 梁敏:微软 .NET20周年云原生发者大赛筹办人、Prompt Engineering Conference(China)负责人、AIGC成都社区主理人。<br/>
目录展开

前言

第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章 实现云原生应用的通信

5.1 云原生应用通信的复杂性

5.2 服务注册与服务发现

5.2.1 微服务下的服务注册和服务发现

5.2.2 Docker Compose环境下的服务注册与发现

5.2.3 Kubernetes环境下的服务注册与发现

5.3 前端应用的通信模式

5.3.1 实现网关的选择

5.3.2 实时通信

5.4 服务与服务之间的通信

5.4.1 查询Query

5.4.2 命令Command

5.4.3 事件Event

5.4.4 领域总线和集成总线

5.5 新一代通信协议gRPC

5.5.1 gRPC的优势

5.5.2 gRPC核心概念

5.5.3 在.NET中应用gRPC

5.5.4 gRPC的使用场景

5.5.5 在eShopOnContainers中实现gRPC支持

5.6 服务网格(Service Mesh)

5.7 实战演练:实现eShopOnContainers中的组件间通信

5.7.1 实现基于Envoy的API网关

5.7.2 实现BFF网关

5.7.3 实现基于MediatR的领域总线

5.7.4 基于RabbitMQ实现跨微服务的事件总线

5.7.5 基于事件总线实现集成总线

5.8 小结

第6章 数据访问模式

6.1 云原生应用中的数据访问模式

6.1.1 微服务中对数据库使用方式的变化

6.1.2 跨微服务的查询

6.1.3 数据完整性和分布式事务

6.1.4 大规模数据访问

6.2 关系型与非关系型数据库

6.2.1 CAP定理

6.2.2 关系型数据库与NoSQL数据库

6.2.3 NewSQL数据库

6.3 在云原生应用中应用缓存

6.3.1 应用缓存的原因

6.3.2 云原生应用的缓存架构

6.4 实战演练:实现eShopOnContainers中产品价格变更的最终一致性

6.4.1 实现简化事件溯源模式的集成事件日志

6.4.2 发布基于事件日志表的分布式事务

6.4.3 订阅集成事件

6.5 小结

第7章 实现可恢复的弹性应用

7.1 应用程序的弹性模式

7.2 设计支持弹性的通信方案

7.2.1 客户端方案

7.2.2 服务器端方案

7.2.3 服务网格

7.3 实战演练:在eShopOnContainers中实现弹性应用

7.3.1 基于Polly实现弹性通信

7.3.2 实现基于Envoy的弹性通信

7.4 小结

第8章 实现云原生应用的身份管理

8.1 云原生应用的认证与授权

8.1.1 基于票据(Ticket)的认证

8.1.2 基于OAuth标准的授权

8.1.3 基于OpenID Connect的授权

8.1.4 认证过程的改进:PKCE

8.1.5 零信任网络

8.2 基于IdentityServer4实现OpenID Connect

8.2.1 IdentityServer的基本概念

8.2.2 创建认证服务器

8.2.3 IdentityServer对认证流的支持

8.3 实战演练:在eShopOnContainers中集成身份认证服务

8.3.1 服务器端配置

8.3.2 客户端配置

8.3.3 保护购物车API

8.4 小结

第9章 实现云原生应用的可观察性

9.1 可观察性的概念

9.1.1 日志Log

9.1.2 度量指标Metric

9.1.3 链路追踪Tracing

9.2 云原生应用中的遥测管理

9.2.1 监控

9.2.2 警报

9.2.3 集中式遥测管理

9.3 使用Seq管理日志

9.3.1 Seq的特色

9.3.2 配置Serilog输出日志到seq

9.3.3 配置Seq服务

9.3.4 使用Seq管理日志

9.4 使用ELK技术栈管理日志

9.4.1 ELK技术栈的优势

9.4.2 Logstash

9.4.3 Elasticsearch

9.4.4 使用Kibana可视化数据

9.4.5 设置ELK环境

9.4.6 启用ELK日志管理

9.5 应用OpenTelemetry

9.5.1 OpenTelemetry的.NET支持

9.5.2 使用遥测库

9.5.3 应用遥测收集器Otel Collector

9.5.4 使用遥测数据

9.5.5 在eShopOnContainers中应用OpenTelemetry

9.6 小结

第10章 深入理解云原生、容器、微服务和器、微服务和DevOps

10.1 基础设施即代码(IaC)

10.1.1 IaC的含义

10.1.2 IaC的实现原则

10.1.3 IaC的落地方法

10.2 云原生和DevOps的多层含义

10.3 DevOps实施落地的两大法宝

10.3.1 敏捷让我们重新定义管理

10.3.2 传统开发VS敏捷开发

10.3.3 软件研发过程:管理属性和工程属性

10.3.4 持续交付实施框架

10.3.5 微服务是软件研发解耦的终极形态

10.4 DevOps实施落地的三步工作法

10.5 版本管理系统

10.5.1 版本管理系统的作用

10.5.2 Git分布式版本管理系统的作用

10.5.3 在微服务开发中使用拉取请求(Pull Request)的方式管理代码

10.6 微服务发布流水线完整示例:FPR-CICD-Flow工作流程

10.6.1 流程步骤说明

10.6.2 动态环境部署实现方式

10.7 小结

第11章 基于Dapr开发云原生应用

11.1 Dapr概览

11.1.1 技术架构

11.1.2 安装Dapr

11.1.3 Dapr工具集介绍

11.2 Dapr提供的构建块

11.2.1 状态管理

11.2.2 服务调用

11.2.3 发布与订阅

11.2.4 服务绑定

11.2.5 Actor

11.2.6 可观测性

11.2.7 密钥管理

11.2.8 配置管理

11.2.9 分布式锁

11.3 基于Dapr的云原生开发

11.3.1 微服务方法论与设计原则

11.3.2 Dapr在Kubernetes上的落地

11.4 基于Dapr的eShopOnDapr介绍

11.4.1 eShopOnDapr架构

11.4.2 在Kubernetes上部署eShopOnDapr

11.4.3 eShopOnDapr效果演示

11.5 小结

累计评论(0条) 0个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部