当前位置:主页 > 书籍配套资源 > 微服务配套资源
《微服务实践》配套资源

《微服务实践》配套资源

  • 更新:2021-05-30
  • 大小:640.36 KB
  • 类别:微服务
  • 作者:(印)乌姆什·拉姆·夏尔玛
  • 出版:人民邮电出版社
  • 格式:PDF

  • 资源介绍
  • 相关推荐

内容简介

近些年来,微服务一直是很好热门的话题,关于微服务架构的讨论也是层出不穷。本书以贯穿整书的示例为出发点,由浅入深地阐述使用微服务的很好实践,以及如何避免采用微服务架构可能带来的复杂性陷阱。本书从微服务架构本身的特征入手,讨论微服务组件的设计指导原则、有效通信的方式以及常见的安全挑战和数据模型的选择;然后进入微服务架构的测试部分,探讨微服务的测试挑战和解决方法、监控和扩展常用的实践以及如何将现有架构演变为微服务架构;很后总结微服务架构在设计和开发方面遇到的常见问题及解决方案。

作者介绍

作者简介 Umesh Ram Sharma是一名软件开发工程师,在可扩展、分布式云服务应用的架构、设计及开发方面有8年以上的经验。他从印度卡纳塔克邦州开放大学获得信息技术专业的硕士学位。出于对微服务和Spring的兴趣,他成了J2EE、JavaScript、Struts、Hibernate和Spring方面的专家,也具有AWS、J2EE、MySQL、MongoDB、memchached、Apache、Tomcat和Hazelcast等技术的实践经验。 Umesh Ram Sharma目前是ZestMoney公司的&席软件工程师,帮助他的团队将当前项目迁移到微服务。闲暇时,他喜欢开车兜风、烹饪和参加新技术的各种大会。 译者简介 占红来是一位咨询师,致力于帮助客户和成就客户。曾主持过某世界500强等大型公司的软件一体化开发平台的测试能力提升等落地项目,得到客户的一致好评,并受邀再次合作。 刘博毕业于哈尔滨工业大学,是一位拥有十多年测试经验的软件工程师,主攻自动化测试、性能测试和架构调优领域,对这些领域流行的技术体系和架构风险都有准确的把握。他积极参加对外的技术论坛,把在IBM、活跃网络和思特沃克的经验积累加以总结并分享给业内相关人士,获得众多好评。

