0.spring cloud目录

时间:2024-06-02 18:05:02

1. 微服务架构概述

1.0. 单体架构是什么

1.1. 单体应用架构存在的问题

1.2. 如何解决单体应用架构存在的问题

1.3. 什么是微服务

1.4. 微服务架构的优点与挑战

1.4.1. 微服务架构的优点

1.4.2. 微服务架构面临的挑战

1.5. 微服务设计原则

1.6. 如何实现微服务?

1.6.1. 微服务技术选型

1.6.2. 微服务架构图及常用组件

2. 微服务开发框架——Spring Cloud

2.1. Spring Cloud简介及其特点

2.2. Spring Cloud的版本简介

2.3. Spring Cloud的组成

3. 开始使用Spring Cloud实战微服务

3.1. Spring Cloud实战前提

3.1.1. 需要的技术储备

3.1.2. 使用的工具及软件版本

3.2. 服务提供者与服务消费者

3.3. 编写服务提供者

3.3.1. 手动编写项目

3.3.2. 使用Spring Initializr快速创建Spring Boot项目

   3.4. 编写服务消费者

   3.5. 为项目整合Spring Boot Actuator

   3.6. 硬编码有哪些问题

4. 微服务注册与发现

4.1. 服务注册与发现简介

4.2. Eureka简介

4.3. Eureka原理

4.4. 编写Eureka Server

4.5. 将微服务注册到Eureka Server上

4.6. Eureka Server的高可用

4.7. 为Eureka Server添加用户认证

    4.8. 理解Eureka的元数据

    4.9. Eureka Server的REST端点

   4.10. Eureka的自我保护模式

   4.11. 多网卡环境下的IP选择

   4.12. Eureka的健康检查

5. 使用Ribbon实现客户端侧负载均衡

  5.1. Ribbon简介

  5.2. 为服务消费者整合Ribbon

  5.3. 使用Java代码自定义Ribbon配置

  5.4. 使用属性自定义Ribbon配置

  5.5. 脱离Eureka使用Ribbon

6. 使用Feign实现声明式REST调用

  6.1. Feign简介

  6.2. 为服务消费者整合Feign

  6.3. 自定义Feign配置

  6.4. 手动创建Feign

  6.5. Feign对继承的支持

  6.6. Feign对压缩的支持

  6.7. Feign的日志

  6.8. 使用Feign构造多参数请求

7. 使用Hystrix实现微服务的容错处理

  7.1. 实现容错的手段

    7.1.1. 雪崩效应

    7.1.2. 如何容错

  7.2. 使用Hystrix实现容错

    7.2.1. Hystrix简介

    7.2.2. 通用方式整合Hystrix

    7.2.3. Hystrix断路器的状态监控与深入理解

    7.2.4. Hystrix线程隔离策略与传播上下文

    7.2.5. Feign使用Hystrix

        7.2.5.1. 为Feign添加回退

        7.2.5.2. 通过Fallback Factory检查回退原因

        7.2.5.3. 为Feign禁用Hystrix

  7.3. Hystrix的监控

  7.4. 使用Hystrix Dashboard可视化监控数据

  7.5. 使用Turbine聚合监控数据

    7.5.1. Turbine简介

    7.5.2. 使用Turbine监控多个微服务

    7.5.3. 使用消息中间件收集数据

      7.5.3.1. 
        安装RabbitMQ

          7.5.3.2. 改造微服务

          7.5.3.3. 改造Turbine

8. 使用Zuul构建微服务网关

  8.1. 为什么要使用微服务网关

  8.2. Zuul简介

  8.3. 编写Zuul微服务网关

  8.4. Zuul的路由端点

  8.5. Zuul的路由配置详解

  8.6. Zuul的安全与Header

  8.7. Zuul的文件上传

  8.8. Zuul的过滤器

    8.8.1. 过滤器类型与请求生命周期

       8.8.2. 编写Zuul过滤器

  8.9. Zuul的容错与回退

  8.10. Zuul的高可用

  8.11. 使用Sidecar整合非JVM的微服务

      8.11.1. 编写Node.js微服务

      8.11.2. 编写Sidecar

      8.11.3. Sidecar的端点

      8.11.4. Sidecar与Node.js微服务分离部署

      8.11.5. Sidecar原理分析

9. 使用Spring Cloud Config统一管理微服务配置

  9.1. 为什么要统一管理微服务配置

  9.2. Spring Cloud Config简介

  9.3. 编写Config Server

  9.4. 编写Config Client

  9.5. Config Server的Git仓库配置详解

  9.6. Config Server的健康状况指示器

  9.7. 配置内容的加解密

    9.7.1. 安装JCE

    9.7.2. Config Server的加解密端点

    9.7.3. 对称加密

    9.7.4. 存储加密后的内容

    9.7.5. 非对称加密

  9.8. 使用/refresh端点手动刷新配置

  9.9. 使用Spring Cloud Bus实现自动刷新配置

    9.9.1. Spring Cloud Bus简介

    9.9.2. 实现自动刷新

    9.9.3. 局部刷新

    9.9.4.

      架构改进

    9.9.5. 跟踪总线事件

  9.10. Spring Cloud Config与Eureka配合使用

  9.11. Spring Cloud Config的用户认证

  9.12. Config Server的高可用

      9.12.1. Git仓库的高可用

      9.12.2. RabbitMQ的高可用

      9.12.3. Config Server自身的高可用

10. 使用Spring Cloud Sleuth实现微服务跟踪

    10.1. 为什么要实现微服务跟踪

    10.2. Spring Cloud Sleuth简介

    10.3. 整合Spring Cloud Sleuth

    10.4. Spring Cloud Sleuth与ELK配合使用(ELK 5.1.2)

    10.5. Spring Cloud Sleuth与Zipkin配合使用

        10.5.1. Zipkin简介

        10.5.2. 编写Zipkin Server

        10.5.3. 微服务整合Zipkin

        10.5.4. 使用消息中间件收集数据

              10.5.4.1. 改造Zipkin Server

              10.5.4.2. 改造微服务

        10.5.5. 存储跟踪数据(Elasticsearch 5.1.2)

11. Spring Cloud常见问题与总结

  11.1. Eureka常见问题

      11.1.1. Eureka注册服务慢

      11.1.2. 已停止的微服务节点注销慢或不注销

      11.1.3. 自定义Eureka的Instance ID

      11.1.4. Eureka的UNKNOWN问题总结与解决

  11.2. Hystrix/Feign整合Hystrix后首次请求失败

  11.3. Turbine聚合的数据不完整

  11.4. 各组件的配置项

  11.5. Spring Cloud定位问题思路总结