配置管理服务是共有的,结合微服务自身的配置。这样核心配置更改就无需逐个更改
配置管理:
首先新建一个配置管理
Data ID为配置文件的名称
一般为项目名称-项目环境yaml,如userservice-dev.yaml
编写配置内容,发布
获取nacos配置信息:
可能需要在service中的pom里加上spring-cloud-starter-bootstrap的依赖
配置热更新:
这个注解是完成属性更新的
@ConfigurationProperties这个注解是配置文件中的前缀和prefix的值一样,就自动匹配类中的变量赋值
多环境配置共享:
如下图的bootstrap.yml文件
可以同时读取userservice-dev.yaml文件,也可以读取userservice.yaml文件的内容,并且此文件是共享的
配置文件的优先级:
nacos集群搭建
首先进入nacos的conf目录,修改配置文件cluster.conf.example,重命名为cluster.conf
修改该文件的ip地址和端口号
找到application.properties
把数据源打开,告诉nacos是mysql的
集群的数量
数据库地址,数据库用户名及密码
启动默认就是集群模式,不用加-m
安装ngix
由于使用了反向代理,修改java代码
RestTemplate方法调用存在的问题:
feign:
使用feign的步骤:
自定义Feign的配置:
在application.yml中
可以加在client上,只对具体的服务有效,也可以加载启动类上,全局有效
Feign的性能优化:
统一网关Gateway
搭建网关服务的步骤:
建立一个包,建立启动类
在这个包的application.yml中
路由断言工厂:
例:
路由过滤器GatewayFilter
添加请求头:
逗号左边是key后边是value,这里配了一个请求头
修改接口,RequestHeader表示获取请求头,required=false表示可以不传
默认过滤器default-filters
全局过滤器GlobalFilter:
加入@Component注解
加入@Order注解指定过滤器优先级,也可以实现Ordered接口
过滤器执行顺序:
Gateway跨域问题处理: