https://www.gitbook.com/download/mobi/book/dzfweb/microsoft-microservices-book
https://www.gitbook.com/download/epub/book/dzfweb/microsoft-microservices-book
https://www.gitbook.com/book/dzfweb/microsoft-microservices-book/details
下载地址:https://aka.ms/microservicesebook
出版者
Microsoft 开发人员部门、.NET 和 Visual Studio 产品团队
微软公司的一个部门
一种微软方式
华盛顿州雷德蒙德 98052-6399
版权所有 © 2017 微软公司
版权所有。未经出版商书面许可,不得以任何形式或方式复制或传播本书的任何部分内容。
本书按“原样”提供,表达了作者的观点和意见。本书中表达的观点、观点和信息,包括 URL 和其他互联网网站引用,可能会发生变化,恕不另行通知。
本文描述的一些示例仅用于说明目的并且是虚构的。无意或不应推断出任何真正的关联或联系。
Microsoft 和 http://www.microsoft.com“商标”网页上列出的商标是 Microsoft 集团公司的商标。
Mac 和 macOS 是 Apple Inc. 的商标。
Docker 鲸鱼徽标是 Docker, Inc. 的注册商标。经许可使用。
所有其他标记和徽标均为其各自所有者的财产。
共同作者:
Cesar de la Torre ,微软公司 .NET 产品团队高级 PM
Bill Wagner ,微软公司 C+E 高级内容开发人员
Mike Rousos ,Microsoft DevDiv CAT 团队首席软件工程师
编辑:
迈克·波普
史蒂夫·霍格
参加者及评审者:
Jeffrey Ritcher ,Microsoft Azure 团队合作伙伴软件工程师
Jimmy Bogard ,Headspring 首席架构师
Udi Dahan ,特定软件创始人兼首席执行官
Jimmy Nilsson ,Factor10 联合创始人兼首席执行官
Glenn Condron ,ASP.NET 团队高级项目经理
Mark Fussell ,Microsoft Azure Service Fabric 团队首席 PM 负责人
Diego Vega ,微软实体框架团队 PM 主管
Barry Dorrans ,高级安全项目经理
Rowan Miller ,微软高级项目经理
Ankit Asthana ,Microsoft .NET 团队首席 PM 经理
Scott Hunter ,微软 .NET 团队合作伙伴总监 PM
Dylan Reisenberger ,Polly 的架构师和开发主管
Steve Smith ,ASPSmith Ltd. 的软件工匠和培训师
Ian Cooper ,Brighter 的编码架构师
Unai Zorrilla ,Plain Concepts 架构师兼开发主管
Eduard Tomas ,Plain Concepts 开发主管
Ramon Tomas ,Plain Concepts 开发人员
David Sanz ,Plain Concepts 开发人员
Javier Valero ,Grupo Solutio 首席运营官
Pierre Millet ,微软高级顾问
Michael Friis ,Docker 公司产品经理
Charles Lowell ,微软 VS CAT 团队软件工程师
企业越来越多地通过使用容器来实现成本节约、解决部署问题以及改进 DevOps 和生产运营。 Microsoft 一直在通过创建 Azure 容器服务和 Azure Service Fabric 等产品,并与 Docker、Mesosphere 和 Kubernetes 等行业领导者合作,发布适用于 Windows 和 Linux 的容器创新。这些产品提供容器解决方案,帮助公司以云速度和规模构建和部署应用程序,无论他们选择什么平台或工具。
Docker 正在成为容器行业事实上的标准,并得到 Windows 和 Linux 生态系统中最重要的供应商的支持。 (微软是支持 Docker 的主要云供应商之一。)未来,Docker 可能会在云端或本地的任何数据中心中无处不在。
此外,微服务架构正在成为分布式关键任务应用程序的重要方法。在基于微服务的架构中,应用程序构建在可以独立开发、测试、部署和版本控制的服务集合之上。
本指南介绍了开发基于微服务的应用程序并使用容器管理它们。它讨论了使用 .NET Core 和 Docker 容器的架构设计和实现方法。为了更轻松地开始使用容器和微服务,本指南重点介绍您可以探索的参考容器化和基于微服务的应用程序。示例应用程序可在 eShopOnContainers GitHub 存储库中获取。
本指南主要在开发环境级别提供基础开发和架构指导,重点关注两种技术:Docker 和 .NET Core。我们的目的是让您在考虑应用程序设计时阅读本指南,而无需关注生产环境的基础架构(云或本地)。稍后,当您创建生产就绪的应用程序时,您将对基础架构做出决定。因此,本指南旨在与基础设施无关,并且更加以开发环境为中心。
学习完本指南后,下一步是了解 Microsoft Azure 上的生产就绪型微服务。
本指南不重点关注应用程序生命周期、DevOps、CI/CD 管道或团队工作。补充指南《使用 Microsoft 平台和工具进行容器化 Docker 应用程序生命周期》重点讨论了该主题。当前指南也没有提供有关 Azure 基础架构的实施详细信息,例如有关特定编排器的信息。
我们为刚接触基于 Docker 的应用程序开发和基于微服务的架构的开发人员和解决方案架构师编写了本指南。如果您想了解如何使用 Microsoft 开发技术(特别关注 .NET Core)和 Docker 容器来架构、设计和实现概念验证应用程序,那么本指南适合您。
如果您是技术决策者(例如企业架构师),在决定为新的现代分布式应用程序选择哪种方法之前需要了解架构和技术概述,那么您也会发现本指南很有用。
本指南的第一部分介绍了 Docker 容器,讨论了如何在 .NET Core 和 .NET Framework 作为开发框架之间进行选择,并概述了微服务。此内容适用于需要概述但不需要关注代码实现细节的架构师和技术决策者。
本指南的第二部分从基于 Docker 的应用程序的开发流程部分开始。它重点关注使用 .NET Core 和 Docker 实现应用程序的开发和微服务模式。对于想要关注代码以及模式和实现细节的开发人员和架构师来说,本节将是最感兴趣的。
eShopOnContainers 应用程序是 .NET Core 和微服务的参考应用程序,旨在使用 Docker 容器进行部署。该应用程序由多个子系统组成,包括多个电子商店 UI 前端(一个 Web 应用程序和一个本机移动应用程序)。它还包括用于所有所需服务器端操作的后端微服务和容器。
此微服务和基于容器的应用程序源代码是开源的,可在 eShopOnContainers GitHub 存储库中获取。
我们编写本指南是为了帮助您了解 .NET 中容器化应用程序和微服务的架构。该指南和相关参考应用程序将会不断发展,因此我们欢迎您的反馈!如果您对如何改进本指南有意见,请将其发送至:
[!div class="step-by-step"] [下一步] (container-docker-introduction/index.md)