目前微服务架构在软件发领域得到了广泛应用,因为它可以将一个大规模的应用分而治之,从而分解成许多较小规模的微服务,这样在减少系统内部各组件依赖的同时,还可以让整个系统易于维护和扩展。采用微服务架构的应用可以很容易地修复其中某个微服务的故障,从而消除系统彻底宕机的可能性。本书使用Java语言,并以实际的样例来说明如何快速高效地构建和实施可扩展的微服务架构。
售 价:¥
纸质售价:¥36.70购买纸书
温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印
为你推荐
内容提要
译者序
译者简介
作者简介
审阅者简介
前言
资源与支持
第1章 微服务架构简介
1.1 常规微服务架构
1.2 微服务架构的特征
1.2.1 问题定义
1.2.2 解决方案
1.3 做好微服务架构面临的挑战
1.3.1 通过日志调试
1.3.2 服务监控
1.3.3 公共库
1.3.4 服务之间的消息传递
1.3.5 微服务的部署和版本管理
1.4 微服务的未来
1.4.1 无服务架构
1.4.2 微服务即PaaS
1.5 与传统架构相比微服务架构的优势
1.6 是不是看起来与SOA很像
1.7 将业务领域划分为微服务组件
围绕业务功能组织微服务组件
1.8 到底要不要使用微服务
1.8.1 组织认同度
1.8.2 体验DevOps
1.8.3 分析现有数据库模型
1.8.4 自动化和CI/CD
1.8.5 集成
1.8.6 安全
1.8.7 成功迁移的例子
1.9 示例项目(信用风险评估引擎)
1.10 Spring
1.11 Spring Boot
使用Spring Boot,一切都变得很简单
1.12 小结
第2章 定义微服务组件
2.1 微服务的定义
2.2 服务发现及其用途
2.2.1 DNS
2.2.2 服务发现的请求
2.2.3 服务发现模式示例
2.2.4 整个架构中的配置外化
2.3 API网关及其诉求
2.3.1 认证鉴权
2.3.2 不同协议
2.3.3 负载均衡
2.3.4 请求转发(包括服务发现)
2.3.5 响应转换
2.3.6 断路器
2.3.7 API网关的优劣性
2.4 API网关的例子
贯穿本书的示例应用
2.5 用户注册微服务的开发
配置服务器
2.6 小结
第3章 微服务端点之间的通信
3.1 微服务间应该如何通信
3.2 编制和编排
3.2.1 编制
3.2.2 编排
3.3 同步通信和异步通信
3.3.1 同步通信
3.3.2 异步通信
3.3.3 财务服务
3.4 小结
第4章 微服务端点的安全
4.1 微服务的安全挑战
4.1.1 复合技术栈或者存在遗留代码
4.1.2 认证和授权(访问控制)
4.1.3 基于令牌的安全实践
4.1.4 安全性的责任
4.1.5 编制风格的风险
4.1.6 微服务之间的通信
4.2 与OpenID的OAuth 2.0一起使用JWT
4.2.1 OpenID
4.2.2 OAuth 2.0
4.2.3 JWT
4.2.4 示例应用
4.3 小结
第5章 创建高效的数据模型
5.1 数据和建模
与传统数据模型的对比
5.2 单体架构中的数据模型
5.3 SOA中的数据模型
5.4 微服务架构中的数据模型
5.4.1 每个微服务限定一些数据库表
5.4.2 每个微服务一个数据库
5.4.3 Saga模式
5.4.4 必要时采用混合数据技术
5.5 从单体应用向微服务迁移数据模型
5.5.1 领域驱动设计
5.5.2 数据模型迁移方式
5.6 小结
第6章 测试微服务
6.1 微服务中测试的目的
6.2 单元测试
6.3 集成测试
6.4 组件(服务)测试
6.5 契约测试
6.5.1 Pact
6.5.2 Spring Cloud Contract
6.6 端到端测试
6.7 更进一步
6.8 小结
第7章 部署微服务
7.1 持续集成
7.2 持续交付
7.3 用微服务配置CI和CD工具
7.4 微服务的Docker化
7.4.1 Docker
7.4.2 Docker引擎
7.4.3 Docker镜像
7.4.4 Docker存储
7.4.5 应用程序在Docker中是如何工作的
7.4.6 公共、私有和官方的镜像库
7.4.7 Docker与VM的区别
7.4.8 在Linux中安装Docker
7.5 在Docker化的微服务中使用开源CI工具
7.6 小结
第8章 演进现有系统
8.1 从哪里开始
8.1.1 架构视角和最佳实践
8.1.2 数据库视角和最佳实践
8.2 示例应用及其演变过程
8.2.1 用户管理服务
8.2.2 购物车/订单服务
8.2.3 支付服务
8.2.4 配送/跟踪服务和通信服务
8.2.5 产品推荐服务
8.2.6 调度服务
8.3 小结
第9章 微服务的监控和扩展
9.1 微服务系统的监控原则
9.1.1 如何设置并使用警报
9.1.2 从一开始做好监控和发布渠道规划
9.1.3 自动扩展和自动发现
9.1.4 监控前门流量
9.2 监控模式的发展变化
9.3 日志记录有助于监控
9.4 微服务系统的扩展原则
9.4.1 x轴
9.4.2 y轴
9.4.3 z轴
9.5 实施扩展策略前请三思
9.6 微服务的监控和扩展工具
9.7 小结
第10章 故障排除
10.1 使用微服务时的常见问题
10.1.1 性能下降
10.1.2 日志记录位置因编程语言而异
10.1.3 多组件之间的耦合或依赖问题
10.1.4 服务部署数量与日俱增
10.1.5 监控多项服务,发现性能下降或其他问题
10.1.6 日志与不同组件的关系
10.2 常见问题的解决方法
10.2.1 解决性能问题的步骤
10.2.2 处理不同语言生成的并处于不同位置的日志记录
10.2.3 服务之间的依赖关系
10.2.4 DevOps专家积极参与
10.2.5 监控
10.3 小结
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