nacos的基本使用

1、nacos的安装

1、首先要使用nacos那肯定得先下载nacos

nacos的GitHub下载地址

2、解压并且放到自己想放的目录,打开bin目录下的startup.cmd(windows下)

如果打开闪退则配置一下startup.cmd 用编辑器打开startup.cmd,修改里面的MODE为standalone因为默认是cluster集群的方式启动,standalone是以单机的方式启动

3、启动之后即可进入nacos网页,具体怎么进入呢,访问启动之后的提示网址

4、在浏览器访问提示网址即可跳到nacos登录网页,账号密码默认是nacos

5、恭喜您完成nacos的安装

2、在springcloud项目中使用nacos

Springboot 、springcloud、springcloud alibaba对应关系

https://github.***/alibaba/spring-cloud-alibaba/wiki/%E7%89%88%E6%9C%AC%E8%AF%B4%E6%98%8E
1、想要使用那肯定得导入依赖,在自己想用的模块上导入nacos依赖,一般是在***mon统一管理,其他模块依赖nacos

<!--nacos注册中心-->
<dependency>
    <groupId>***.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
<!--nacos配置中心-->
<dependency>
    <groupId>***.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>

nacos注册中心

注意:nacos的注册中心和配置中心都放在bootstrap.yml或者bootstrap.properties上不然启动前会报错,但是不影响运行,因为springcloud启动的时候如果有nacos依赖它会先去寻找bootstrap文件。

1、注册中心的使用:

#首先要表明注册的名称一般是模块名称
spring:
  application:
    name: gulimall-coupon
#表明注册中心的地址
  cloud:
    nacos:
      discovery:
        server-addr: 127.0.0.1:8848

2、在启动类上添加注解开启nacos服务注册发现功能

java">@SpringBootApplication
@EnableDiscoveryClient
public class GuilimallCouponApplication {
    public static void main(String[] args) {
        SpringApplication.run(GuilimallCouponApplication.class, args);
    }
}

3、在正常情况下nacos要配合open feign的使用使用步骤如下:

4、首先在你要调用的模块和自己的模块上都应该有open feign的依赖,被调用的模块应该已经注册到nacos注册中心

<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>

5、在自己的模块上创建一个feign包用来放专门调用别的模块的接口

6、创建一个接口,在接口上加上@FeignClient注解表明要调用的模块

//feign包下的接口,路径记得写全
@FeignClient("gulimall-coupon")
public interface CouponFeignService {
    @RequestMapping("coupon/coupon/member/list")
    R membercoupons();
}
//被调用模块接口的代码
@RestController
@RequestMapping("coupon/coupon")
public class CouponController {
@RequestMapping("member/list")
public R membercoupons(){
    return R.ok("调用成功");
}   
}
//自己的接口调用feign包下的接口完成数据的传输
@RestController
@RequestMapping("member/member")
public class MemberController {
    @Autowired
    private CouponFeignService couponFeignService;
    @RequestMapping("coupons")
    public R test(){
        return couponFeignService.membercoupons();
    }
}

nacos配置中心

#表明名称
spring:
  application:
    name: gulimall-coupon
#表明配置中心的地址
  cloud:
    nacos:
      config:
        server-addr: 127.0.0.1:8848
        namespace: 41dba914-7566-4d11-9375-1612e4***697d    #配置中心的命名空间
        group: dev           #配置中心的分组 默认是DEFAULT_GROUP分组
        ext-config[0]:       #当你有很多配置的时候可以分文件放在配置中心统一管理
          data-id: datasource.yml
          group: dev
          refresh: true       #是否时时刷新
        ext-config[1]:
          data-id: mybatis.yml
          group: dev
          refresh: true
        ext-config[2]:
          data-id: other.yml
          group: dev
          refresh: true

如图所示:

nacos的配置列表分组情况从高到低分别是:

一个nacos有多个命名空间

一个命名空间下有多个分组

一个分组下有多个配置文件

在配置列表下点击+号新增一个配置文件

如下图所示:

模块启动就会去加载命名空间为41dba914-7566-4d11-9375-1612e4***697d的prop分组下的gulimall-coupon.properties(默认)文件和下面的三个文件分别为dev分组下的datasource.yml、dev分组下的mybatis.yml、dev分组下的 other.yml文件。

在有用到远程配置中心里面的数据的类上可以加上@RefreshScope注解实时刷新数据,只要远程配置中心的数据变了,代码里的数据也会发生相应的改变。

注意:如果远程文件和本地文件冲突了,那就会选择远程文件的数据

转载请说明出处内容投诉
CSS教程_站长资源网 » nacos的基本使用

发表评论

欢迎 访客 发表评论

一个令你着迷的主题!

查看演示 官网购买