新書推薦:
《
桑德拉销售原则 伍杰 [美]大卫·马特森
》
售價:NT$
440.0
《
理论的意义
》
售價:NT$
340.0
《
悬壶杂记:医林旧事
》
售價:NT$
240.0
《
谁之罪?(汉译世界文学5)
》
售價:NT$
240.0
《
民国词社沤社研究
》
售價:NT$
640.0
《
帕纳索传来的消息(文艺复兴译丛)
》
售價:NT$
495.0
《
DK威士忌大百科
》
售價:NT$
1340.0
《
小白学编织
》
售價:NT$
299.0
編輯推薦:
√ 微服务旨在化大而复杂为小而简单,用快速交付支撑持续创新
√ 被谷歌等一线IT企业采用,与容器|云计算|持续交付等热点实践密不可分
√ 从架构演进到原理剖析,覆盖开发、测试、部署、运维、组织变化等微服务各方面
√ 代码静态检查、云基础设施构建、 Docker映像构建及部署、持续交付流水线、服务日志全程实战
內容簡介:
随着RESTful、云计算、DevOps、持续交付等概念的深入人心,微服务架构逐渐成为系统架构的一个代名词。本书首先从理论出发,介绍了微服务架构的概念、诞生背景、本质特征以及优缺点;然后基于实践,探讨了如何从零开始构建第一个微服务,包括Hello World API、Docker 映像构建与部署、日志聚合、监控告警、持续交付流水线等;最后,在进阶部分讨论了微服务的轻量级通信、消费者驱动的契约测试,并通过一个真实的案例描述了如何使用微服务架构改造遗留系统。全书内容丰富,条理清晰,通俗易懂,是一本理论结合实践的微服务架构的实用书籍。本书不仅适合架构师、开发人员、测试人员以及运维人员阅读,也适合正在尝试使用微服务架构解耦历史遗留系统的团队或者个人参考,希望本书能在实际工作中对读者有所帮助。
關於作者:
ThoughtWorks的首席咨询师王磊是国内较早倡导和实践微服务的先行者。王磊是开源软件的爱好者和贡献者,社区活动的参与者,《Ruby Gems开发实战》(Practical RubyGems)一书的译者,GDCR西安的组织者。他于2012年加入ThoughtWorks,为国内外诸多客户提供项目交付和咨询服务;在加入ThoughtWorks之前,曾就职过多家知名外企,具有丰富的敏捷项目实战经验。目前致力于微服务架构、高可用的Web应用以及DevOps的研究与实践。
目錄 :
第 1部分 基础篇
第 1章 单块架构及其面临的挑战
1.1三层应用架构
1.1.1三层应用架构的发展
1.1.2什么是三层架构 .
1.1.3三层架构的优势 .
1.2单块架构 .
1.2.1什么是单块架构 .
1.2.2单块架构的优势 .
1.2.3单块架构面临的挑战
1.3 小结 .
第 2章 微服务架构综述
2.1什么是微服务架构
2.1.1多微才够微 .
2.1.2 单一职责
2.1.3 轻量级通信 .
2.1.4 独立性 .
2.1.5 进程隔离
2.2 微服务的诞生背景
2.2.1 互联网行业的快速发展
2.2.2 敏捷、精益方法论的深入人心
2.2.3 单块架构系统面临的挑战
2.2.4 容器虚拟化技术
2.3 微服务架构与 SOA
2.3.1 SOA概述 .
2.3.2 微服务与 SOA
2.4 微服务的本质
2.4.1服务作为组件
2.4.2 围绕业务组织团队 .
2.4.3 关注产品而非项目 .
2.4.4 技术多样性 .
2.4.5 业务数据独立
2.4.6 基础设施自动化
2.4.7 演进式架构 .
2.5 微服务不是银弹 .
2.5.1 分布式系统的复杂度 .
2.5.2 运维成本
2.5.3 部署自动化 .
2.5.4 DevOps与组织架构
2.5.5 服务间的依赖测试 .
2.5.6 服务间的依赖管理 .
2.6 小结 .
第 2部分 实践篇
第 3章 构建第一个服务
3.1场景分析
3.2任务拆分
第 4章 Hello World API
4.1 API实现
4.1.1 开发语言 ——Ruby .
4.1.2 Web框架——Grape
4.1.3 API的具体实现
4.2代码测试与静态检查
4.2.1代码测试
4.2.2测试覆盖率统计
4.2.3静态检查
4.2.4代码复杂度检查
第 5章 构建 Docker映像
5.1 定义 Dockerfile .
5.2 配置 Docker主机
5.3 构建 Docker映像
5.4 运行 Docker容器
5.5 发布 Docker映像
5.6 小结 .
第 6章 部署 Docker映像
6.1基础设施 AWS
6.2基础设施自动化 .
6.3 部署 Docker映像
6.4自动化部署 .
6.5 小结 .
第 7章 持续交付流水线
7.1持续集成环境
7.2提交阶段
7.3验证阶段
7.4构建阶段
7.5发布阶段
7.6 小结 .
第 8章 日志聚合
8.1 日志聚合工具简介
8.2 Splunk的核心
8.3 安装 Splunk索引器
8.4 安装 Splunk转发器
8.5日志查找
8.6告警设置
8.7 小结
第 9章 监控与告警 .
9.1 Nagios简介..
9.2 Nagios的工作原理 .
9.3 Nagios安装..
9.4 Nagios的配置 .
9.5 监控 products-service .
9.6 告警
9.7 小结
第 10章 功能迭代
10.1定义模型 .
10.2持久化模型
10.3定义表现形式 .
10.4 实现 API
10.5服务描述文件 .
10.6 小结
第 3部分 进阶篇
第 11章 微服务与持续交付
11.1持续交付的核心 .
11.2微服务架构与持续交付 .
11.2.1 开发 .
11.2.2 测试 .
11.2.3持续集成
11.2.4 构建 .
11.2.5 部署 .
11.2.6 运维 .
11.3 小结
第 12章 微服务与轻量级通信机制 .
12.1同步通信与异步通信 .
12.1.1 概述 .
12.1.2同步通信与异步通信的选择
12.2远程调用 RPC .
12.2.1远程过程调用的核心
12.2.2远程方法调用
12.2.3远程过程调用的弊端
12.3 REST .
12.3.1 概述 .
12.3.2 REST的核心 .
12.3.3 REST的优势 .
12.3.4 REST的不足 .
12.3.5 本节小结 .
12.4 HAL
12.4.1 概述 .
12.4.2 HAL的核心
12.4.3 HAL浏览器
12.5消息队列 .
12.5.1 核心部分 .
12.5.2 访问方式 .
12.5.3消息队列的优缺点
12.6后台任务处理系统
12.6.1 核心部分 .
12.6.2 服务回调 .
12.6.3 一个例子 .
12.6.4后台任务与微服务
12.7 小结
第 13章 微服务与测试 .
13.1微服务的结构 .
13.2微服务的测试策略
13.3微服务的单元测试
13.3.1单元测试综述
13.3.2单元测试的内容 .
13.4微服务的集成测试
13.4.1集成测试综述
13.4.2集成测试的实施方法
13.4.3集成测试的内容 .
13.5基于消费者驱动的契约测试
13.5.1集成测试存在的弊端
13.5.2什么是契约
13.5.3什么是契约测试 .
13.5.4契约测试的方法 .
13.5.5 Pact实现契约测试 .
13.5.6 一个例子 .
13.5.7 本节小结 .
13.6微服务的组件测试
13.6.1组件测试概述
13.6.2组件测试的方法 .
13.6.3 本节小结 .
13.7微服务的端到端测试 .
13.7.1端到端测试概述 .
13.7.2端到端测试的内容
13.7.3 本节小结 .
13.8 小结
第 14章 使用微服务架构改造遗留系统
14.1背景与挑战
14.2改造策略 .
14.2.1 昀小修改 .
14.2.2 功能剥离 .
14.2.3 数据解耦 .
14.2.4 数据同步 .
14.2.5 迭代替换 .
14.3快速开发实践 .
14.3.1快速开发模板
14.3.2代码生成工具
14.3.3持续集成模板
14.3.4一键部署工具
14.4微服务架构下的新系统
14.5 小结