项目描述: 使用nacos-learn作为父工程,消费者和生产者两个服务 消费者通过feign远程调用生产者服务,因此消费者需编写feign客户端声明式接口(指定要调用的生产者服务名和要调用的生产者controller的完整路径),并且在启动类开启feign nacos作为配置中心: 手动添加配置文件 文件名.yaml 通过application.yml配置文件config中拼接的文件定位读取配置 使用@Value注解,nacos配置文件获取的地址和服务名最好写在bootstrap.yml因为加载优先级高于application 热加载通过@RefreshScope (服务名,地址)命名空间(隔离)->组(隔离)->文件 项目---命名空间 服务---配置文件 一个组可以包含多个配置文件 服务注册中心: 一个服务通过在不同端口启动实现集群,需要在discovery中指定地址,命名空间,group以实现自动注册服务,在启动类开启服务注册 均衡策略: 通过编写配置类,编写方法返回IRule实例策略注入spring,在启动类通过RestTemplate bulid构建均衡策略注入。需加上@Bean @LoadBalanced 服务隔离: 通过设定group实现不同组之间的服务隔离 遇到的问题: 1.standalone代表着单机模式运行,非集群模式。默认是集群模式,目前就启动一个nacos服务端,所以以单机的形式启动。 startup.cmd -m standalone(默认集群) 2.要开启feign否则无法注入Feign客户端接口 3.负载均衡策略是在服务消费端 4.无法修改权重 注册的Ip啥的混乱了.出现这个问题,先停服务,再停nacos,再删掉 data目录下的protocol 文件夹,再重启nacos.最后再重启需要注册的那些服务. 5.主启动类会扫描所在包及以下,因此均衡配置类要提高一个层。防止共享 6.在本地就是轮询,其他就近 7.spring parent 2.3.9.relese,否则启动会报错
nacos学习
于 2022-07-28 09:23:44 首次发布