Git 自带一个 git config 的工具来帮助设置控制 Git 外观和行为的配置变量。 这些变量存储在三个不同的位置:
/etc/gitconfig 文件: 包含系统上每一个用户及他们仓库的通用配置。 如果使用带有 –system选项的 git config 时,它会从此文件读写配置变量。
~/.gitconfig 或 ~/.config/git/config 文件:只针对当前用户。 可以传递 –global 选项让 Git 读写此文件。
当前使用仓库的 Git 目录中的 config 文件(就是 .git/config):针对该仓库。
每一个级别覆盖上一级别的配置,所以 .git/config 的配置变量会覆盖 /etc/gitconfig 中的配置变量。
git 设置默认的文本编辑器后, 当git需要你输入时, 就可以使用默认的文本编辑器了.
命令:
$ git config –list 查看所有配置选项
$ git config --global core.editor "D:\nodpad++\Notepad++\notepad++.exe" 设置window下默认的文本编辑器为nodepad++
1、在Zuul的jar包中包含了Hystrix的jar包 ,所以我们不需要在项目中添加Hystrix的坐标依赖
a.创建项目,配置pom.xml文件,配置zuul的依赖
b.修改application.properties/yml全局配置文件,配置应用名,端口、注册中心地址等
c.修改启动类,添加 @EnableZuulProxy 开启代理服务
d.启动测试结果
2、在网关中实现对服务降级处理
a.创建项目,添加依赖...修改application.properties/yml配置文件
b.编写fallback方法类,实现ZuulFackProvider接口重写方法
c.人为修改Provider或让Provider出现意外
d.访问测试就可以看到托底数据
3、网关限流优化
常见优化参数:
zuul.ratelimit.enabled:此参数标识是否开启全局限流
zuul.ratelimit.repository:此参数标识配置存储方式
zuul.ratelimit.policies.ServiceId.refresh-interval:标识配置多少秒后恢复正常(多少秒内触发异常)
zuul.ratelimit.policies.serviceId.limit:标识在多少秒内对服务请求多少次触发异常,进行限流保护
zuul.ratelimit.policies.serviceId.quota:单位时间内允许访问的总时间
zuul.ratelimit.policies.serviceId.type:设置限流策略的类型
4、Zuul性能调优—网关的2层超时调优
Zuul底层采用了Ribbon和hystrix来通信
Ribbon默认超时是5秒
Hystrix默认情况下是线程池隔离,超时时间为1000ms
注意:Ribbon超时必须小于hystrix的超时时间
修改Provider
消费者中的application.properties/yml配置文件
常用的配置管理解决方案的缺点
1.硬编码
2.配置参数在properties/yml文件中(需要重新打包和重启服务器)
3.配置参数写在xml文件中(需要重新打包和重启服务器)
· 由于常用的配置管理有很大的缺点,故sprin cloud config采用了集中式的配置中心来管理每个服务的配置信息
Spring cloud config 配置中心:在微服务分布式系统中,采用服务端和客户端来提供可扩展的配置服务,配置中心 负责管理所有的服务和各种环境配置文件 ,配置服务中心默认采用 Git 的方式存储配置文件,因此我们很容易部署修改, 有助于对环境配置进行版本管理
Spring Cloud Config 配置中心解决的问题
Spring cloud config 配置中心,解决了微服务配置的 中心化、版本控制、平台独立、语言独立等问题 ,其特性如下:
1.提供服务端和客户端支持(spring cloud config server和spring cloud config client)
2.集中式管理分布式环境下的应用配置
3.基于Spring环境,无缝与Spring应用集成
4.可用于任何语言开发的程序
5.默认实现基于Git仓库,可以进行版本管理
1.创建项目,修改Pom.xml配置文件,添加Config-Server的依赖
2.修改application.properties/yml配置文件,添加GitHub/Gitee相关参数
3.在远程仓库中配置测试文件
4.启动类和项目结构
5.测试结果
Git服务器会从远程git拉取配置文件,并存入到本地git文件库,当远程git不可用时,会从本地git文件库拉取配置信息
详情参考: SpringCloudConfig配置中心原理以及环境切换
1.编写配置中心客户端
a.pom.xml文件
b.配置文件:注意 Config-Client的配置文件命名—>bootstrap.properties/yml
c.编写方法访问Config-server并返回数据
d.启动类和项目结构
e.访问测试
1.在此次热部署中需要通过HttpClient工具类发送Post请求方式来刷新
application.properties/yml配置文件
刷新请求的URL
借助工具类或window下的命令向指定URL发送Post请求
注意: 在SpringIOC中,实例化都为单例模式,如果我们使用热部署则无法使用
所以需要使用@RefreshScope刷新作用域
修改启动类和项目结构
启动Config-Server和Config-client进行测试,然后在Git远程仓库修改配置文件信息,不重启应用,但是通过工具类向刷新的URL发送Post请求,然后再访问
发送Post请求
数据已经改变
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)