编辑推荐
1.内容丰富,清晰讲解了架构演进过程、Service Mesh技术原理、Docker技术原理、Docker与DevOps整合等要点,深入浅出前沿技术。
2.融合了作者在中小型企业推广微服务和Docker的亲身经验,适合中小型企业从业者阅读、学习,让小公司也能玩转大项目。
3.理论结合实战,触达微服务和容器领域的热门技术与清晰工程实践流程,带你快速建立为服务生态圈的全局知识体系。
蒋彪 著
内容提要
微服务与Docker是近年来分布式大规模服务架构中两个主流的技术趋势,《Docker微服务架构实战》主要介绍中小型企业在架构落地过程中柔性地切入微服务和Docker虚拟化的各种方法。
《Docker微服务架构实战》主要介绍了微服务架构的各种技术选型、微服务拆分的各项原则、传统应用向微服务架构过渡的方法论、Docker技术原理、Docker跨主机通信选型、Docker与DevOps的整合方法等要点,同时简单介绍了利用Rancher搭建Docker容器云平台的快速解决方案,非常适合云计算从业人员阅读、学习。
作者简介
蒋彪
苏宁易购高级架构师。2006年至今,历任程序员、技术经理、架构师、高级架构师等职,具有十余年研发及技术管理工作经验。早年在日本参与过みずほ银行(瑞穂实业银行)内部精算系统重构项目,以及东京证券交易所新一代交易系统研发项目,回国后主持过江苏三六五网、麦芽金服、苏宁易购等公司的大型高并发互联网架构工作。主要技术领域是微服务设计、容器化部署、容器云计算、DevOps方法论、AIOps模型实战。
精彩导读
前言
Docker与微服务是什么
到底什么是架构师?一名架构师的职责应该是什么?
很多年前,我作为一名架构初学者,便了解了架构师要做的事情。从方法论上来看,就是“识别利益相关者”“梳理各个层次的利益传递”和“根据利益线索设计有伸缩性的架构”。
同样,以架构师的视角来看,到底什么是微服务呢?作为架构师,我所看到的微服务,是在团队人数井喷,产品迭代周期太快,系统中的技术负债过剩导致不能将鸡蛋放到同一个摇摇欲坠的篮子,投资人对产品功能特性提出夸张、多变要求的大背景下,在投资人、经理层、研发人员、测试人员、运维人员等各个利益相关者的逼迫下,被迫地将系统从并发、扩展、易维护等维度进行的拆分。
按照微服务的思想将系统拆分之后,我们发现,拆分得越厉害,系统的信息熵就越大,因此有了系统的拆分,就要有拆分之后的治理。
比如,如何保证拆分之后应用的注册发现?如何保证拆分之后服务的熔断限流监控?如何保证服务之间底层通信的可靠性和序列化?
为此,各种各样的服务治理以及分布式服务协同框架便出现了。
那么是不是有了微服务的拆分再加上微服务的治理就足够了呢?对于开发人员而言也许足够了,但是对于运维人员而言,远远不够。拆分使得系统的健壮性大大提高,但是也使系统的发布和运维异常复杂。试想一下,如何在一个分布式的环境下令几万个微服务快速启停?如何实现几万个微服务的管理、编排与自动扩容?
为了解决这些问题,Docker以及与Docker关联的各种容器编排技术便出现了。
因此,如果我们站在终点回望起点,就会知道为什么会有微服务,又为什么会有Docker,乃至为什么会有今天的Service Mesh。我们可以说,这些技术的产生一脉相承,它们的根本目的都是解决系统复杂度井喷之后的系统架构问题;从学术上来说,这些技术都是在和复杂分布式架构中的信息熵进行对抗;从工程上来说,这些技术是当今时代背景催生出的必然产物。
为什么写此书
作为一名技术人员,比起知道技术的用法,更重要的是要知道如何使这项技术切合公司现有的技术栈、业务线,如何解决公司的痛点,如何在各个部门的协同下将技术实际落地。
一项技术再好,再优秀,在实际落地中也要“削足适履”,要根据公司的产品线走,跟着公司的技术现状确定如何应用。毕竟绝大多数公司的第一要务是生存与盈利,能够专职供养一支底层研究技术团队的公司少之又少,更何况是对Docker这样的“底之又底”的技术栈。
对于一名架构师而言,当你决定引入Docker的时候,你要知道,你在公司内引入的不是一个简单的技术框架、一个中间件、一个自动化工具,而是一种思想、一个云平台、一个新的开发习惯。
对于Docker的引入,从入门到落地,需要架构师、运维工程师、网络工程师、研发人员、测试工程师,乃至公司高层的全面支持和协作。把Docker用到极致,就是在建设自己的云平台和PaaS,对于这种体量的研究,若没有一个全面的规划和路线图是无法完成的。
同时,对于Docker的引入者而言,需要学习包括Docker底层的原理、Docker的网络模型、Docker的容器隔离、Docker下的自动发布与自动运维,乃至常被很多人挂在嘴边的Docker容器编排、Docker与微服务、Docker与DevOps在内的方方面面的知识。
上述所有的知识,若能够集中在一个人身上,实在是难得。毕竟,在IT行业,每个人都有自己的知识短板。
甚至我可以负责任地说,在很多公司中,若想找到一支能够搞定底层到上层方方面面建设的专业团队,都是很困难的。
举个例子,我见过很多Docker实际应用的场景,在一些中型场景中,通常直接用bridge端口来转发通信,为什么会这样?因为很多公司虽然不缺少优秀的程序员,但是缺少网络方面的架构师,不懂也不敢尝试复杂的网络模式。再比如,我亲眼见到有的项目在落地的时候,采用Docker挂载卷轴的方式发布代码,为什么?因为这些公司缺少专门的人来维护CI/CD平台。
正是因为有这些困难,所以笔者将自己在中小型企业中推广微服务和Docker的亲身经历和亲眼所见总结出来,从技术选型和架构切入的层面进行梳理,希望通过这本书将这些好的经验传递给需要的读者,帮助更多的人。
积跬步以至千里。每天读本书,为您搜罗最具权威专业书籍,更多图书推荐请关注每日读书。
好知识需要分享,如您有喜欢的书籍想与广大开发者分享,请在文章下方评论留言,我们将为大家推荐您的爱书!