微服务架构与实践

微服务架构与实践
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者:
2015-11
版次: 1
ISBN: 9787121275913
定价: 65.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 236页
字数: 312千字
正文语种: 简体中文
108人买过
  •   随着RESTful、云计算、DevOps、持续交付等概念的深入人心,微服务架构逐渐成为系统架构的一个代名词。本书首先从理论出发,介绍了微服务架构的概念、诞生背景、本质特征以及优缺点;然后基于实践,探讨了如何从零开始构建**个微服务,包括HelloWorldAPI、Docker映像构建与部署、日志聚合、监控告警、持续交付流水线等;最后,在进阶部分讨论了微服务的轻量级通信、消费者驱动的契约测试,并通过一个真实的案例描述了如何使用微服务架构改造遗留系统。全书内容丰富,条理清晰,通俗易懂,是一本理论结合实践的微服务架构的实用书籍。
      本书不仅适合架构师、开发人员、测试人员以及运维人员阅读,也适合正在尝试使用微服务架构解耦历史遗留系统的团队或者个人参考,希望本书能在实际工作中对读者有所帮助。   ThoughtWorks的首席咨询师王磊是国内较早倡导和实践微服务的先行者。王磊是开源软件的爱好者和贡献者,社区活动的参与者,《RubyGems开发实战》(PracticalRubyGems)一书的译者,GDCR西安的组织者。他于2012年加入ThoughtWorks,为国内外诸多客户提供项目交付和咨询服务;在加入ThoughtWorks之前,曾就职过多家知名外企,具有丰富的敏捷项目实战经验。目前致力于微服务架构、高可用的Web应用以及DevOps的研究与实践。 第 1部分 基础篇第 1章 单块架构及其面临的挑战 . 31.1三层应用架构 . 41.1.1三层应用架构的发展 41.1.2什么是三层架构 . 51.1.3三层架构的优势 . 61.2单块架构 . 61.2.1什么是单块架构 . 61.2.2单块架构的优势 . 71.2.3单块架构面临的挑战 81.3 小结 . 12第 2章 微服务架构综述 132.1什么是微服务架构 . 132.1.1多微才够微 . 142.1.2 单一职责 . 172.1.3 轻量级通信 . 172.1.4 独立性 . 192.1.5 进程隔离 . 202.2 微服务的诞生背景 . 222.2.1 互联网行业的快速发展 232.2.2 敏捷、精益方法论的深入人心 232.2.3 单块架构系统面临的挑战 232.2.4 容器虚拟化技术 . 232.3 微服务架构与 SOA 242.3.1 SOA概述 242.3.2 微服务与 SOA 252.4 微服务的本质 . 262.4.1服务作为组件 . 272.4.2 围绕业务组织团队 . 282.4.3 关注产品而非项目 . 292.4.4 技术多样性 . 312.4.5 业务数据独立 . 322.4.6 基础设施自动化 . 332.4.7 演进式架构 . 332.5 微服务不是银弹 . 342.5.1 分布式系统的复杂度 352.5.2 运维成本 . 362.5.3 部署自动化 . 362.5.4 DevOps与组织架构 . 372.5.5 服务间的依赖测试 . 372.5.6 服务间的依赖管理 . 372.6 小结 . 38第 2部分 实践篇第 3章 构建第一个服务 413.1场景分析 . 413.2任务拆分 . 43第 4章 Hello World API 454.1 API实现 454.1.1 开发语言 ――Ruby . 454.1.2 Web框架――Grape . 464.1.3 API的具体实现 474.2代码测试与静态检查 . 504.2.1代码测试 . 504.2.2测试覆盖率统计 . 534.2.3静态检查 . 544.2.4代码复杂度检查 . 57第 5章 构建 Docker映像 . 615.1 定义 Dockerfile . 615.2 配置 Docker主机 635.3 构建 Docker映像 645.4 运行 Docker容器 645.5 发布 Docker映像 655.6 小结 . 69第 6章 部署 Docker映像 . 716.1基础设施 AWS 716.2基础设施自动化 . 736.3 部署 Docker映像 806.4自动化部署 . 816.5 小结 . 84第 7章 持续交付流水线 857.1持续集成环境 . 857.2提交阶段 . 877.3验证阶段 . 917.4构建阶段 . 917.5发布阶段 . 947.6 小结 . 96第 8章 日志聚合 978.1 日志聚合工具简介 . 978.2 Splunk的核心 . 998.3 安装 Splunk索引器 1008.4 安装 Splunk转发器 1018.5日志查找 . 1028.6告警设置 . 1038.7 小结 . 104第 9章 监控与告警 . 1059.1 Nagios简介. 1059.2 Nagios的工作原理 . 1079.3 Nagios安装. 1089.4 Nagios的配置 . 1099.5 监控 products-service 1119.6 告警 . 1139.7 小结 . 114第 10章 功能迭代 11510.1定义模型 . 11610.2持久化模型 . 11710.3定义表现形式 . 11910.4 实现 API 12210.5服务描述文件 . 12510.6 小结 . 127第 3部分 进阶篇第 11章 微服务与持续交付 13111.1持续交付的核心 13211.2微服务架构与持续交付 13311.2.1 开发 . 13311.2.2 测试 . 13711.2.3持续集成 13911.2.4 构建 . 13911.2.5 部署 . 14011.2.6 运维 . 14311.3 小结 . 144第 12章 微服务与轻量级通信机制 . 14512.1同步通信与异步通信 . 14512.1.1 概述 . 14512.1.2同步通信与异步通信的选择 14612.2远程调用 RPC . 14712.2.1远程过程调用的核心 14712.2.2远程方法调用 . 14812.2.3远程过程调用的弊端 14812.3 REST . 14912.3.1 概述 . 14912.3.2 REST的核心 . 15012.3.3 REST的优势 . 15212.3.4 REST的不足 . 15212.3.5 本节小结 . 15512.4 HAL . 15512.4.1 概述 . 15512.4.2 HAL的核心 15612.4.3 HAL浏览器 16012.5消息队列 . 16112.5.1 核心部分 . 16212.5.2 访问方式 . 16312.5.3消息队列的优缺点 . 16412.6后台任务处理系统 . 16512.6.1 核心部分 . 16512.6.2 服务回调 . 16612.6.3 一个例子 . 16712.6.4后台任务与微服务 . 16912.7 小结 . 170第 13章 微服务与测试 . 17113.1微服务的结构 . 17113.2微服务的测试策略 . 17313.3微服务的单元测试 . 17513.3.1单元测试综述 . 17513.3.2单元测试的内容 . 17613.4微服务的集成测试 . 17913.4.1集成测试综述 . 17913.4.2集成测试的实施方法 17913.4.3集成测试的内容 . 18013.5基于消费者驱动的契约测试 18113.5.1集成测试存在的弊端 18113.5.2什么是契约 . 18313.5.3什么是契约测试 . 18413.5.4契约测试的方法 . 18513.5.5 Pact实现契约测试 18713.5.6 一个例子 . 19213.5.7 本节小结 . 20513.6微服务的组件测试 . 20513.6.1组件测试概述 . 20513.6.2组件测试的方法 . 20613.6.3 本节小结 . 20713.7微服务的端到端测试 . 20813.7.1端到端测试概述 . 20813.7.2端到端测试的内容 . 20813.7.3 本节小结 . 20913.8 小结 . 210第 14章 使用微服务架构改造遗留系统 21114.1背景与挑战 . 21114.2改造策略 . 21214.2.1 昀小修改 . 21214.2.2 功能剥离 . 21214.2.3 数据解耦 . 21314.2.4 数据同步 . 21314.2.5 迭代替换 . 21414.3快速开发实践 . 21514.3.1快速开发模板 . 21514.3.2代码生成工具 . 21714.3.3持续集成模板 . 21714.3.4一键部署工具 . 21714.4微服务架构下的新系统 . 21814.5 小结 . 220
  • 内容简介:
      随着RESTful、云计算、DevOps、持续交付等概念的深入人心,微服务架构逐渐成为系统架构的一个代名词。本书首先从理论出发,介绍了微服务架构的概念、诞生背景、本质特征以及优缺点;然后基于实践,探讨了如何从零开始构建**个微服务,包括HelloWorldAPI、Docker映像构建与部署、日志聚合、监控告警、持续交付流水线等;最后,在进阶部分讨论了微服务的轻量级通信、消费者驱动的契约测试,并通过一个真实的案例描述了如何使用微服务架构改造遗留系统。全书内容丰富,条理清晰,通俗易懂,是一本理论结合实践的微服务架构的实用书籍。
      本书不仅适合架构师、开发人员、测试人员以及运维人员阅读,也适合正在尝试使用微服务架构解耦历史遗留系统的团队或者个人参考,希望本书能在实际工作中对读者有所帮助。
  • 作者简介:
      ThoughtWorks的首席咨询师王磊是国内较早倡导和实践微服务的先行者。王磊是开源软件的爱好者和贡献者,社区活动的参与者,《RubyGems开发实战》(PracticalRubyGems)一书的译者,GDCR西安的组织者。他于2012年加入ThoughtWorks,为国内外诸多客户提供项目交付和咨询服务;在加入ThoughtWorks之前,曾就职过多家知名外企,具有丰富的敏捷项目实战经验。目前致力于微服务架构、高可用的Web应用以及DevOps的研究与实践。
  • 目录:
    第 1部分 基础篇第 1章 单块架构及其面临的挑战 . 31.1三层应用架构 . 41.1.1三层应用架构的发展 41.1.2什么是三层架构 . 51.1.3三层架构的优势 . 61.2单块架构 . 61.2.1什么是单块架构 . 61.2.2单块架构的优势 . 71.2.3单块架构面临的挑战 81.3 小结 . 12第 2章 微服务架构综述 132.1什么是微服务架构 . 132.1.1多微才够微 . 142.1.2 单一职责 . 172.1.3 轻量级通信 . 172.1.4 独立性 . 192.1.5 进程隔离 . 202.2 微服务的诞生背景 . 222.2.1 互联网行业的快速发展 232.2.2 敏捷、精益方法论的深入人心 232.2.3 单块架构系统面临的挑战 232.2.4 容器虚拟化技术 . 232.3 微服务架构与 SOA 242.3.1 SOA概述 242.3.2 微服务与 SOA 252.4 微服务的本质 . 262.4.1服务作为组件 . 272.4.2 围绕业务组织团队 . 282.4.3 关注产品而非项目 . 292.4.4 技术多样性 . 312.4.5 业务数据独立 . 322.4.6 基础设施自动化 . 332.4.7 演进式架构 . 332.5 微服务不是银弹 . 342.5.1 分布式系统的复杂度 352.5.2 运维成本 . 362.5.3 部署自动化 . 362.5.4 DevOps与组织架构 . 372.5.5 服务间的依赖测试 . 372.5.6 服务间的依赖管理 . 372.6 小结 . 38第 2部分 实践篇第 3章 构建第一个服务 413.1场景分析 . 413.2任务拆分 . 43第 4章 Hello World API 454.1 API实现 454.1.1 开发语言 ――Ruby . 454.1.2 Web框架――Grape . 464.1.3 API的具体实现 474.2代码测试与静态检查 . 504.2.1代码测试 . 504.2.2测试覆盖率统计 . 534.2.3静态检查 . 544.2.4代码复杂度检查 . 57第 5章 构建 Docker映像 . 615.1 定义 Dockerfile . 615.2 配置 Docker主机 635.3 构建 Docker映像 645.4 运行 Docker容器 645.5 发布 Docker映像 655.6 小结 . 69第 6章 部署 Docker映像 . 716.1基础设施 AWS 716.2基础设施自动化 . 736.3 部署 Docker映像 806.4自动化部署 . 816.5 小结 . 84第 7章 持续交付流水线 857.1持续集成环境 . 857.2提交阶段 . 877.3验证阶段 . 917.4构建阶段 . 917.5发布阶段 . 947.6 小结 . 96第 8章 日志聚合 978.1 日志聚合工具简介 . 978.2 Splunk的核心 . 998.3 安装 Splunk索引器 1008.4 安装 Splunk转发器 1018.5日志查找 . 1028.6告警设置 . 1038.7 小结 . 104第 9章 监控与告警 . 1059.1 Nagios简介. 1059.2 Nagios的工作原理 . 1079.3 Nagios安装. 1089.4 Nagios的配置 . 1099.5 监控 products-service 1119.6 告警 . 1139.7 小结 . 114第 10章 功能迭代 11510.1定义模型 . 11610.2持久化模型 . 11710.3定义表现形式 . 11910.4 实现 API 12210.5服务描述文件 . 12510.6 小结 . 127第 3部分 进阶篇第 11章 微服务与持续交付 13111.1持续交付的核心 13211.2微服务架构与持续交付 13311.2.1 开发 . 13311.2.2 测试 . 13711.2.3持续集成 13911.2.4 构建 . 13911.2.5 部署 . 14011.2.6 运维 . 14311.3 小结 . 144第 12章 微服务与轻量级通信机制 . 14512.1同步通信与异步通信 . 14512.1.1 概述 . 14512.1.2同步通信与异步通信的选择 14612.2远程调用 RPC . 14712.2.1远程过程调用的核心 14712.2.2远程方法调用 . 14812.2.3远程过程调用的弊端 14812.3 REST . 14912.3.1 概述 . 14912.3.2 REST的核心 . 15012.3.3 REST的优势 . 15212.3.4 REST的不足 . 15212.3.5 本节小结 . 15512.4 HAL . 15512.4.1 概述 . 15512.4.2 HAL的核心 15612.4.3 HAL浏览器 16012.5消息队列 . 16112.5.1 核心部分 . 16212.5.2 访问方式 . 16312.5.3消息队列的优缺点 . 16412.6后台任务处理系统 . 16512.6.1 核心部分 . 16512.6.2 服务回调 . 16612.6.3 一个例子 . 16712.6.4后台任务与微服务 . 16912.7 小结 . 170第 13章 微服务与测试 . 17113.1微服务的结构 . 17113.2微服务的测试策略 . 17313.3微服务的单元测试 . 17513.3.1单元测试综述 . 17513.3.2单元测试的内容 . 17613.4微服务的集成测试 . 17913.4.1集成测试综述 . 17913.4.2集成测试的实施方法 17913.4.3集成测试的内容 . 18013.5基于消费者驱动的契约测试 18113.5.1集成测试存在的弊端 18113.5.2什么是契约 . 18313.5.3什么是契约测试 . 18413.5.4契约测试的方法 . 18513.5.5 Pact实现契约测试 18713.5.6 一个例子 . 19213.5.7 本节小结 . 20513.6微服务的组件测试 . 20513.6.1组件测试概述 . 20513.6.2组件测试的方法 . 20613.6.3 本节小结 . 20713.7微服务的端到端测试 . 20813.7.1端到端测试概述 . 20813.7.2端到端测试的内容 . 20813.7.3 本节小结 . 20913.8 小结 . 210第 14章 使用微服务架构改造遗留系统 21114.1背景与挑战 . 21114.2改造策略 . 21214.2.1 昀小修改 . 21214.2.2 功能剥离 . 21214.2.3 数据解耦 . 21314.2.4 数据同步 . 21314.2.5 迭代替换 . 21414.3快速开发实践 . 21514.3.1快速开发模板 . 21514.3.2代码生成工具 . 21714.3.3持续集成模板 . 21714.3.4一键部署工具 . 21714.4微服务架构下的新系统 . 21814.5 小结 . 220
