Summary 0、前言 1、微服务简介 1.1、构建单体应用 1.2、走向单体地狱 1.3、微服务-解决复杂问题 1.4、微服务的优点 1.5、微服务的缺点 1.6、总结 微服务实战:NGINX Plus 作为反向代理服务器 2、使用 API 网关 2.1、简介 2.2、客户端与微服务直接通信 2.3、使用 API 网关 2.4、API 网关的优点与缺点 2.5、实施 API 网关 2.5.1、性能与扩展 2.5.2、使用响应式编程模型 2.5.3、服务调用 2.5.4、服务发现 2.5.5、处理局部故障 2.6、总结 微服务实战:NGINX Plus 作为 API 网关 3、进程间通信 3.1、简介 3.2、交互方式 3.3、定义 API 3.4、演化 API 3.5、处理局部故障 3.6、IPC 技术 3.7、异步、基于消息的通信 3.8、同步的请求/响应 IPC 3.8.1、REST 3.8.2、Thrift 3.9、消息格式 3.10、总结 微服务实战:NGINX 与应用程序架构 4、服务发现 4.1、为何使用服务发现 4.2、客户端发现模式 4.3、服务端发现模式 4.4、服务注册中心 4.5、服务注册方式 4.6、自注册模式 4.7、第三方注册模式 4.8、总结 微服务实战:灵活的 NGINX 5、事件驱动数据管理 5.1、微服务与分布式数据管理问题 5.2、事件驱动架构 5.3、实现原子性 5.4、使用本地事务发布事件 5.5、挖掘数据库事务日志 5.6、使用事件溯源 5.7、总结 微服务实战:NGINX 与存储优化 6、选择部署策略 6.1、动机 6.2、单主机多服务实例模式 6.3、每个主机一个服务实例模式 6.3.1、每个虚拟机一个服务实例模式 6.3.2、每个容器一个服务实例模式 6.4、Serverless 部署 6.5、总结 微服务实战:使用 NGINX 在不同主机上部署微服务 7、重构单体应用为微服务 7.1、微服务重构概述 7.2、策略一:停止挖掘 7.3、策略二:前后端分离 7.4、策略三:提取服务 7.4.1、优先将哪些模块转换为微服务 7.4.2、如何提取模块 7.5、总结 微服务实战:使用 NGINX 征服单体