新書推薦:
《
股票大作手操盘术
》
售價:HK$
53.8
《
何以中国·何谓唐代:东欧亚帝国的兴亡与转型
》
售價:HK$
87.4
《
一间只属于自己的房间 女性主义先锋伍尔夫代表作 女性精神独立与经济独立的象征,做自己,比任何事都更重要
》
售價:HK$
44.6
《
泉舆日志 幻想世界宝石生物图鉴
》
售價:HK$
134.2
《
养育女孩 : 官方升级版
》
售價:HK$
50.4
《
跨界:蒂利希思想研究
》
售價:HK$
109.8
《
千万别喝南瓜汤(遵守规则绘本)
》
售價:HK$
44.7
《
大模型启示录
》
售價:HK$
112.0
|
編輯推薦: |
聚合多位微软MVP剖析经典项目,系统介绍云原生应用开发思路、方法、技巧
|
內容簡介: |
本书是一本介绍 .NET 云原生开发技术的实用教程,由多位微软MVP联合编写,通过实际的项目代码,从多个角度深入浅出地阐释了云原生开发的理论和在实际开发中的应用。全书共11章,主要内容包括:迎接云原生的浪潮;配置 .NET 云原生开发与运行环境;云原生应用开发—电子商务应用eShopOnContainers;实现云原生应用的扩展性;实现云原生应用的通信;数据访问模式;实现可恢复的弹性应用;实现云原生应用的身份管理;实现云原生应用的可观察性;深入理解云原生、容器、微服务和DevOps:基于Dapr开发云原生应用。本书适合具有 C# 开发经验的软件工程师、软件架构师,希望学习最新的 .NET 技术,完成云原生应用开发转型的开发人员阅读。对于希望从头开始学习 .NET 技术和云原生开发的开发人员也是非常好的选择。
|
關於作者: |
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成都社区主理人。
|
目錄:
|
前言第1章 迎接云原生的浪潮11.1 扑面而来的云原生11.1.1 单体应用面临的挑战21.1.2 从微服务到云原生31.1.3 云原生应用的特性41.1.4 云原生计算基金会 CNCF51.2 云原生设计的十二原则61.2.1 Codebase(单一代码)71.2.2 Dependencies(依赖管理)71.2.3 Configuration(配置)71.2.4 Backing services(支撑服务)71.2.5 Build, Release, Run(构建、发布、运行)81.2.6 Processes(无状态服务进程)81.2.7 Port Binding(端口绑定)81.2.8 Concurrency(并发能力)81.2.9 Disposability(易回收)91.2.10 Dev/Prod Parity(环境对等)91.2.11 Logs(日志流)91.2.12 Admin Processes(管理进程)91.3 云原生四大核心要素101.3.1 容器化101.3.2 微服务技术111.3.3 DevOps121.3.4 持续交付131.4 使用 .NET 技术开发云原生应用的优势141.4.1 高性能151.4.2 跨平台151.4.3 完全容器化支持151.4.4 开源151.5 小结16第2章 配置 .NET云原生开发与运行环境172.1 系统要求172.2 安装与配置Git环境182.2.1 安装 Git182.2.2 配置Git182.2.3 下载eShopOnContainers源代码202.3 安装 .NET202.3.1 .NET 版本选择212.3.2 安装 .NET222.4 安装 Visual Studio 2022 或 Visual Studio Code232.4.1 安装Visual Studio 2022232.4.2 安装 Visual Studio Code252.5 安装Docker272.5.1 安装 WSL 2272.5.2 安装 Docker Desktop312.5.3 配置 Docker Desktop322.5.4 配置国内 Docker 环境352.6 启用 Kubernetes362.7 小结36第3章 云原生应用开发—电子商务应用eShopOnContainers373.1 云原生应用 eShopOnContainers功能概述373.1.1 功能需求383.1.2 eShopOnContainers开发架构383.2 运行eShopOnContainers应用403.2.1 了解docker-compose文件403.2.2 构建eShop443.2.3 运行eShopOnContainers 应用453.2.4 注意事项463.3 访问eShopOnContainers应用程序473.3.1 访问MVC Web应用473.3.2 访问SPA Web应用483.3.3 访问Android、iOS和Windows上的移动应用493.3.4 访问 Swagger UI493.3.5 访问日志控制台503.3.6 应用程序与微服务列表533.4 eShopOnContainers代码组织533.4.1 项目架构533.4.2 源代码介绍543.4.3 领域驱动设计563.4.4 单元测试和集成测试603.5 小结62第4章 实现云原生应用的扩展性634.1 容器化应用634.1.1 单体部署面临的挑战634.1.2 什么是Docker654.1.3 Docker常用命令684.1.4 开发中用到的Docker知识734.2 镜像仓库744.2.1 Docker Hub744.2.2 创建自定义的容器镜像仓库754.2.3 创建私有镜像仓库774.3 Docker定义文件Dockerfile804.3.1 Dockerfile 语法概要804.3.2 构建ASP.NET Core应用814.3.3 构建 ASP.NET Core Docker 应用834.4 扩展容器应用844.4.1 使用Docker compose管理云原生应用844.4.2 使用Kubernetes管理云原生应用864.4.3 使用环境变量894.5 容器与编排器实践944.5.1 购物车服务944.5.2 构建 Dockerfile954.5.3 构建docker-compose.yaml964.5.4 构建Kubernetes部署文件974.6 小结101第5章 实现云原生应用的通信1025.1 云原生应用通信的复杂性1025.2 服务注册与服务发现1035.2.1 微服务下的服务注册和服务发现1045.2.2 Docker Compose环境下的服务注册与发现1055.2.3 Kubernetes 环境下的服务注册与发现1065.3 前端应用的通信模式1075.3.1 实现网关的选择1095.3.2 实时通信1105.4 服务与服务之间的通信1115.4.1 查询 Query1125.4.2 命令Command1155.4.3 事件Event1165.4.4 领域总线和集成总线1185.5 新一代通信协议gRPC1185.5.1 gRPC的优势1185.5.2 gRPC核心概念1195.5.3 在 .NET中应用gRPC1195.5.4 gRPC的使用场景1205.5.5 在eShopOnContainers中实现gRPC支持1205.6 服务网格(Service Mesh)1225.7 实战演练:实现 eShopOnContainers中的组件间通信1235.7.1 实现基于 Envoy 的 API 网关1235.7.2 实现BFF网关1255.7.3 实现基于MediatR的领域总线1285.7.4 基于RabbitMQ实现跨微服务的事件总线1335.7.5 基于事件总线实现集成总线1355.8 小结140第6章 数据访问模式1416.1 云原生应用中的数据访问模式1416.1.1 微服务中对数据库使用方式的变化1426.1.2 跨微服务的查询1436.1.3 数据完整性和分布式事务1456.1.4 大规模数据访问1476.2 关系型与非关系型数据库1506.2.1 CAP定理1516.2.2 关系型数据库与NoSQL数据库1526.2.3 NewSQL数据库1536.3 在云原生应用中应用缓存1546.3.1 应用缓存的原因1546.3.2 云原生应用的缓存架构1546.4 实战演练:实现eShopOnContainers中产品价格变更的最终一致性1556.4.1 实现简化事件溯源模式的集成事件日志1566.4.2 发布基于事件日
|
內容試閱:
|
2016年,微软发布完全开源、跨平台的产品 .NET Core 1.0,.NET正式脱胎换骨。2017年,微软发布了 .NET Core 2.0,2019 年9 月发布了 .NET Core 3.0,随着2019年12 月发布的 .NET Core 3.1,.NET Core 彻底稳定下来,生态圈和社区也变得成熟和稳定。2020年微软统一产品线,正式将 .NET Core 更名为 .NET。.NET的版本号直接从5开始,即为 .NET 5,它于2020年11月正式发布,在2023年编者完稿时,最新的版本是 .NET 7,2023 年11月15日,.NET 8面世。.NET诞生的背景是云原生开发技术的风起云涌,传统的开发技术是面向服务器的开发,而云原生开发面向的是云平台,包括数据库技术的多样化,应用的微服务化,部署的分布化,其中最为典型的无疑是容器技术的应用。.NET针对大规模处理服务和云原生应用开发做了针对性的优化,特别是针对基于容器技术的应用支持,优化了应用的启动速度、内存占用、性能优化等诸多方面。毫无疑问,对于云原生开发来说,.NET就是最佳选择。虽然 .NET在国外发展的风生水起,微软也提供了大量的技术资料,但对于国内的开发人员来说,还是非常缺乏基于 .NET技术的云原生开发资料,特别是缺乏能够理论联系实际。通过具体的实例讲解,帮助开发者全面掌握云原生开发技术的技术资料。2022年,微软中国的MVP 社区组织了 .NET云原生开发系列技术活动,在软积木的刘海峰老师的组织和协调下,活跃于中国的微软最有价值专家们奉献了一系列的云原生技术讲座。作为该系列活动的总结,本书希望能够帮助中国的 .NET开发者全面认识基于 .NET技术的云原生开发。本书使用的案例来自微软的eShopOnContainers项目(开发环境为 .NET),这是一个使用 .NET技术开发的电子商务应用,使用了当前最新的云原生开发技术,作为微软官方的示范项目,这个项目一直在伴随着 .NET技术的演进不断升级(当前它的最新版本也已经是 .NET 7)。由于它使用的技术非常新颖、全面,带来了一个很高的学习门槛,使得不少开发者望洋兴叹,难以啃下这块硬骨头。本书使用它作为示范项目,详细介绍了其中涉及的各种技术要点,尤其是针对开发实践中涉及的技术细节进行了详尽的说明。因此,开发者可以自己动手,彻底理解和构建这个宏大的项目,为掌握基于 .NET的云原生开发打下坚实的基础。值得一提的是,在AI技术的应用呈现爆发式增长的2023年,.NET与正在与AI产生紧密的结合。在.NET云原生应用开发中,先进的AI技术如大语言模型(Large Language Model,LLM)和Transformer模型被广泛利用。通过使用Azure Cognitive Services等微软云服务,开发者可以轻松地调用OpenAI的生成式预训练Transformer模型(Generative Pre-trained Transformer,GPT),从而提升应用的智能水平。利用这些领先的AI技术,.NET可以采用LLM理解用户输入,借助GPT生成相应回答或建议,实现更智能化、个性化的服务。无论是内容推荐、语音识别、图像处理,还是对话系统,.NET结合AI都能为用户带来卓越体验。展望未来,随着技术的不断发展,.NET必将在AI领域将大放异彩。本书适合哪些读者?以下几类读者将从本书中获益:? 希望能够透彻学习和了解云原生应用开发的理论知识。? 希望能够理论联系实际的学习云原生应用开发。? 希望能够自己动手,一步一步实现完整的云原生应用。? 需要构建高可用、可扩展的云原生应用。本书适合有C#开发经验的软件工程师、软件架构师等,特别是希望学习最新的 .NET技术,完成云原生应用开发转型的开发人员。而且,本书由浅入深的学习路径,对于希望从头开始学习 .NET技术和云原生开发的开发人员也是非常好的选择。本书内容安排本书分为三大部分,共11 章,由多位微软MVP联合编写,通过实际的项目代码,从各个角度深入浅出地阐释了云原生开发的理论和在实际开发中的应用。内容的组织方式是先介绍相关的技术理论,然后在理论的指导下,手把手地帮助开发者应用到开发实践中。第一部分主要讨论了云原生开发的核心理念和需要解决的问题,介绍了云原生计算基金会的作用。然后,以 Docker为切入点,重点介绍了容器技术的理论和使用,手把手地帮助开发者从Docker 的基本命令开始,直到构建和运行完整的eShopOnContainers 应用。第二部分开始深入到开发和运行云原生应用面临的各种挑战,每章深入一个挑战领域,首先介绍面临的挑战,然后介绍解决该问题的思路和理论,并介绍当前相关的各种项目和产品。最后是在理论的指导下,在代码层面上解决实际面临的挑战。第三部分在完成整个eShopOnContainers 应用之后,重新从新的高度来回顾云原生应用开发,帮助开发者深入理解云原生、容器、微服务和DevOps 之间的关系,完成自动化的构建和发布。最后,介绍了基于Dapr 的云原生应用开发,帮助开发者将云原生应用开发的体验提升到新的高度。本书作者本书的作者包括:刘海峰、郝冠军、张善友、桂素伟、梁桐铭、徐磊、陈仁松、闫晓迪、卢建晖、梁敏,由郝冠军统稿。以下是各位作者的介绍。刘海峰:软积木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成都社区主理人。致谢本书的编写得到了51Aspx的大力支持,在此表示感谢。51Aspx自2007年成立,是领先的.NET源码交流平台。拥有超过108万会员和众多严格测试过的项目源代码。专注于源码商业化和开发者赋能,致力于帮助开发者实现技术变现,最大化价值。限于作者水平,书中缺点和错误之处,敬请批评指正。
|
|