Spring Boot微服务实战 使用RabbitMQ、Eureka、Ribbon、Zuul和C
书籍作者:[美莫伊塞斯·马塞罗 |
ISBN:9787302535652 |
书籍语言:简体中文 |
连载状态:全集 |
电子书格式:pdf,txt,epub,mobi,azw3 |
下载次数:9408 |
创建日期:2021-02-14 |
发布日期:2021-02-14 |
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板 |
内容简介
《Spring Boot微服务实战 使用RabbitMQ、Eureka、Ribbon、Zuul和Cucumber开发RESTful服务》使用Spring Boot构建微服务架构,将一个应用从小单体演进到包含多个服务的事件驱动架构。《Spring Boot微服务实战 使用RabbitMQ、Eureka、Ribbon、Zuul和Cucumber开发RESTful服务》遵循增量式的方法来讲解微服务结构、测试驱动开发、Eureka、Ribbon、Zuul,以及使用Cucumber编写的端到端测试。
作者Moises Macero用非常务实的方式解释了这种软件架构的好处,而不是让你被理论概念分散注意力。他从实战的角度介绍了计算机编程中的一些先进技术。从小可行的产品开始,同时保持灵活性,使其不断发展。
作者简介
莫伊塞斯·马塞罗(Moises Macero),从小就对软件开发感兴趣。他也曾在初创企业中从事全栈开发。在Moises的职业生涯中,他常从事开发、设计和架构方面的工作——既有小型和大型项目,也有敏捷和“瀑布”型开发环境。
张渊,ThoughtWorks高级咨询师、软件开发人员。他曾在制造业、互联网工作,又参与了企业软件开发,使用不同的编程语言,见识着形形色色的软件架构风格,或喜或忧。他目前正在探索企业大数据实践,致力于通过工程实践提升软件质量和开发者体验。
和坚,ThoughtWorks中台解决方案咨询师,前互联网金融公司CTO,在企业微服务改造和中台建设方面拥有丰富的实战经验。他有十多年IT从业经验,从技术到金融,从金融到风控,从风控到互联网,从互联网到咨询,不断走出舒适区,体验多维的人生。
前言
虽然市面上已经有了很多讲解Spring Boot的图书,但是本书绝对会给你带来不一样的体验。Moises Macero没有把本书写得像一本使用手册一样面面俱到,也没有一上来就直接给出一个完整的微服务架构设计,然后把这个架构设计实现出来,而是像一本微服务开发者的旅行小说,带着读者一起探索微服务世界,在旅途中一起面临问题,然后一起解决问题,这样一步步用演进方式给读者呈现出最终的微服务架构设计。
这个旅途从一个业务基本需求开始,作者按照敏捷开发的方式写出了第一个用户故事并拆分出具体任务,然后使用测试驱动开发(Test-Driven Development,TDD)的方法实现了基本业务逻辑。紧接着用了一章篇幅详细介绍了一个Spring Boot应用的三层架构体系,并基于这个架构实现了从界面到数据库的一个完整功能。随着需求的不断增加,发现新需求不适合放在原来的应用中,于是介绍了解决这种问题的方案:多个微服务架构。实现了多个微服务以后又发现了新问题,于是开始一个个地介绍解决这些问题的工具,并把这些工具实现到系统中。最后针对复杂的微服务架构系统,发现很难进行端到端测试,因此又带着读者一起使用业务驱动开发(Business-DrivenDevelopment.BDD)的方法实现了微服务系统的端到端测试。在整个旅途中,作者在每次解决问题之前,都会深入浅出地解释为什么要这样解决。这好像在旅游时一位经验丰富的导游在给你讲解每个景点背后的故事,以及到达景点为什么要走这条路。
希望读者不仅从本书学到如何使用Spring Boot实现微服务,而能够通过本书更深入地理解很多微服务的底层逻辑,掌握了这套逻辑就能够使用其他开发语言或者框架实现微服务架构系统。这些年大部分公司都在把传统IT系统的单体架构转型成微服务架构。而基于越来越多的微服务,数字化中台这个概念开始越来越火,很多公司都提出要建设中台。构建中台的一个个微服务,每个微服务都代表企业的某种业务能力,这些业务能力通过微服务改造变成数字化服务后,企业就可以很容易地复用这些业务能力来响应业务诉求,并通过扩展微服务的方式来支持业务规模的迅速扩张。不论是微服务架构还是数字化中台,都不仅是专有的技术概念,而是一个企业在数字化时代需要具备的新技能。
下面这个图是译者提出的数字化中台全景,在本书中作者提到的服务发现、API网关、负载均衡、服务容错等概念都能够在这个全景图中找到对应的位置。
目录
第1章 介绍
1.1 设置场景
1.2 读者对象
1.3 本书与其他图书和指南有何区别
1.3.1 工具背后的论证
1.3.2 学习:渐进的过程
1.3.3 这是一本指南还是一本图书
1.4 本书内容
1.4.1 从基础知识到高级话题
1.4.2 搭建Spring Boot骨架的专业方式
1.4.3 测试驱动开发
1.4.4 连接微服务
1.4.5 事件驱动的系统
1.4.6 端到端测试
1.5 本章小结
第2章 一个基本的Spring Boot应用
2.1 业务需求
2.2 骨架应用
2.2.1 轻薄应用与真实应用
2.2.2 创建应用骨架
2.3 热身:一些TDD的实战
2.4 本章小结
第3章 一个真实的三层Spring Boot应用
3.1 简介
3.2 完成基本功能
3.3 领域设计
3.4 业务逻辑层
3.5 展示层(REST APD
3.5.1 MultiplicationController
3.5.2 Results控制器
3.6 前端(Web客户端)
3.7 试玩(第1部分)
3.8 数据持久化的新需求
3.9 重构代码
3.10 数据层
3.10.1 数据模型
3.10.2 资源库
3.11 完成第二个用户故事:串联所有层
3.12 畅玩应用(第2部分)
3.13 本章小结
第4章 初识微服务
4.1 小单体之路
4.1.1 单体分析
4.1.2 继续前进
4.2 游戏化基础
4.2.1 分数、徽章和排行榜
4.2.2 应用游戏化技术
4.3 转向微服务架构
4.3.1 职责分离和松耦合
4.3.2 独立变更
4.3.3 伸缩性
4.4 连接不同的微服务
4.5 事件驱动架构
4.5.1 相关技术
4.5.2 事件驱动架构的优缺点
4.5.3 深入阅读
4.5.4 应用事件驱动架构
4.6 使用RabbitMQ和Spring AMQP实现事件驱动
4.6.1 在系统中使用RabbitMQ
4.6.2 Spring AMQP
4.7 从乘法微服务发送事件
4.7.1 RabbitMQ配置
4.7.2 对事件建模
4.7.3 发送事件:分发器模式
4.7.4 深入新游戏化微服务
4.8 使用RabbitMQ接收事件
4.8.1 订阅者
4.8.2 RabbitMQ配置
4.8.3 事件处理程序
4.9 在微服务之间请求数据
4.9.1 结合反应式模式和REST
4.9.2 保持领域隔离
4.9.3 实现REST客户端
4.9.4 更新游戏化业务逻辑
4.10 使用微服务
4.11 本章小结
……
第5章 使用工具的微服务架构
第6章 测试分布式系统
后记