新書推薦:
《
可控性混乱
》
售價:HK$
66.1
《
篡魏:司马懿和他的夺权同盟
》
售價:HK$
65.0
《
狂飙年代:18世纪俄国的新文化和旧文化(第三卷)
》
售價:HK$
177.0
《
协和专家大医说:医话肿瘤
》
售價:HK$
109.8
《
潜水指南 全彩图解第4版
》
售價:HK$
132.2
《
超大规模集成电路设计——从工具到实例
》
售價:HK$
88.5
《
村上春树·旅(一本充满村上元素的旅行指南,带你寻访电影《挪威的森林》拍摄地,全彩印刷;200余幅摄影作品)
》
售價:HK$
66.1
《
智能驾驶硬件在环仿真测试与实践
》
售價:HK$
155.7
|
編輯推薦: |
1.内容丰富,清晰讲解了架构演进过程、Service Mesh技术原理、Docker技术原理、Docker与DevOps整合等要点,深入浅出前沿技术。 2.融合了作者在中小型企业推广微服务和Docker的亲身经验,适合中小型企业从业者阅读、学习,让小公司也能玩转大项目。 3.理论结合实战,触达微服务和容器领域的热门技术与清晰工程实践流程,带你快速建立为服务生态圈的全局知识体系。
|
內容簡介: |
微服务与Docker 是近年来分布式大规模服务架构中两个主流的技术趋势,本书主要介绍中小型企业在架构落地过程中柔性地切入微服务和Docker 虚拟化的各种方法。
书中主要介绍了微服务架构的各种技术选型、微服务拆分的各项原则、传统应用向微服务架构过渡的方法论、Docker 技术原理、Docker 跨主机通信选型、Docker 与DevOps 的整合方法等要点,同时简单介绍了利用Rancher 搭建Docker 容器云平台的快速解决方案,非常适合云计算从业人员阅读、学习。
|
關於作者: |
蒋彪,高级架构师。2006年至今,历任程序员、技术经理、架构师、高级架构师等职,具有十余年研发及技术管理工作经验。早年在日本参与过みずほ银行(瑞穂实业银行)内部精算系统重构项目,以及东京证券交易所新一代交易系统研发项目,回国后主持过江苏三六五网、麦芽金服等公司的大型高并发互联网架构工作。主要技术领域是微服务设计、容器化部署、容器云计算、DevOps方法论、AIOps模型实战。
|
目錄:
|
第一部分 Docker 与微服务基础 1
第1 章 微服务架构概述 2
1.1 什么是微服务 2
1.2 为什么要使用微服务 9
1.3 微服务架构设计原则 15
1.4 从单体到微服务 21
第2 章 微服务中的技术选型 26
2.1 服务治理 27
2.2 服务网关 35
2.3 服务注册发现 43
2.4 配置中心 51
2.5 请求链路追踪 57
第3 章 Service Mesh 64
3.1 初识Service Mesh 64
3.2 Service Mesh 的发展过程 66
3.3 主流的Service Mesh 框架 73
第4 章 Docker 技术简介 75
4.1 Docker 是什么 75
4.2 Docker 的作用 77
4.3 Docker 的生态圈 86
4.4 微服务与Docker 89
第二部分 Docker 架构与生态 93
第5 章 Docker 技术架构 94
5.1 Docker 的进程模型 94
5.2 容器的本质 104
5.3 Docker 容器的运行时模型 111
第6 章 Docker 逻辑架构 113
6.1 Docker Registry 的技术选型 114
6.2 Harbor 的部署 115
第7 章 Docker 网络架构 120
7.1 Docker 的单机网络模式 120
7.2 Docker 的集群网络模式 126
第8 章 Docker 安全架构 135
8.1 Docker 安全问题 135
8.2 Docker 安全措施 138
第9 章 Docker 与DevOps 148
9.1 DevOps 概要 148
9.2 Docker 容器的代码挂载机制 149
9.3 Docker 与服务发现 150
9.4 Dockerfile 怎么写 164
9.5 Docker 与日志 172
9.6 Docker 与监控 176
9.7 Docker 与CICD 182
9.8 Docker 给运维团队带来的挑战 184
第10 章 容器编排 186
10.1 容器编排概述 186
10.2 容器编排技术选型 189
10.3 Kubernetes 实战 197
10.4 Docker Swarm 实战 210
第三部分 Docker 落地之路 221
第11 章 企业级Docker 容器云架构 222
11.1 宏观系统视角下的架构 222
11.2 容器云平台逻辑架构图 223
第12 章 基于Rancher 的容器云管理平台 226
12.1 Rancher 概述 226
12.2 Rancher 的安装 227
12.3 Rancher 对IaaS 的管理 228
12.4 Rancher 下多租户多环境的管理 236
12.5 Rancher 对SaaS 的管理 240
12.6 Rancher 对容器的管理 242
12.7 Rancher 的L2-FLAT 网络 248
12.8 Rancher 的服务治理 249
第13 章 微服务与Docker 化实战 258
13.1 整体架构鸟瞰 258
13.2 基于log-pilot 的日志收集 261
13.3 基于Zabbix 的容器监控 263
13.4 简单的DevOps 架构图 264
13.5 推进方案和成本 266
|
內容試閱:
|
前言
Docker 与微服务是什么
到底什么是架构师?一名架构师的职责应该是什么?
很多年前,我作为一名架构初学者,便了解了架构师要做的事情。从方法论上来看,就是识别利益相关者梳理各个层次的利益传递和根据利益线索设计有伸缩性的架构。
同样,以架构师的视角来看,到底什么是微服务呢?作为架构师,我所看到的微服务,是在团队人数井喷,产品迭代周期太快,系统中的技术负债过剩导致不能将鸡蛋放到同一个摇摇欲坠的篮子,投资人对产品功能特性提出夸张、多变要求的大背景下,在投资人、经理层、研发人员、测试人员、运维人员等各个利益相关者的逼迫下,被迫地将系统从并发、扩展、易维护等维度进行的拆分。
按照微服务的思想将系统拆分之后,我们发现,拆分得越厉害,系统的信息熵就越大,因此有了系统的拆分,就要有拆分之后的治理。
比如,如何保证拆分之后应用的注册发现?如何保证拆分之后服务的熔断限流监控?如何保证服务之间底层通信的可靠性和序列化?
为此,各种各样的服务治理以及分布式服务协同框架便出现了。
那么是不是有了微服务的拆分再加上微服务的治理就足够了呢?对于开发人员而言也许足够了,但是对于运维人员而言,远远不够。拆分使得系统的健壮性大大提高,但是也使系统的发布和运维异常复杂。试想一下,如何在一个分布式的环境下令几万个微服务快速启停?如何实现几万个微服务的管理、编排与自动扩容?
为了解决这些问题,Docker 以及与Docker 关联的各种容器编排技术便出现了。
因此,如果我们站在终点回望起点,就会知道为什么会有微服务,又为什么会有Docker,乃至为什么会有今天的Service Mesh。我们可以说,这些技术的产生一脉相承,它们的根本目的都是解决系统复杂度井喷之后的系统架构问题;从学术上来说,这些技术都是在和复杂分布式架构中的信息熵进行对抗;从工程上来说,这些技术是当今时代背景催生出的必然产物。
为什么写此书
作为一名技术人员,比起知道技术的用法,更重要的是要知道如何使这项技术切合公司现有的技术栈、业务线,如何解决公司的痛点,如何在各个部门的协同下将技术实际落地。
一项技术再好,再优秀,在实际落地中也要削足适履,要根据公司的产品线走,跟着公司的技术现状确定如何应用。毕竟绝大多数公司的第一要务是生存与盈利,能够专职供养一支底层研究技术团队的公司少之又少,更何况是对Docker 这样的底之又底的技术栈。
对于一名架构师而言,当你决定引入Docker 的时候,你要知道,你在公司内引入的不是一个简单的技术框架、一个中间件、一个自动化工具,而是一种思想、一个云平台、一个新的开发习惯。
对于Docker 的引入,从入门到落地,需要架构师、运维工程师、网络工程师、研发人员、测试工程师,乃至公司高层的全面支持和协作。把Docker 用到极致,就是在建设自己的云平台和PaaS,对于这种体量的研究,若没有一个全面的规划和路线图是无法完成的。
同时,对于Docker 的引入者而言,需要学习包括Docker 底层的原理、Docker 的网络模型、Docker 的容器隔离、Docker 下的自动发布与自动运维,乃至常被很多人挂在嘴边的Docker 容器编排、Docker 与微服务、Docker 与DevOps 在内的方方面面的知识。
上述所有的知识,若能够集中在一个人身上,实在是难得。毕竟,在IT 行业,每个人都有自己的知识短板。
甚至我可以负责任地说,在很多公司中,若想找到一支能够搞定底层到上层方方面面建设的专业团队,都是很困难的。
举个例子,我见过很多Docker 实际应用的场景,在一些中型场景中,通常直接用bridge端口来转发通信,为什么会这样?因为很多公司虽然不缺少优秀的程序员,但是缺少网络方面的架构师,不懂也不敢尝试复杂的网络模式。再比如,我亲眼见到有的项目在落地的时候,采用Docker 挂载卷轴的方式发布代码,为什么?因为这些公司缺少专门的人来维护CICD 平台。
正是因为有这些困难,所以笔者将自己在中小型企业中推广微服务和Docker 的亲身经历和亲眼所见总结出来,从技术选型和架构切入的层面进行梳理,希望通过这本书将这些好的经验传递给需要的读者,帮助更多的人。
|
|