发表于: 2019-10-19 22:07:39
2 923
今天完成的事情:(一定要写非常细致的内容,比如说学会了盒子模型,了解了Margin)
1、学习 Spring Cloud
明天计划的事情:(一定要写非常细致的内容)
1、准备复盘ppt
遇到的问题:(遇到什么困难,怎么解决的)
收获:(通过今天的学习,学到了什么知识)
1、Spring Cloud Config
1、功能
分布式系统中,服务多,为了方便统一管理配置文件,就需要 Config 了
它支持将配置文件放在本地、也可以放到 git 或者 svn 中
2、Config Server
新建了一个新的 POM 工程
然后在其下建立 Module ,configserver
依赖
修改main方法,添加注解
修改配置文件
这里使用了攻略作者的 公共git
uri 就是其仓库的 uri
search-path 具体路径
如果是公共的 就不需要帐号和密码了
label 是分支
先到该git查看一下文件
一会儿我们将读取到该 文件的内容
现在启动项目然后浏览器访问
请求规则
3、config client
依赖
修改配置文件
label 指远程分支
Profile dev:开发配置文件,test 测试环境,pro 正式环境
uri 配置中心的网址,即上面那个server 的地址
修改main方法
启动后访问
即之前配置文件中的 foo
该仓库中文件众多,client 是怎样匹配查询的呢?
通过 client 中 application name 与 仓库的文件名
所以配置文件名与 client 的 application name需要对应
该配置文件的名称为
所以 client 中 application name 必须为 config-client Profile 为 dev 才能匹配查询到
否则 client 是启动不了的
现在 我们将 name 修改 将 “ - ” 去掉
然后启动项目,发现报错
然后改回去 就ok了
4、理一理
config server 负责获取配置文件
config client 负责读取配置文件,获取特定的参数
但是 server 也可能会出现问题,多台 client 连接server 也可能出现问题
我们可以使用 Eureka 将config 作为 Eureka client 注册到其中解决以上问
2、高可用的分布式配置中心
1、添加一个 Eureka server 服务注册中心
注意要在父工程pom添加依赖 server
然后其他子 Module 添加依赖 Server
然后注册中心 配置文件
注意这里的 defaultZone 这是与其他服务的交互中心
然后main方法添加注解
2、修改其他两个 Module
config server
这里仅仅 添加了 defaultZone 注册到中心
然后在main添加注解
config client
配置文件
spring.cloud.config.discover.enabled 是否从配置中心读取文件
spring.cloud.config.discover.serviceId 配置中心configserver的服务名
结合之前注册中心和client的配置
这里的不写 url 而是服务名 可以完成负载均衡
3、逐个启动 然后浏览器访问
两个服务已注册
在访问 config client
3、至此Spring Cloud 基本功能已经实现
Eureka Server 服务注册中心
Eureka Client 服务发现
Ribbon +RestTemplate 服务调用
Feign 服务调用
Hystrix 短路器 熔断降级
Zuul 路由控制、过滤器
Config Server 配置中心
Config Client 从配置中心读取文件
可以完成一个基本的分布式应用
评论