微服务架构 | 0. 微服务架构学习笔记目录【施工中】

微服务架构学习笔记目录


前言

参考资料
《Spring Microservices in Action》
《Spring Cloud Alibaba 微服务原理与实战》
《B站 尚硅谷 SpringCloud 框架开发教程 周阳》

市面上的主流 Java 语言微服务架构主要以 Spring Cloud 为主,其中大致分为两派:Netflix 和 Alibaba;本系列笔记将基于这两种方案,重点放在各种微服务组件的学习,以实践为主;

微服务架构设计方面的理论知识请移步到笔者的另一系列博客:《微服务架构设计模式》系列笔记

本系列笔记门槛:Java8 基础、Maven、SSM、Spring、Spring Boot;
推荐有这些技术基础:Docker、Redis、Git、SQL数据库;

点击下列标题可跳转到对应博文;


简易目录


详细目录

1. 微服务相关基础知识

  • 1. 分布式相关理论;
  • 2. 微服务架构发展历程;
  • 3. 云计算概述;
  • 4. 微服务架构概述;
  • 5. 主流 Spring Cloud 组件;
  • 6. 一些资源链接;
  • 7. 本系列笔记的编写思想;

[1.1 微服务的部署]


2. 服务配置管理

2.1 使用 Spring Cloud Config 管理服务配置项

  • 1. Spring Cloud Config 基础知识点;
  • 2. 配置服务器的示例;
  • 3. 客户端获取服务端配置示例;
  • 4. 动态刷新服务的配置;
  • 5. 使用 Spring Cloud Config 加密敏感配置信息;

2.2 Alibaba Nacos 的统一配置管理

  • 1. Nacos 配置中心基础知识;
  • 2. Nacos 基础配置;
  • 3. Nacos 加载配置的三种方案;

*2.3 Spring Cloud 启动及加载配置文件源码分析(以 Nacos 为例)

  • 1. Spring Cloud 什么时候加载配置文件;
  • 2. 准备 Environment 配置环境;
  • 3. 刷新应用上下文;
  • 4. Spring Cloud 加载配置文件源码结构图小结;

*2.4 Nacos 获取配置与事件订阅机制的源码分析

  • 1. 客户端获取 Nacos 服务器里的配置;
  • 2. Nacos 配置的事件订阅机制;
  • 3. 源码结构图小结;

*2.5 Nacos 长轮询定时机制的源码分析

  • 1. 客户端的长轮询定时机制;
  • 2. 服务端的长轮询定时机制;
  • 3. 源码结构图小结;

3. 注册中心与服务发现

3.1 Netflix Eureka 注册中心

  • 1. Eureka 的基础知识;
  • 2. 构建 Eureka 服务器;
  • 3. 将客户端注册进 Eureka 服务器;
  • 4. Eureka Server 的自我保护;

3.2 Alibaba Nacos 注册中心

  • 1. Nacos 基础知识;
  • 2. 安装并运行 Nacos 服务器;
  • 3. 使用 Nacos 管理服务提供者;
  • 4. 使用 Nacos 管理服务消费者;
  • 5. Nacos 持久化配置;
  • 6. Nacos 的高可用部署;
  • 7. 包含 Nginx 的 Nacos 高可用示例;
  • 8. Dubbo 使用 Nacos 作为注册中心;

3.3 Apache Zookeeper 注册中心

  • 1. Zookeeper 基础知识;
  • 2. 安装并运行 Zookeeper 服务器;
  • 3. 使用 Zookeeper 管理服务提供者;
  • 4. 使用 Zookeeper 管理服务消费者;
  • 5. Dubbo 使用 Zookeeper 作为注册中心;

3.4 HashiCorp Consul 注册中心

  • 1. Consul 基础知识;
  • 2. 安装并运行 Consul 服务器;
  • 3. 使用 Consul 管理服务提供者;
  • 4. 使用 Consul 管理服务消费者;

*3.5 Nacos 服务注册与发现的源码分析

  • 1. 客户端注册进 Nacos 注册中心(客户端视角);
  • 2. Nacos 服务器注册服务(服务器视角);
  • 3. 客户端查询所有服务实例;
  • 4. 客户端监听 Nacos 服务器以动态获取服务实例;
  • 5. 补充内容;
  • 6. 源码结构图总结;

4. 服务调用

4.1 基于 Ribbon 的负载均衡详解

  • 1. Ribbon 基础知识;
  • 2. 服务消费者获取提供者的三个层次示例;
  • 3. 通过 java 配置类自定义负载均衡算法示例(消费者服务);
  • 4. 通过配置自定义负载均衡算法示例(消费者服务);
  • 5. 本地负载均衡器的实现(消费者);

