Alibaba-Nacos注册中心使用

133 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 10 月更文挑战」的第15天,点击查看活动详情

Nacos简介

Nacos是阿里开源的注册中心+配置管理平台,支持Dubbo,Srping。是spring-cloud-alibaba体系中不可缺少的一环,下面介绍一下单机测试情况如何使用。

单机使用

nacos-github发布页下载最新发布版。

  • 配置修改:目录nacos\conf
    1. 创建数据库:执行nacos-mysql.sql脚本还原数据库,schema.sql是Derby 数据库初始化脚本。这里暂时没有用到
    2. 修改数据库链接:nacos\conf目录下application.properties启用mysql相关配置
      #*************** Config Module Related Configurations ***************#
      ### If use MySQL as datasource:
      spring.datasource.platform=mysql
      ### Count of DB:
      db.num=1
      ### Connect URL of DB:
      db.url.0=jdbc:mysql://127.0.0.1:3306/数据库?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
      db.user.0=root
      db.password.0=root
      
  • windows下修改启动命令:startup.cmd,修改MODE为standalone

nacos是一个spring项目,有兴趣的同学可以下载源码看看,nacos-logback为日志配置,可以修改下日志级别看看详细日志

修改完成后执行startup.cmd启动项目,启动成功后访问http://localhost:8848/nacos/#/login 默认账号密码为nacos/nacos。

项目配置

Pom.xml新增依赖

    <dependencies>
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>
    </dependencies>
    <dependencyManagement>
        <dependencies>
            <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-alibaba-dependencies</artifactId>
            <version>spring-cloud-alibaba版本号</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

application.properties配置文件修改

spring.cloud.nacos.discovery.server-addr=localhost:8848

这里也可以使用spring-cloud通用配置,spring.cloud.discovery.client.serverAddr减少与nacos的依赖,但这个配置下面就少了很多nacos的定制内容,例如分组和命名空间等。

启动类增加注解

// 服务注册配置
@EnableDiscoveryClient
// Feigin服务调用
@EnableFeignClients

启动项目后会在nacos客户端,服务管理-服务列表中看到启动的项目,包含项目名称,分组等服务信息。

项目中使用除了配置与eureka并无差别,com.alibaba.cloud.nacos.NacosDiscoveryProperties为nacos对应配置bean,其中包含了很多特殊配置,有兴趣的同学可以看看。

个人比较喜欢properties风格,yml风格的配置文件在idea中提醒有的时候不准,不知道是不是插件没用好。

参考资料

nacos.io/zh-cn/docs/…