栏目导航

本港台开奖
本港台开奖结果
本港台开奖历史记录
本港台开奖直播2018
908181.com
四不像论坛

四不像论坛

本港台开奖 > 四不像论坛 >

曾半仙神算网【新书推荐】《

发布时间: 2020-01-25

  原标题:【新书推荐】《ASP.NET Core微服务实战:在云环境中开发、测试和部署跨平台服务》 带你走近微服务开发

  “微服务”的概念在 2014 年正式提出之后,越来越多的团队开始用它来设计自己的业务系统,各种微服务框架和开发过程管理方法也同时兴起、不断成熟。微服务设计方法清晰地定义了各个开发团队的业务边界,微服务框架以不同的方式实现了服务之间的协作与集成,根据康威定律我们可以推导这样一种产品开发方法必然会映射到人员协作方式上去。还有同步兴起的 DevOps 运动,它及时恰当地补齐了微服务开发过程中的技术方法,让微服务生态如虎添翼。

  经过几年的积累,人们开始意识到,微服务从概念到实现,最后推广到整个组织,这整个过程期间存在大量的挑战:服务之间的依赖管理、大量服务实例的运维、单个服务的独立部署,以及承担不同角色的微服务在同一个生态系统中的身份认证等,都开始成为微服务团队需要直接面对的挑战。与此同时,各类微服务框架也层出不穷,让开始接触微服务的开发人员眼花缭乱,既难以区分它们的优劣、做出合适的选型,又难以找到高效的学习路径。

  在 .NET 技术领域,微服务的挑战比起很多其他技术栈有过之而无不及。.NET 技术在企业应用开发领域有着长久的运用,因此有大量的存量应用需要面向服务化改造。而 .NET Core 技术作为新一代 .NET 技术方向,无论是这一技术生态自身的完整性,还是基于它的微服务框架体系,都处于持续的完善之中。最后,在传统的企业应用开发领域,并没有普遍采用持续交付等实践,当时所开发的应用也难以满足云原生应用所要求的诸多特性,因此改造过程难度较大。

  所幸 .NET Core 作为全新的 .NET 技术,它不仅完全开源、跨平台,更面向云原生开发进行了大量而细致的优化。它完全模块化,不依赖特定操作系统,同时其文件系统、网络和配置等基础功能模块对跨平台、命令行等现代化轻量级开发所要求的特性提供了优秀的支持。正是由于 .NET Core 作为基础开发平台天然适合云原生开发,因此基于 ASP.NET Core 开发微服务也天然具有这些优势。

  本书“麻雀虽小,五脏俱全”,它从 .NET Core 开发环境安装开始,紧接着详细介绍了持续交付、API 优先和测试驱动等重要开发方法和思想。本书探讨了人们对微服务的各种理解,以实际项目从各方面体现出本书作者对微服务的全方面诠释,引导读者在直观的体验中建立自己的理解;同时,本书还主张把微服务和云原生实践结合运用,书中通过解析十二因子应用的各项特性,并分析它们在本书示例项目中的体现,让读者对微服务和云原生的结合更为体系化。在本书的讲解过程中,每当遇到可能存在不同做法的场景,作者总是详细论述各项考量、仔细比较各种可能的做法,引发读者思考;同时,本书还大量探讨了传统应用开发中的典型做法,以及在微服务和云原生开发时应该采纳的新方法,仔细解析其中缘由,为存量应用的改造提供了直接指导。

  在本书英文原版写作时,.NET Core 还处于早期的 1.1 版本,而现在中文版翻译期间,.NET Core 的最新版已经是 2.2 版了。为了让读者在基于最新版 .NET Core 练习书中的示例项目时更为顺畅,译者对书中所涉及的示例代码进行了升级。在升级过程中,部分代码需要经过改写才能与新版本的运行时或者依赖模块配合工作。读者在使用书中的代码时,请自行将书中所涉及的 GitHub 仓库地址由 替换为 ,在使用 Docker 镜像的方式运行示例项目时,将书中的 Docker 镜像由 dotnetcoreservices 前缀替换为 dotnetcoreserviceszh 。如果使用翻译版的代码遇到问题,请在这些 GitHub 仓库中提交 issue,译者将乐意为读者解答各类常见问题。

  限于译者水平等各方面原因,本书在翻译时难免留下一些纰漏与错误,如承蒙读者指正,则译者将倍感荣幸,其他读者也将一起获益。请访问本书中文版代码仓库 或者使用电子邮件 jijie. 与译者取得联系。

  本书中文版的引进必将为 .NET 技术领域的微服务实践和云原生技术的普及做出重要贡献。在此,译者特此感谢清华大学出版社的大力支持,感谢张善友老师为本书译文提出的宝贵建议,感谢曾一起共事的翻译小组 WorkSharp 的同事们、特别是刘夏先生的指导,感谢社区中关注本书的各位热心人士的激励和帮助。最后,最需要致以真诚感谢的,是时常关心我的翻译工作、提醒我及时休息的父母;以及忍受我用几个月的业余时间来翻译、却仍然要在翻译时随时提供参谋的爱人张圣奇:是你们无限的耐心和持续的支持才让本书的翻译工作得以顺利完成。

  几乎所有的当代软件工程都专注于缩短产品的上市时间。微服务是一种以服务为导向的演进式体系结构模式, 它优雅地消除了组织摩擦, 让团队和工程师们拥有在不断地进行交付、迭代和改进时所需的自主权。可以预见,云原生时代的应用都是以微服务的形式出现。曾半仙神算网

  关于微服务,有不少书籍堪称经典。但结合最新的Web框架ASP.NET Core来讲解微服务的书籍却不多。本书完整的介绍了使用ASP.NET Core进行微服务开发时的思路、步骤和工具,是一本不可多的必读手册,本书由于成书较早,其示例代码所基于的.NET Core版本略显陈旧,译者的努力一定程度上弥补了这一问题。最重要的是,书中用大量篇幅讲述的关于开发功能强大且具有高伸缩性和韧性的微服务的思想不会过时的。另外,本书还关注使用ASP.NET Core实现云原生模式,以及要让应用成为云原生生态中的好公民需要关注的方方面面。这些在具体技术框架之外的经验与思考,更是弥足珍贵。

  微服务开发并非只是将代码物理分离,开发过程中还要面对与微服务开发模式一同到来的服务集成、团队协作等一系列新挑战。相对于单体应用,开发人员之所以选择微服务,一个很重要的原因就是想通过一种能将服务独立地、快速地部署上线的能力。本书讲解了ASP.NET Core是如何通过与容器技术的无缝兼容轻松提供这一能力的。微服务的职责单一,这意味着服务之间需要相互调用才能完成多个任务,或者各方合力才能完成较大的任务。服务间的依赖与集成也是一项不可忽视的基本议题。基于事件集成,以及借助服务发现机制为相互依赖的服务提供灵活调度是两项常见的服务集成方法,本书对这两种方法都进行了完整介绍。由于各个后端服务未必直接面对用户,因此微服务系统中的安全认证也与直接面对用户的系统有所不同,本书深入讲解了几种常见的安全机制,供开发者根据实际情况选用。

  与本书基于ASP.NET Core开发微服务的主题相呼应,ASP.NET Core本身就是一系列的模块化组件,可添加到现有应用中。同时,由于ASP.NET Core提供自宿主Web服务器对REST风格接口的支持非常友好,自身量级足够轻量并且性能强劲,因此ASP.NET Core自然适合作为微服务开发的基础框架。有了优秀的框架,接下来我们要考虑的是,如何避免再次陷入用一项新技术继续开发“新版本的一溜单体应用”。本书通过实际项目的深入演练,以及同步的理论讲解,让读者在面对微服务生态构建过程中的各种场景时,能做好充分准备。

  不过我个人认为,这本书还是缺少了一部分关于微服务生态系统的内部编排的内容, 容器是微服务部署的最佳方式,容器作为现代基础设施上一种更细粒度的抽象,能有效降低占用空间和缩短启动时间、同时由于它提供了一种新的组件重用性级别,所以能轻松地集成到整个开发生态系统中(例如持续集成和交付生命周期),微服务生态治理包括调度(包括部署、复制、扩展、复活、重新调度、升级、降级等)、资源管理(内存、CPU、存储空间、端口、IP、镜像等)和服务管理(即使用标签、分组、命名空间、负载均衡和准备就绪检查将多个容器编排在一起)。

  一直以来,在我运营的“dotnet跨平台”公众号和各种线上线下场合,我与很多朋友探讨和分享过微服务开发相关的经验。曾有很多朋友关心,有没有微服务相关的入门材料。这本书借助实际项目,系统地梳理了微服务开发的脉络,给初学者提供了行之有效的学习素材。所以本书的引进是以见值得高兴的事情。


友情链接:
Copyright 2018-2021 本港台开奖 版权所有,未经授权,禁止转载。

香港马会开奖免费资料| 今晚开什么特马几号| 香港马会开奖现场直播| 六合猜码会| 香港跑狗图2017神评论| 马会全年免费资料| 香港天下彩报码| www.609999.com| www.044442.com| 九龍高手论坛| www.31105.com| www.tm8383.com|