4.2 Feign 与 OpenFeign 的服务接口调用

  • 1. OpenFeign 基本知识;
  • 2. 在服务消费者端开启 Feign 支持;
  • 3. 在服务消费者端开启 OpenFeign 支持;
  • 4. 在服务消费者端开启 OpenFeign 支持;
  • 5. OpenFeign 的日志打印功能;

[4.3 Loadbalancer]


5. 服务容灾

5.1 使用 Netflix Hystrix 断路器

  • 1. Hystrix 基础知识;
  • 2. 对服务使用 Hystrix 断路器;
  • 3. 使用 HystrixConcurrencyStrategy 联系线程上下文;
  • 4. 使用 hystrixDashboard 实现服务监控;

5.2 基于 Sentinel 的服务限流及熔断

  • 1. Sentinel 基础知识;
  • 2. 安装并运行 Sentinel 控制台;
  • 3. Spring Cloud Nacos 集成 Sentinel;
  • 4. 使用 @SentinelResource 自定义限流处理逻辑;
  • 5. 手动配置流控规则;
  • 6. Sentinel 规则持久化;
  • 7. Sentinel 控制台集成 Nacos 实现规则同步;
  • 8. 自定义 URL 限流异常和 URL 资源清洗;

[5.3 Resilience4j]

5.4 Sentinel 流控、统计和熔断的源码分析

  • 1. Sentinel 的自动装配;
  • 2. 获取 ProcessorSlot 链;
  • 3. 流控槽实施流控逻辑 FlowSlot.entry();
  • 4. 统计槽实施指标数据统计 StatisticSlot.entry();
  • 5. 熔断槽实施服务熔断 DegradeSlot.entry();
  • 6. Sentinel 源码结构图小结;

6. 服务网关路由

6.1 使用 Zuul 进行服务路由

  • 1. Zuul 基础知识;
  • 2. 构建 Zuul 网关服务;
  • 3. 使用 Zuul 的三种类型过滤器示例;
  • 4. 使用 Zuul 的路由过滤器实现灰度发布示例;

6.2 Gateway


7. 安全保护

7.1 基于 OAuth2 的安全认证

  • 1. OAuth2 的基础知识;
  • 2. 建立 OAuth2 服务器;
  • 3. 使用 OAuth2 建立并保护服务资源;
  • 4. 在上下游服务中传播 OAuth2 访问令牌;

7.2 构建使用 JWT 令牌存储的 OAuth2 安全认证

  • 1. JWT 令牌存储基础知识;
  • 2. 构建使用 JWT 令牌存储的 OAuth2 服务器;
  • 3. 在受保护服务中使用 JWT;

8. 事件 / 消息驱动

8.1 使用 Spring Cloud Stream 整合 Apache kafka

  • 1. Spring Cloud Stream 基础知识;
  • 2. 构建消息的生产者;
  • 3. 构建消息的消费者;
  • 4. 分布式缓存示例(主要实现的是消费者的逻辑);
  • 5. [可选] 自定义通道(以消息消费者为例);

8.2 RocketMQ


9. 服务总线

9.1 bus

9.2 nacos


10. 分布式追踪

10.1 使用 Sleuth 追踪服务调用链

  • 1. Sleuth 基础知识;
  • 2. 在服务中使用 Sleuth 追踪;

10.2 使用 Papertrail 实现日志聚合

  • 1. Papertrail 基础知识;
  • 2. 使用 Papertrail 进行日志聚合的示例;

10.3 使用 Zipkin 可视化日志追踪

  • 1. Zipkin 基础知识;
  • 2. 下载 Zipkin 服务器;
  • 3. 手动安装和配置 Zipkin 服务器;
  • 4. 使用 Zipkin 进行分布式跟踪;

11. 分布式事务

11.1 整合 Seata AT 模式实现分布式事务

  • 1. Seata 基础知识;
  • 2. Seata 服务端的安装;
  • 3. Spring Cloud 集成 Seata 实现分布式事务;
  • 4. Seata AT 模式的实现原理;

12. RPC 通信

12.1 使用 Apache Dubbo 实现远程通信

  • 1. Dubbo 基础知识;
  • 2. 构建 Dubbo 服务提供方;
  • 3. 构建 Dubbo 服务消费方;
  • 4. 在消费者端使用 Mock 配置实现服务降级;
  • 5. Dubbo 使用 Zookeeper 作为注册中心(Spring Boot);
  • 6. Dubbo 使用 Nacos 作为注册中心(Spring Boot);
  • 7. Dubbo 使用 Nacos 作为注册中心(Spring Cloud);

13. 其他组件

13.1 OSS

  • 1. ;
  • 2. ;
  • 3. ;
  • 4. ;
  • 5. ;
  • 6. ;
  • 7. ;
  • 8. ;


最后

新人制作,如有错误,欢迎指出,感激不尽!
欢迎关注公众号,会分享一些更日常的东西!
如需转载,请标注出处!
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

多氯环己烷

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值