当前位置:   article > 正文

【java、微服务、nacos】nacos学习笔记

【java、微服务、nacos】nacos学习笔记

Nacos服务分级存储模型

① 一级是服务,例如userservice

②二级是集群,例如杭州或上海

③ 三级是实例,例如杭州机房的某台部署了userservice的服务器

配置实例集群属性

改变服务的yml文件

  1. spring:
  2. cloud:
  3. nacos:
  4. discovery:
  5. cluster-name: HZ

NacosRule负载均衡

在调用模块的yml中添加

  1. userservice:
  2. ribbon:
  3. NFLoadBalancerRuleClassName: com.alibaba.cloud.nacos.ribbon.NacosRule

根据权重负载均衡

环境隔离(namespace)

配置管理

配置更改热更新

统一配置管理:

步骤:

1.引入依赖

  1. <dependency>
  2. <groupId>com.alibaba.cloud</groupId>
  3. <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
  4. </dependency>

2.在服务模块添加bootstrap.yml(优先级高于application. yml)

  1. spring:
  2. application:
  3. name: userservice
  4. profiles:
  5. active: dev
  6. cloud:
  7. nacos:
  8. server-addr: localhost:8848
  9. config:
  10. file-extension: yaml

执行步骤:项目启动-》读取nacos中配置文件(以bootstrap.yml为引导)-》读取本地配置文件application.yml-》创建spring容器-》加载bean

配置热更新

方法一:在@Value注入的变量所在类上添加注解@RefreshScope

  1. @Slf4j
  2. @RestController
  3. @RequestMapping("/user")
  4. @RefreshScope
  5. public class UserController {
  6. }

方法二:使用@ConfigurationProperties注解

  1. package cn.itcast.user.config;
  2. import lombok.Data;
  3. import org.springframework.boot.context.properties.ConfigurationProperties;
  4. import org.springframework.stereotype.Component;
  5. /**
  6. * PatternProperties
  7. *
  8. * @author huang
  9. * @package cn.itcast.user.config
  10. * @since 2024/3/1 19:36
  11. */
  12. @Data
  13. @Component
  14. @ConfigurationProperties(prefix = "pattern")
  15. public class PatternProperties {
  16. private String dataformat;
  17. }

之后要用自动装配把PatternProperties实例对象自动加载到要使用的地方 

多环境配置共享

Data Id为服务名就是多环境配置共享

如果要分开发和发布环境,要加上-dev或-test之类的

配置优先级:服务名-profile.yaml >服务名称yaml>本地配置

搭建Nacos集群

Feign远程调用

Gateway网关

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/190508
推荐阅读
相关标签
  

闽ICP备14008679号