1 openFeign的使用
增加@feignClient 注解
在启动类添加enableFeignClient注解
spirng Boot 启动扫描带有@feignClient注解的类 并生成动态代理实现类 放入IOC 容器
一般在开发中都会吧FeignClient 单独提取一个模块
使用的时候直接通过Object.getMethod()
通过动态代理的方式执行invoke 方法 然后再调用loadbancer 的choose方法 去发现并负载服务并拼接完整的url 服务,通
过httpConnection 去发送链接
2 nacos 注册中心的使用
导包 starter-nacosconfig
springBoot 新版本还需要导入 bootstrap包
在项目创建 bootStrap.yaml (在springBoot 中 加载配置文件的顺序 bootstrap>application>自定义)
在bootstrap 中配置nacos 注册中心地址 并指定配置文件名称
3 nacos 实现原理
在springboot 中 所有的配置文件都会存储在environment 的对象
启动项目的时候会装配带有@Value 的字段的属性,通过反射机制使用environment。getproperties()方法获取值并set
当nacos 配置文件有修改时 通过发布事件触发,主应用会订阅对应的配置文件,会销毁bean并重新创建bean (默认不启动热更新)