springCloud微服务
Spring Boot has an opinionated view of how to build an application with Spring: for instance it has conventional locations for common configuration file, and endpoints for common management and monitoring tasks. Spring Cloud builds on top of that and adds a few features that probably all components in a system would use or occasionally need. ### Spring Cloud 微服务知识点详解 #### Spring Cloud 概述 Spring Cloud 是一套基于 Spring Boot 实现的微服务云应用开发框架。它继承了 Spring Boot 快速开发、自动化配置等特性,并在此基础上添加了一些针对分布式系统的服务治理功能,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等。 #### 特性 1. **云原生应用**:Spring Cloud 的设计思想符合云原生应用的要求,支持快速部署、动态扩展等功能。 2. **Spring Cloud Context: ApplicationContext 服务**:提供了一个统一的应用上下文管理方式,可以方便地管理和访问应用程序的配置。 3. **Bootstrap 应用上下文**:这是一个特殊的上下文,主要用于加载应用的一些基础配置,如安全设置、加密/解密配置等。 4. **ApplicationContext 层级**:允许定义多个上下文层次结构,便于管理和组织不同的配置文件。 5. **更改 Bootstrap 配置文件的位置**:可以通过特定参数指定 Bootstrap 配置文件的位置。 6. **覆盖远程属性值**:可以在运行时覆盖或更新从远程配置中心获取的属性值。 7. **自定义 Bootstrap 配置**:用户可以根据需求自定义 Bootstrap 的行为和属性源。 8. **环境变化**:支持环境变量的热更新,即无需重启应用即可更新配置。 9. **刷新范围 (Refresh Scope)**:通过特定的注解支持在运行时动态刷新 Bean 的值。 10. **加密与解密**:支持对敏感信息进行加密存储,并在运行时自动解密。 #### 终端 1. **终端**:提供了一组标准的 HTTP 端点用于监控和管理应用,如 `/health`、`/info` 等。 2. **Spring Cloud Commons: 共通抽象**:提供了一系列通用的抽象层,用于简化分布式系统的开发。 #### Spring RestTemplate 作为负载均衡客户端 1. **多个 RestTemplate 对象**:可以创建多个 RestTemplate 实例来处理不同的 REST 请求。 2. **忽略网络接口**:可以配置 Spring RestTemplate 忽略某些网络接口,以避免不必要的连接尝试。 #### Spring Cloud Config 1. **快速入门**:介绍如何快速搭建一个 Spring Cloud Config 服务器和客户端。 2. **客户端侧使用**:客户端如何从 Config Server 获取配置信息。 3. **Spring Cloud Config Server**:作为配置中心,可以将配置信息存储在多种后端存储中(如 Git、SVN 等)。 4. **环境仓库**:Config Server 支持多种类型的环境配置仓库。 5. **健康指示器 (Health Indicator)**:提供了一个用于检查 Config Server 健康状况的组件。 6. **安全性**:支持对配置信息进行加密存储,并在传输过程中进行加密保护。 7. **加密与解密**:支持配置信息的加密和解密操作。 8. **密钥管理**:提供了一套机制用于管理加密密钥。 9. **为测试创建密钥库**:介绍如何为测试目的创建密钥库。 10. **使用多个密钥和密钥轮换**:支持在不同的环境中使用不同的密钥,以及密钥的轮换操作。 11. **提供加密的属性**:Config Server 可以提供加密后的属性值。 12. **提供替代格式**:除了默认格式外,还可以提供其他格式的配置文件。 13. **提供纯文本配置**:支持直接提供未加密的纯文本配置文件。 14. **嵌入 Config Server**:可以在应用程序内部嵌入 Config Server。 #### 推送通知和 Spring Cloud Bus 1. **推送通知**:通过 Spring Cloud Bus 实现分布式系统的消息推送。 2. **Spring Cloud Config Client**:客户端如何从 Config Server 获取配置信息。 3. **配置优先的引导**:优先从 Config Server 获取配置信息。 4. **发现优先的引导**:首先通过服务发现机制找到 Config Server。 5. **Config Client Fail Fast**:如果无法从 Config Server 获取配置信息,则立即失败。 6. **Config Client 重试**:当无法从 Config Server 获取配置信息时,尝试重新连接。 7. **定位远程配置资源**:介绍如何定位和访问远程配置资源。 #### Spring Cloud Netflix 1. **服务发现:Eureka 客户端**:客户端如何注册到 Eureka 服务器,并从中获取服务实例信息。 2. **与 Eureka 注册**:介绍客户端如何注册到 Eureka 服务器。 3. **向 Eureka 服务器认证**:如果启用了安全模式,客户端如何向 Eureka 服务器进行认证。 4. **状态页面和健康指示器**:Eureka 提供的状态页面和健康指示器。 5. **注册安全应用**:如何注册安全的应用程序到 Eureka。 6. **Eureka 的健康检查**:Eureka 如何执行健康检查。 7. **Eureka 元数据**:客户端和服务实例如何使用元数据。 8. **使用 Eureka 客户端**:介绍如何使用 Eureka 客户端。 9. **替代原生 Netflix Eureka 客户端**:介绍一些替代原生 Eureka 客户端的选项。 10. **为什么服务注册如此缓慢?**:分析服务注册缓慢的原因及解决方法。 #### 服务发现:Eureka 服务器 1. **高可用性、区域和地域**:介绍如何配置 Eureka 服务器以支持高可用性。 2. **独立模式**:Eureka 服务器也可以运行在独立模式下。 3. **对等感知**:Eureka 服务器之间如何相互感知对方的存在。 4. **优先使用 IP 地址**:客户端优先使用 IP 地址与 Eureka 服务器通信。 #### 断路器:Hystrix 客户端 1. **传播安全上下文或使用 Spring 范围**:在调用远程服务时,如何传播安全上下文或使用 Spring 范围。 2. **健康指示器**:Hystrix 提供的健康指示器。 3. **Hystrix Metrics Stream**:介绍 Hystrix 的 Metrics Stream 功能。 4. **断路器:Hystrix Dashboard**:提供了一个可视化界面来监控 Hystrix 的状态。 5. **Turbine**:聚合来自多个 Hystrix 实例的事件流。 6. **Turbine 流**:Turbine 如何处理事件流。 #### 客户端侧负载均衡器:Ribbon 1. **定制 Ribbon 客户端**:用户可以定制 Ribbon 的行为。 2. **使用 Ribbon 和 Eureka**:如何在 Ribbon 中集成 Eureka 服务发现功能。 3. **示例:如何在没有 Eureka 的情况下使用 Ribbon**:介绍在不使用 Eureka 的情况下如何使用 Ribbon 进行负载均衡。 4. **示例:禁用 Ribbon 中的 Eureka 使用**:演示如何禁用 Ribbon 中的 Eureka 功能。 5. **直接使用 Ribbon API**:介绍如何直接使用 Ribbon API 而不是通过更高层次的抽象。 #### 声明式 REST 客户端:Feign 1. **覆盖 Feign 默认设置**:用户可以覆盖 Feign 的默认设置。 2. **Feign Hystrix 支持**:Feign 如何与 Hystrix 集成,提供断路器支持。 3. **Feign Hystrix 备份**:介绍如何为 Feign 客户端配置 Hystrix 备份。 4. **Feign 继承支持**:支持在 Feign 客户端之间共享公共行为。 5. **Feign 请求/响应压缩**:Feign 支持请求和响应的压缩功能。 6. **Feign 日志记录**:Feign 如何进行日志记录。 #### 外部配置:Archaius 1. **外部配置**:介绍如何使用 Archaius 进行外部配置管理。 #### 路由和过滤器:Zuul 1. **路由和过滤器**:Zuul 作为 API 网关,提供了路由和过滤器功能。 2. **嵌入 Zuul**:介绍如何在应用中嵌入 Zuul 组件。 以上内容详细介绍了 Spring Cloud 在微服务架构中的各个组件及其功能,这些知识对于构建稳定、可扩展的微服务架构至关重要。
剩余63页未读,继续阅读
- 粉丝: 1
- 资源: 1
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助