Spring Cloud Greenwich SR2核心特性与实战指南

需积分: 35 3 下载量 146 浏览量 更新于2024-07-17 收藏 6.12MB PDF 举报
"Spring Cloud Greenwich SR2 官方文档提供了关于构建分布式系统常见模式的工具,如配置管理、服务发现、断路器、智能路由、微代理、控制总线、一次性令牌、全局锁、领导选举、分布式会话和集群状态等。它帮助开发者快速搭建实现这些模式的服务和应用,并能在各种分布式环境中良好运行,包括本地开发环境、裸金属数据中心以及像Cloud Foundry这样的托管平台。" Spring Cloud 是一套用于构建云原生应用的框架,它简化了分布式系统中常见的模式实现。文档主要分为以下几个部分: 1. 特性(Features):这部分介绍了Spring Cloud的关键功能,如云原生应用的支持,它使得开发者可以专注于业务逻辑,而不用过多关注分布式系统的复杂性。 2. Spring Cloud Context:应用上下文服务(Spring Cloud Context: Application Context Services) - Bootstrap 应用上下文:这是在主应用程序上下文之前启动的一个上下文,主要用于处理初始化时的外部配置。 - 应用上下文层次:Spring Cloud支持多级上下文,便于管理不同层级的bean和配置。 - 更改Bootstrap属性位置:允许开发者自定义配置文件的位置。 - 远程属性值覆盖:可以覆盖远程加载的属性值。 - 自定义Bootstrap配置:开发者可以通过实现接口来自定义Bootstrap阶段的行为。 - 自定义Bootstrap Property Sources:可以添加或修改Bootstrap阶段的属性源。 - 日志配置:提供日志相关的配置支持。 - 环境变化:当环境发生变化时,Spring Cloud提供相应的处理机制。 - 刷新作用域:通过刷新作用域,可以在运行时动态更新bean的配置。 - 加密与解密:支持加密敏感配置,提高安全性。 - 终端点(Endpoints):提供了管理和监控应用的各种API。 3. Spring Cloud Commons:通用抽象(Spring Cloud Commons: Common Abstractions) - @EnableDiscoveryClient:这个注解用于启用服务发现,使得应用能够发现和注册到服务注册中心。 - HealthIndicator:健康指示器,用于检查应用和服务的健康状况。 - DiscoveryClient实例的排序:可以定制服务发现客户端的加载顺序。 - ServiceRegistry:服务注册模块,自动注册和管理应用实例。 - ServiceRegistry事件:服务注册时触发的事件,可以用于监听服务生命周期的变化。 - ServiceRegistry Actuator Endpoint:服务注册的管理端点,提供对服务注册操作的API。 - SpringRestTemplate作为负载均衡客户端:使用Spring RestTemplate进行负载均衡的HTTP请求。 - Spring WebClient作为负载均衡客户端:提供了基于WebClient的负载均衡功能,支持重试失败请求。 - 多个RestTemplate对象:在需要多个独立配置的HTTP客户端时,可以创建多个RestTemplate实例。 - Spring WebFlux WebClient作为负载均衡客户端:WebFlux的WebClient同样支持负载均衡。 - 忽略网络接口:可以配置忽略某些网络接口,避免不必要的通信。 - HTTP客户端工厂:允许自定义HTTP客户端的创建方式。 - 启用特性(Enabled Features):这部分可能包含特定版本的Spring Cloud开启的附加功能。 文档详细阐述了这些核心组件和它们的工作原理,为开发者提供了一套完整的工具集,帮助他们构建健壮、可扩展的分布式系统。
2019-04-18 上传
项目说明 该项目是一个典型的由Spring Cloud管理的微服务项目,主要包括如下模块 micro-service-cloud─────────────────顶层项目 ├──cloud-service-core───────────────基础核心模块 ├──cloud-service-tools──────────────全局通用工具类 ├──cloud-service-reids──────────────Redis二次封装 ├──cloud-eureka-server──────────────服务注册中心[8761] ├──cloud-turbine-server─────────────断路器聚合监控[8769] ├──cloud-zipkin-server──────────────链路追踪监控[9411] ├──cloud-zuul-server────────────────第一代服务网关(Zuul)[8080] ├──cloud-gateway-server─────────────第二代服务网关(Gateway)[8080] ├──cloud-modules-app────────────────App微服务模块 ├───────modules-app-user────────────App用户服务模块[努力更新中] ├───────modules-app-doctor──────────App医生服务模块[努力更新中] ├──cloud-modules-service────────────微服务通用服务模块 ├───────mongodb-file-service────────Mongodb文件服务模块[11010] ├───────redis-delay-service─────────延迟消费服务模块[11020] ├──cloud-modules-web────────────────Web微服务模块 ├───────modules-web-security────────Web医生服务模块[12010] ├───────modules-web-user────────────Web用户服务模块[12020] ├──cloud-modules-wechat─────────────Wechat微服务模块 ├───────modules-wechat-user─────────Wechat用户服务模块[努力更新中] └───────modules-wechat-doctor───────Wechat医生服务模块[努力更新中] 修改日志 修改日志 修改人 修改日期 版本计划 V1.0 刘岗强 2019-01-07 项目初始化 V1.1 刘岗强 待定 新增自动问答 项目介绍 基于Spring Cloud Finchley SR2 Spring Boot 2.0.7的最新版本。 核心基础项目内实现类自定义的权限注解,配合RBAC权限模型+拦截器即可实现权限的控制,具体的参考项目中的实现。同时也封装了一些顶层类和结果集等。 注册中心实现高可用配置,详情见eureka的one、two、three三个配置文件,摘要如下。 ------------------------------------------配置节点一---------------------------------------------- server: port: 8761 spring: application: name: cloud-eureka-server eureka: instance: hostname: cloud.server.one prefer-ip-address: true instance-id: ${spring.cloud.client.ip-address}:${server.port}:${spring.application.name} client: healthcheck: enabled: true register-with-eureka: false fetch-registry: false service-url: defaultZone: http://cloud.server.two:8762/eureka/,http://cloud.server.three:8763/eureka/ ------------------------------------------配置节点二----------------------------------------------