Github上星标55.9k的微服务神仙笔记真的太香了
微服务
微服务,是著名的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章 微服务架构的重构策略
重构到微服务需要考虑的问题
将单体应用重构为微服务架构的若干策略
设计服务与单体的协作方式
将新功能实现为服务:处理错误配送订单
从单体中提取送餐管理功能
写在最后
这两份文档不仅有微服务领域已经识别出来的问题、解决思路和解决方案,也有相应的代码例子。可以帮助微服务相关人员构建知行合一的能力,可以帮你在设计微服务架构时做出取舍,能在你处理微服务相关问题左右为难的时候给你提供参考和建议。