目录

  • 第1章微服务架构简介1
  • 1.1常规微服务架构2
  • 1.2微服务架构的特征2
  • 1.2.1问题定义2
  • 1.2.2解决方案3
  • 1.3做好微服务架构面临的挑战4
  • 1.3.1通过日志调试5
  • 1.3.2服务监控5
  • 1.3.3公共库5
  • 1.3.4服务之间的消息传递5
  • 1.3.5微服务的部署和版本管理6
  • 1.4微服务的未来6
  • 1.4.1无服务架构7
  • 1.4.2微服务即PaaS7
  • 1.5与传统架构相比微服务架构的优势7
  • 1.6是不是看起来与SOA很像9
  • 1.7将业务领域划分为微服务组件11
  • 1.8到底要不要使用微服务13
  • 1.8.1组织认同度13
  • 1.8.2体验DevOps14
  • 1.8.3分析现有数据库模型14
  • 1.8.4自动化和CI/CD14
  • 1.8.5集成14
  • 1.8.6安全14
  • 1.8.7成功迁移的例子15
  • 1.9示例项目(信用风险评估引擎)15
  • 1.10Spring15
  • 1.11SpringBoot16
  • 1.12小结19
  • 第2章定义微服务组件21
  • 2.1微服务的定义21
  • 2.2服务发现及其用途22
  • 2.2.1DNS22
  • 2.2.2服务发现的请求23
  • 2.2.3服务发现模式示例26
  • 2.2.4整个架构中的配置外化29
  • 2.3API网关及其诉求32
  • 2.3.1认证鉴权33
  • 2.3.2不同协议34
  • 2.3.3负载均衡34
  • 2.3.4请求转发(包括服务发现)34
  • 2.3.5响应转换34
  • 2.3.6断路器35
  • 2.3.7API网关的优劣性35
  • 2.4API网关的例子36
  • 2.5用户注册微服务的开发39
  • 2.6小结59
  • 第3章微服务端点之间的通信61
  • 3.1微服务间应该如何通信61
  • 3.2编制和编排62
  • 3.2.1编制62
  • 3.2.2编排63
  • 3.3同步通信和异步通信65
  • 3.3.1同步通信65
  • 3.3.2异步通信68
  • 3.3.3财务服务79
  • 3.4小结90
  • 第4章微服务端点的安全91
  • 4.1微服务的安全挑战91
  • 4.1.1复合技术栈或者存在遗留代码92
  • 4.1.2认证和授权(访问控制)92
  • 4.1.3基于令牌的安全实践92
  • 4.1.4安全性的责任92
  • 4.1.5编制风格的风险92
  • 4.1.6微服务之间的通信93
  • 4.2与OpenID的OAuth2.0一起使用JWT94
  • 4.2.1OpenID94
  • 4.2.2OAuth2.095
  • 4.2.3JWT97
  • 4.2.4示例应用99
  • 4.3小结111
  • 第5章创建高效的数据模型113
  • 5.1数据和建模113
  • 5.2单体架构中的数据模型114
  • 5.3SOA中的数据模型115
  • 5.4微服务架构中的数据模型116
  • 5.4.1每个微服务限定一些数据库表116
  • 5.4.2每个微服务一个数据库117
  • 5.4.3Saga模式117
  • 5.4.4必要时采用混合数据技术119
  • 5.5从单体应用向微服务迁移数据模型120
  • 5.5.1领域驱动设计120
  • 5.5.2数据模型迁移方式121
  • 5.6小结126
  • 第6章测试微服务127
  • 6.1微服务中测试的目的127
  • 6.2单元测试128
  • 6.3集成测试131
  • 6.4组件(服务)测试131
  • 6.5契约测试133
  • 6.5.1Pact133
  • 6.5.2SpringCloudContract134
  • 6.6端到端测试135
  • 6.7更进一步135
  • 6.8小结136
  • 第7章部署微服务137
  • 7.1持续集成137
  • 7.2持续交付138
  • 7.3用微服务配置CI和CD工具140
  • 7.4微服务的Docker化147
  • 7.4.1Docker148
  • 7.4.2Docker引擎148
  • 7.4.3Docker镜像148
  • 7.4.4Docker存储148
  • 7.4.5应用程序在Docker中是如何工作的149
  • 7.4.6公共、私有和官方的镜像库149
  • 7.4.7Docker与VM的区别149
  • 7.4.8在Linux中安装Docker150
  • 7.5在Docker化的微服务中使用开源CI工具154
  • 7.6小结156
  • 第8章演进现有系统157
  • 8.1从哪里开始159
  • 8.1.1架构视角和最佳实践159
  • 8.1.2数据库视角和最佳实践162
  • 8.2示例应用及其演变过程163
  • 8.2.1用户管理服务164
  • 8.2.2购物车/订单服务164
  • 8.2.3支付服务164
  • 8.2.4配送/跟踪服务和通信服务164
  • 8.2.5产品推荐服务165
  • 8.2.6调度服务165
  • 8.3小结166
  • 第9章微服务的监控和扩展167
  • 9.1微服务系统的监控原则167
  • 9.1.1如何设置并使用警报168
  • 9.1.2从一开始做好监控和发布渠道规划168
  • 9.1.3自动扩展和自动发现168
  • 9.1.4监控前门流量169
  • 9.2监控模式的发展变化169
  • 9.3日志记录有助于监控170
  • 9.4微服务系统的扩展原则171
  • 9.4.1x轴172
  • 9.4.2y轴172
  • 9.4.3z轴173
  • 9.5实施扩展策略前请三思174
  • 9.6微服务的监控和扩展工具175
  • 9.7小结180
  • 第10章故障排除181
  • 10.1使用微服务时的常见问题181
  • 10.1.1性能下降181
  • 10.1.2日志记录位置因编程语言而异183
  • 10.1.3多组件之间的耦合或依赖问题184
  • 10.1.4服务部署数量与日俱增184
  • 10.1.5监控多项服务,发现性能下降或其他问题185
  • 10.1.6日志与不同组件的关系185
  • 10.2常见问题的解决方法186
  • 10.2.1解决性能问题的步骤186
  • 10.2.2处理不同语言生成的并处于不同位置的日志记录186
  • 10.2.3服务之间的依赖关系187
  • 10.2.4DevOps专家积极参与187
  • 10.2.5监控188
  • 10.3小结189

资源下载

资源下载地址1:https://box.lenovo.com/l/8ufL8V

相关资源

网友留言