微服务
微服务,是著名的00 ( 面向对象,Object Oriented) 专家Martin Fowler 提出来的,它是用来描述将软件应用程序设计为独立部署的服务的一种特殊方式。最近两年,微服务在各大技术会议、文章、书籍上出现的频率已经让人们意识到它对于软件领域所带来的影响力。
微服务架构
微服务架构的系统是一个分布式系统,按业务领域划分为独立的服务单元,有自动化运维、容错、快速演进的特点,它能够解决传统单体架构系统的痛点,同时也能满足越来越复杂的业务需求。
要注意的是
我们做软件的架构设计,就是要能选择和取舍。光架构设计模式就有好几十种,面对围绕微服务的众多杂音,开发者和架构师应该具备选择和取舍的能力,应该站在比较高的角度俯瞰全局、权衡利弊,做出正确的架构和技术选择。
为了更好的解决这个问题,小编在这一块一直是两份相关文档配合使用,吃透后能对微服务有一个整体的认知,以及为架构师提供一个微服务的全局视野,并教会架构师如何在纷繁复杂的情况下做出正确的架构选择和取舍。废话就不多说了,内容如下:
深入理解Spring Cloud与微服务构建(大致分为五部分)
- 第1章 微服务简介
- 第2章 Spring Cloud简介
详细介绍了微服务架构和Spring Cloud
- 第3章 构建微服务的准备
- 第4章 开发框架Spring Boot
准备工作
- 第5章 服务注册和发现Eureka
- 第6章 负载均衡Ribbon
- 第7章 声明式调用Feign
- 第8章 熔断器Hystrix
- 第9章 路由网关Spring Cloud Zuul
- 第10章 配置中心 Spring Cloud Config
- 第11章 服务链路追踪 Spring Cloud Sleuth
- 第12章 微服务监控 Spring Boot Admin
以案例为切入点,讲解了Spring Cloud构建微服务的基础组件
- 第13章 Spring Boot Security详解
- 第14章 使用Spring Cloud OAuth2 保护微服务系统
- 第15章 使用Spring Security OAuth2 和JWT保护微服务系统
讲述了使用Spring Cloud OAuth2来保护微服务系统的相关知识
- 第16章 使用Spring Cloud构建微服务综合案例
用一个综合案例全面讲解了如何使用SpringCloud构建微服务
篇幅限制不能全展示出来,需要获取这两份文档的老哥,可以点击此处来获取就可以了!
微服务架构设计模式
- 第1章 逃离单体地狱
- 迈向单体地狱的漫长旅程
- 拯救之道:微服务架构
- 微服务架构的好处和弊端
- 微服务架构的模式语言
- 微服务之上:流程和组织
- 第2章 服务的拆分策略
- 微服务架构到底是什么
- 为应用程序定义微服务架构
- 第3章 微服务架构中的进程间通信
- 微服务架构中的进程间通信概述
- 基于同步远程过程调用模式的通信
- 基于异步消息模式的通信
- 使用异步消息提高可用性
- 第4章 使用Saga管理事务
- 微服务架构下的事务管理
- Saga的协调模式
- 解决隔离问题
- Order Service和Create Order Saga的设计
- 第5章 微服务架构中的业务逻辑设计
- 业务逻辑组织模式
- 使用聚合模式设计领域模型
- 发布领域事件
- Kitchen Service的业务逻辑
- Order Service的业务逻辑
- 第6章 使用事件溯源开发业务逻辑
- 使用事件溯源开发业务逻辑概述
- 实现事件存储库
- 同时使用Saga和事件溯源
- 第7章 在微服务架构中实现查询
- 使用API组合模式进行查询
- 使用CQRS模式
- 设计CQRS视图
- 实现基于AWS DynamoDB的CQRS视图
- 第8章 外部API模式
- 外部API的设计难题
- API Gateway模式
- 实现一个API Gateway
- 第9章 微服务架构中的测试策略(上)
- 微服务架构中的测试策略概述
- 为服务编写单元测试
- 第10章 微服务架构中的测试策略(下)
- 编写集成测试
- 编写组件测试
- 端到端测试
- 第11章 开发面向生产环境的微服务应用
- 开发安全的服务
- 设计可配置的服务
- 设计可观测的服务
- 使用微服务基底模式开发服务
- 第12章 部署微服务应用
- 部署模式:编程语言特定的发布包格式
- 部署模式:将服务部署为虚拟机
- 部署模式:将服务部署为容器
- 使用Kubernetes部署FTGO应用程序
- 部署模式:Serverless部署
- 使用AWS Lambda和AWS Gateway部署RESTful服务
- 第13章 微服务架构的重构策略
- 重构到微服务需要考虑的问题
- 将单体应用重构为微服务架构的若干策略
- 设计服务与单体的协作方式
- 将新功能实现为服务:处理错误配送订单
- 从单体中提取送餐管理功能
写在最后
这两份文档不仅有微服务领域已经识别出来的问题、解决思路和解决方案,也有相应的代码例子。可以帮助微服务相关人员构建知行合一的能力,可以帮你在设计微服务架构时做出取舍,能在你处理微服务相关问题左右为难的时候给你提供参考和建议。
需要获取这两份文档的老哥,可以点击此处来获取就可以了!