SpringColud
一 定义
是一个微服务整体解决方案
是一个框架集 , 不是一个独立框架
SpringColud为开发人员提供了快速构建分布式系统中一些常见模式的工具
二 特性
1 分布式/版本化配置
2 服务注册和发现
3 路由
4 service - to - service调用
5 负载均衡
6 断路器
7 分布式信息传递
三 Spring Cloud上下文
1 定义
应用程序上下文服务
2 引导应用程序上下文
一个Spring Cloud应用程序通过创建一个”引导”上下文来进行操作 , 这个上下文是主应用程序的父上下文
开箱即用 , 负责从外部源加载配置属性 , 还解密本地外部配置文件中的属性
这两个上下文共享一个Enviroment , 这是任何Spring应用程序的外部属性的来源
引导上下文使用与主应用程序上下文不同的外部配置约定
使用bootstrap.yml或application.yml代替引导和主上下文的外部配置
例:
如果你的应用程序需要服务器上的特定于应用程序的配置 , 那么需要如下配置
Spring.application.name(在bootstrap.yml或application.yml)中是个好主意
完全禁用引导过程 , 配置如下
Spring.cloud.bootstrap.enabled=false
3 改变引导位置Properties
可以使用spring.cloud.bootstrap.name(默认”引导”)或spring.cloud.bootstrap.location(默认为空)指定bootstrap.yml(或.properties)位置
4 覆盖远程Properties的值
1)定义
通过引导上下文添加到应用程序的属性源通常是”远程” ; 并且默认情况下不能在本地覆盖 , 除了在命令行 上
2)允许自己的程序使用自己的系统属性或配置文件覆盖远程属性
需要设置远程属性源
Spring.cloud.config.allowOverride=true 授予权限(在本地设置本身不起作用)
四 加密和解密
Spring Cloud具有一个用于在本地解密属性值的Enviroment预处理器 , 它遵循与Config Server相同的规则 , 并通过
encrypt.*具有相同的外部配置 , 因此可以使用{cipher}*格式的加密值
五 SpringCloud和SpringBoot的关系
SpringBoot专注于快速方便的开发单个个体微服务
SpringCloud是关注于全局的微服务协调治理框架 , 它将SpringBoot开发的一个个单体微服务整合并管理起来 , 为
各个微服务之间提供 , 配置管理 , 服务发现 , 断路器 , 路由 , 微代理 , 事件总线 , 全局锁 , 决策竞选 , 分布式回话等集成服
务
SpringBoot可以离开SpringCloud独立使用开发项目 , 但是SpringCloud离不开SpringBoot , 属于依赖关系
来源:CSDN
作者:乐观的小马
链接:https://blog.csdn.net/weixin_43694465/article/details/103804155