猜你喜欢
Docker微服务架构实战

Docker微服务架构实战

书籍作者:蒋彪 ISBN:9787121350337
书籍语言:简体中文 连载状态:全集
电子书格式:pdf,txt,epub,mobi,azw3 下载次数:3485
创建日期:2021-02-14 发布日期:2021-02-14
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板
内容简介

微服务与Docker 是近年来分布式大规模服务架构中两个主流的技术趋势,本书主要介绍中小型企业在架构落地过程中柔性地切入微服务和Docker 虚拟化的各种方法。
书中主要介绍了微服务架构的各种技术选型、微服务拆分的各项原则、传统应用向微服务架构过渡的方法论、Docker 技术原理、Docker 跨主机通信选型、Docker 与DevOps 的整合方法等要点,同时简单介绍了利用Rancher 搭建Docker 容器云平台的快速解决方案,非常适合云计算从业人员阅读、学习。

作者简介

蒋彪,高级架构师。2006年至今,历任程序员、技术经理、架构师、高级架构师等职,具有十余年研发及技术管理工作经验。早年在日本参与过みずほ银行(瑞穂实业银行)内部精算系统重构项目,以及东京证券交易所新一代交易系统研发项目,回国后主持过江苏三六五网、麦芽金服等公司的大型高并发互联网架构工作。主要技术领域是微服务设计、容器化部署、容器云计算、DevOps方法论、AIOps模型实战。

编辑推荐
适读人群 :架构师,云计算从业人员,技术经理等

1.内容丰富,清晰讲解了架构演进过程、Service Mesh技术原理、Docker技术原理、Docker与DevOps整合等要点,深入浅出前沿技术。
2.融合了作者在中小型企业推广微服务和Docker的亲身经验,适合中小型企业从业者阅读、学习,让小公司也能玩转大项目。
3.理论结合实战,触达微服务和容器领域的热门技术与清晰工程实践流程,带你快速建立为服务生态圈的全局知识体系。

前言

前言

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 的亲身经历和亲眼所见总结出来,从技术选型和架构切入的层面进行梳理,希望通过这本书将这些好的经验传递给需要的读者,帮助更多的人。

推荐序

在这个技术日新月异的时代,每一位技术从业者都不得不加紧步伐,追赶不断变化的技术趋势。
从单体架构到分布式服务架构,到SOA 架构,再到微服务架构以及服务网格,架构演进的步伐在业务爆发式增长的背景下从未停滞过。微服务、服务网格和容器技术俨然已经成为了当下非常热门的技术话题。如今的微服务、服务网格和容器技术已经不再局限于理论,而是成为了势不可当的技术潮流。
微服务的核心思想就是将整个业务系统拆分为相对独立的业务模块,并强调各个微服务都可以独立开发、独立测试、独立部署、独立运行、独立运维。这种松耦合的灵活特性正是目前业界所有人所盼望的,因此微服务架构在较短的时间内便在很多大型互联网企业被落地实践,成为解决复杂应用的一把利器。比微服务更进一步的服务网格更是将传统服务治理框架中的服务注册、服务发现、服务熔断、服务降级、服务限流这些和业务无关的内容抽离出来,下沉为底层服务,让研发的重心更集中在业务逻辑的实现上。而容器技术在此过程中发挥了“推波助澜”的作用,加速了微服务的产业化步伐。
微服务看似简单、容易理解,但其实际落地过程却困难重重。很多已经实施或者计划实施微服务的公司在服务划分、服务测试、服务运维、服务安全以及人员组织结构调整等方面缺乏经验,为此付出了很大的代价也没能实际感受到微服务架构的灵活性。
很多时候,我们都非常希望在落地微服务的过程中有一盏明灯来为我们指引方向。如果你和你所在的团队正在经历或即将经历这样的架构演进过程,那么相信本书会是你的那盏指路明灯,带领你快速步入微服务架构时代。
纵览全书,内容循序渐进,概念清晰明了,由浅入深,从易到难,技术描述有点有面,清晰地为读者呈现了一幅包括微服务、服务网格、容器技术原理及落地实践在内的全景图。更难能可贵的是,全书采用了原理结合实战的行文思路,融合了作者在中小型企业推广实施微服务的亲身经验,是一本理论架构完整,又包含典型实践案例的好书。
无论你是开发工程师、测试工程师、运维工程师、架构师,还是技术经理,相信你都会通过本书接触到微服务和容器领域热门的技术以及清晰的工程实践流程,快速建立微服务生态圈的全局知识体系。

茹炳晟
eBay 中国研发中心技术主管



目录

第一部分 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 与CI/CD 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微服务架构实战

2018-12-13 10:07:12

6666666666666666666666

2018-12-12 22:26:08

送货速度快,推荐!

2018-11-23 22:35:40

公司采购的图书, 质量不错。推荐

2018-11-26 10:55:59

此用户未填写评价内容

2018-11-16 00:02:56

产品特色