自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(1)
  • 资源 (1)
  • 收藏
  • 关注

原创 max下的命令行工具配置:iterm2+配色+oh-my-zsh

1.iTerm2 http://www.iterm2.com/#/section/home 下载 安装 设置热键: preferences -> Keys -> HotKey 选择 Show/hide iTerm2 with a system-wide hotkey,为iTerm设置一个系统级热键,在任何应用里都可以使用该热键来召唤iTerm2. (以前我的热键都是cmd+shift

2014-06-09 17:34:28 4956

微服务架构与实践

作者: 王磊 出版社: 电子工业出版社 出版年: 2015-11-1 内容简介 · · · · · · 随着RESTful、云计算、DevOps、持续交付等概念的深入人心,微服务架构逐渐成为系统架构的一个代名词。本书首先从理论出发,介绍了微服务架构的概念、诞生背景、本质特征以及优缺点;然后基于实践,探讨了如何从零开始构建第一个微服务,包括Hello World API、Docker 映像构建与部署、日志聚合、监控告警、持续交付流水线等;最后,在进阶部分讨论了微服务的轻量级通信、消费者驱动的契约测试,并通过一个真实的案例描述了如何使用微服务架构改造遗留系统。全书内容丰富,条理清晰,通俗易懂,是一本理论结合实践的微服务架构的实用书籍。 本书不仅适合架构师、开发人员、测试人员以及运维人员阅读,也适合正在尝试使用微服务架构解耦历史遗留系统的团队或者个人参考,希望本书能在实际工作中对读者有所帮助。 作者简介 · · · · · · ThoughtWorks的首席咨询师王磊是国内较早倡导和实践微服务的先行者。王磊是开源软件的爱好者和贡献者,社区活动的参与者,《Ruby Gems开发实战》(Practical RubyGems)一书的译者,GDCR西安的组织者。他于2012年加入ThoughtWorks,为国内外诸多客户提供项目交付和咨询服务;在加入ThoughtWorks之前,曾就职过多家知名外企,具有丰富的敏捷项目实战经验。目前致力于微服务架构、高可用的Web应用以及DevOps的研究与实践。 第 1部分 基础篇 第 1章 单块架构及其面临的挑战 . 3 1.1三层应用架构 . 4 1.1.1三层应用架构的发展 4 1.1.2什么是三层架构 . 5 1.1.3三层架构的优势 . 6 1.2单块架构 . 6 1.2.1什么是单块架构 . 6 1.2.2单块架构的优势 . 7 1.2.3单块架构面临的挑战 8 1.3 小结 . 12 第 2章 微服务架构综述 13 2.1什么是微服务架构 . 13 2.1.1多微才够微 . 14 2.1.2 单一职责 . 17 2.1.3 轻量级通信 . 17 2.1.4 独立性 . 19 2.1.5 进程隔离 . 20 2.2 微服务的诞生背景 . 22 2.2.1 互联网行业的快速发展 23 2.2.2 敏捷、精益方法论的深入人心 23 2.2.3 单块架构系统面临的挑战 23 2.2.4 容器虚拟化技术 . 23 2.3 微服务架构与 SOA 24 2.3.1 SOA概述 24 2.3.2 微服务与 SOA 25 2.4 微服务的本质 . 26 2.4.1服务作为组件 . 27 2.4.2 围绕业务组织团队 . 28 2.4.3 关注产品而非项目 . 29 2.4.4 技术多样性 . 31 2.4.5 业务数据独立 . 32 2.4.6 基础设施自动化 . 33 2.4.7 演进式架构 . 33 2.5 微服务不是银弹 . 34 2.5.1 分布式系统的复杂度 35 2.5.2 运维成本 . 36 2.5.3 部署自动化 . 36 2.5.4 DevOps与组织架构 . 37 2.5.5 服务间的依赖测试 . 37 2.5.6 服务间的依赖管理 . 37 2.6 小结 . 38 第 2部分 实践篇 第 3章 构建第一个服务 41 3.1场景分析 . 41 3.2任务拆分 . 43 第 4章 Hello World API 45 4.1 API实现 45 4.1.1 开发语言 ――Ruby . 45 4.1.2 Web框架――Grape . 46 4.1.3 API的具体实现 47 4.2代码测试与静态检查 . 50 4.2.1代码测试 . 50 4.2.2测试覆盖率统计 . 53 4.2.3静态检查 . 54 4.2.4代码复杂度检查 . 57 第 5章 构建 Docker映像 . 61 5.1 定义 Dockerfile . 61 5.2 配置 Docker主机 63 5.3 构建 Docker映像 64 5.4 运行 Docker容器 64 5.5 发布 Docker映像 65 5.6 小结 . 69 第 6章 部署 Docker映像 . 71 6.1基础设施 AWS 71 6.2基础设施自动化 . 73 6.3 部署 Docker映像 80 6.4自动化部署 . 81 6.5 小结 . 84 第 7章 持续交付流水线 85 7.1持续集成环境 . 85 7.2提交阶段 . 87 7.3验证阶段 . 91 7.4构建阶段 . 91 7.5发布阶段 . 94 7.6 小结 . 96 第 8章 日志聚合 97 8.1 日志聚合工具简介 . 97 8.2 Splunk的核心 . 99 8.3 安装 Splunk索引器 100 8.4 安装 Splunk转发器 101 8.5日志查找 . 102 8.6告警设置 . 103 8.7 小结 . 104 第 9章 监控与告警 . 105 9.1 Nagios简介. 105 9.2 Nagios的工作原理 . 107 9.3 Nagios安装. 108 9.4 Nagios的配置 . 109 9.5 监控 products-service 111 9.6 告警 . 113 9.7 小结 . 114 第 10章 功能迭代 115 10.1定义模型 . 116 10.2持久化模型 . 117 10.3定义表现形式 . 119 10.4 实现 API 122 10.5服务描述文件 . 125 10.6 小结 . 127 第 3部分 进阶篇 第 11章 微服务与持续交付 131 11.1持续交付的核心 132 11.2微服务架构与持续交付 133 11.2.1 开发 . 133 11.2.2 测试 . 137 11.2.3持续集成 139 11.2.4 构建 . 139 11.2.5 部署 . 140 11.2.6 运维 . 143 11.3 小结 . 144 第 12章 微服务与轻量级通信机制 . 145 12.1同步通信与异步通信 . 145 12.1.1 概述 . 145 12.1.2同步通信与异步通信的选择 146 12.2远程调用 RPC . 147 12.2.1远程过程调用的核心 147 12.2.2远程方法调用 . 148 12.2.3远程过程调用的弊端 148 12.3 REST . 149 12.3.1 概述 . 149 12.3.2 REST的核心 . 150 12.3.3 REST的优势 . 152 12.3.4 REST的不足 . 152 12.3.5 本节小结 . 155 12.4 HAL . 155 12.4.1 概述 . 155 12.4.2 HAL的核心 156 12.4.3 HAL浏览器 160 12.5消息队列 . 161 12.5.1 核心部分 . 162 12.5.2 访问方式 . 163 12.5.3消息队列的优缺点 . 164 12.6后台任务处理系统 . 165 12.6.1 核心部分 . 165 12.6.2 服务回调 . 166 12.6.3 一个例子 . 167 12.6.4后台任务与微服务 . 169 12.7 小结 . 170 第 13章 微服务与测试 . 171 13.1微服务的结构 . 171 13.2微服务的测试策略 . 173 13.3微服务的单元测试 . 175 13.3.1单元测试综述 . 175 13.3.2单元测试的内容 . 176 13.4微服务的集成测试 . 179 13.4.1集成测试综述 . 179 13.4.2集成测试的实施方法 179 13.4.3集成测试的内容 . 180 13.5基于消费者驱动的契约测试 181 13.5.1集成测试存在的弊端 181 13.5.2什么是契约 . 183 13.5.3什么是契约测试 . 184 13.5.4契约测试的方法 . 185 13.5.5 Pact实现契约测试 187 13.5.6 一个例子 . 192 13.5.7 本节小结 . 205 13.6微服务的组件测试 . 205 13.6.1组件测试概述 . 205 13.6.2组件测试的方法 . 206 13.6.3 本节小结 . 207 13.7微服务的端到端测试 . 208 13.7.1端到端测试概述 . 208 13.7.2端到端测试的内容 . 208 13.7.3 本节小结 . 209 13.8 小结 . 210 第 14章 使用微服务架构改造遗留系统 211 14.1背景与挑战 . 211 14.2改造策略 . 212 14.2.1 昀小修改 . 212 14.2.2 功能剥离 . 212 14.2.3 数据解耦 . 213 14.2.4 数据同步 . 213 14.2.5 迭代替换 . 214 14.3快速开发实践 . 215 14.3.1快速开发模板 . 215 14.3.2代码生成工具 . 217 14.3.3持续集成模板 . 217 14.3.4一键部署工具 . 217 14.4微服务架构下的新系统 . 218 14.5 小结 . 220

2016-11-18

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除