从单体到微服务:使用Spring Boot构建事件驱动的Java应用程序

Spring Boot是Pivotal团队设计的一种微服务框架, 基于Spring开发,用于简化新Spring应用的初始搭建及开发过程,提升Spring 开发者的体验。它秉持"约定大于配置"的思想,集成了大量开箱即用的第三方库,支持绝大多数开源软件,使开发者更专注于业务逻辑,便捷地构建微服务。Spring Boot的出现为Java领域内实施微服务架构提供了技术支撑,是Java领域出色的微服务架构实施技术。

本书首先解释为什么要从一个小的单体应用开始学习,然后从一个空项目入手,开始分层创建微服务;在此过程中构建Web应用程序,展示Spring Boot在处理应用程序时的强大功能,后深入探讨微服务的一些核心概念。本书围绕服务发现、负载均衡、路由、集中式日志、按环境配置和容器化等内容,采用增量方法介绍微服务架构、测试驱动开发和分布式系统中的常见模式。

早在2009年,Netflix便开始尝试对微服务进行初步探索。在互联网智能化不断发展、各种新技术层出不穷以及传统架构无法满足软件开发新需求等背景下,微服务应运而生。Martin Fowler于2014年3月发表的"Microservices"一文中第一次明确提出"微服务"概念。从早期的单体架构,到之后的分布式架构和SOA(Service-Oriented Architecture)架构,服务被不断拆分,粒度越来越小。微服务架构秉持分而治之、高内聚、低耦合的开发理念,将单一应用程序拆分为多个相互独立的小应用,真正实现了去中心化;小应用之间通过服务完成交互和集成,真正实现了业务系统的组件化和服务化。因此,微服务架构成为构建现代软件系统最流行的方法之一。

Spring Boot是Pivotal团队设计的一种微服务框架,基于Spring开发,用于简化新Spring应用的初始搭建及开发过程,提升Spring开发者的体验。它秉持"约定大于配置"的思想,集成了大量开箱即用的第三方库,支持绝大多数开源软件,使开发者更专注于业务逻辑,便捷地构建微服务。Spring Boot的出现为Java领域内实施微服务架构提供了技术支撑,是Java领域最出色的微服务架构实施技术。

本书介绍了使用Spring Boot框架构建基于Java的微服务架构的过程。通过将应用程序从小型单体架构转变为由多个服务组成的事件驱动架构,您将学习到以下知识点:

服务发现、负载均衡、路由、集中式日志、按环境配置和容器化等关键概念。

新增功能,如支持特定版本的Java SE、使用JUnit 5进行测试、更新的Spring Cloud工具用于服务发现和负载均衡、使用云原生构建包构建Docker映像、提供基本的集中式日志解决方案、使用Sleuth实现端到端追溯性、使用Consul进行集中式配置、依赖项升级以及支持Spring Data Neumann等。

作者Moisés通过实用方法来解释这种软件架构的好处,并介绍了一些计算机编程中的先进技术。您将专注于学习关键技术,从开发最小可行性产品开始,并保持灵活性和演进。

主要内容包括:

使用Spring Boot构建微服务

探索分布式系统中的常见架构模式,如异步处理、最终一致性、弹性和可扩展性等

使用RabbitMQ实现事件驱动的架构和消息传递

使用Consul进行服务发现,使用Spring Cloud Load Balancer实现负载均衡

使用Spring Cloud Gateway进行请求路由

使用Spring Cloud Consul按环境进行灵活配置

使用Sleuth和集中式日志记录跟踪每个请求的整个过程

将微服务部署为Docker容器,实现灵活部署

使用Docker Compose启动微服务架构中的所有组件

《Spring Boot微服务实战(第2版)》【摘要 书评 试读】- 京东图书 (jd.com)https://item.jd.com/10079737581108.html

相关推荐
剑胆琴心静水深流13 小时前
全栈之路6---web集成与呈现
前端·vue.js·spring boot·分布式·spring·前端框架·npm
qq_1851986916 小时前
SpringBoot-五-AOT
java·spring boot·后端
卓怡学长17 小时前
w180springboot基于Java的悠扬乐器管理
java·spring boot·mysql·spring·maven·intellij-idea
choumou_M19 小时前
SpringBoot_5:商品秒杀场景的并发实践(初步)
java·spring boot·后端
攻城有术20 小时前
专项攻克-SpringBoot启动后 Bean的实例数量问题
java·spring boot·后端
程序员贺加贝20 小时前
别把 ThreadLocal 写进 Serializer:一次 SaaS 多租户 Jackson 上下文污染排查
java·spring boot
evans在进步21 小时前
Spring Boot 工程化核心详解:Parent、Starter、热部署、事务与多数据源
spring boot·后端·python
卓怡学长21 小时前
w181springboot机场乘客服务系统
java·数据库·spring boot·spring·intellij-idea
罗超驿1 天前
SpringBoot 快速入门
java·spring boot·后端
Java内核笔记1 天前
Spring Boot 4 虚拟线程源码剖析:Tomcat 线程池是怎么被换掉的
spring boot·后端