查看详情
相关图书 / 更多
微服务架构与实践
微服务开发实战
[美]保罗·奥斯曼 著;邓彪 译
微服务架构与实践
微服务从小白到专家――SpringCloud和Kubernetes实战
姚秋辰、张昕、卿睿 著
微服务架构与实践
微服务架构原理与开发实战
张刚
微服务架构与实践
微服务架构深度解析:原理、实践与进阶
王佩华
微服务架构与实践
微服务即学即用
[美]罗尼·米特拉(Ronnie Mitra);[美]伊拉克利·纳达雷什维利(Irakli Nadareishvili);王岩;黄俊彬
微服务架构与实践
微服务下的领域驱动设计
孙连山 编著
微服务架构与实践
微服务质量保障:测试策略与质量体系
嘉木
微服务架构与实践
微服务之道
[爱尔兰]理查德·罗杰(Richard Rodger)
微服务架构与实践
微服务与事件驱动架构
[加]亚当·贝勒马尔(Adam Bellemare) 著;温正东 译
微服务架构与实践
微服务项目实战派——从Spring Boot到Spring Cloud
姜桥
微服务架构与实践
微服务,心体验
李方
微服务架构与实践
微服务SpringBoot实战(面向高等职业院校基于工作过程项目式系列教材)
王新强、张明宇 编
您可能感兴趣 / 更多
微服务架构与实践
群星闪耀的世界史(一看就乐,一读就懂。一口气读完五千年历史)
王磊 著;博集天卷 出品
微服务架构与实践
Python数据挖掘实战(微课版)
王磊 邱江涛
微服务架构与实践
概率论与数理统计
王磊 欧阳异能 马志辉
微服务架构与实践
古代文人闲趣人生2册套装:越过人间荒唐+人间惊鸿客
王磊 著;时代华语 出品;傅踢踢
微服务架构与实践
土木工程专业课程思政优秀案例:桥梁红色基因
王磊 彭建新 蒋田勇 贺君 殷新锋 马亚飞 刘汉云
微服务架构与实践
无人机中继通信系统航迹优化
王磊 著;刘海涛;李冬霞
微服务架构与实践
DSM-5儿童及青少年精神健康速查手册
王磊 译;[美]罗伯 特·希尔特;[美]亚伯拉罕·努斯 鲍姆;徐琪;王丹
微服务架构与实践
Offer来了:Java面试核心知识点精讲(框架篇)
王磊 著
微服务架构与实践
视频剪辑纵横:PremierePro/FinalCutPro/DaVinciResolve
王磊 著
微服务架构与实践
Offer来了:Java面试核心知识点精讲(原理篇)
王磊 著
微服务架构与实践
游戏AI程序设计实战
王磊 著
微服务架构与实践
:AutoCAD电气设计与天正电气TElec工程实践(2012中文版)
王磊 著