Spring Cloud Alibaba之Nacos


目录结构:

 https://nacos.io/

https://github.com/alibaba/nacos/releases

  2、解压下载下来的Nacos的二进制压缩包  

  tar -zxvf nacos-server-2.0.4.tar.gz

  3、启动nacos server

  [root@localhost bin]# ./startup.sh -m standalone

  注:单机环境必须带-m standalone参数启动,否则无法启动,不带参数启动的是集群环境

  4、访问nacos的web客户端地址:http://ip地址:8848/nacos

  使用默认的用户名:nacos、密码:nacos

  5、关闭nacos server

  [root@localhost bin]# ./shutdown.sh

https://nacos.io/zh-cn/docs/deployment.html

Nacos默认情况下是采用apache derby内嵌数据库进行数据存储,在单机模式时可以使用nacos嵌入式数据库实现数据存储,但是derby数据库不方便观察数据存储的基本情况,从acos 0.7版本开始增加了支持mysql数据源能力;

具体操作步骤:

第一步:安装数据库,版本要求:5.6.5+;

第二步:初始化MySQL数据库(也就是生成对应的数据库和表),数据库初始化文件: nacos-mysql.sql,该文件可以在Nacos程序包下的 conf目录下获得

第三步:修改 conf/application.properties文件,增加支持MySQL数据源配置,添加(目前只支持mysql)数据源的url、用户名和密码

#*************** Config Module Related Configurations ***************#
    32    ### If use MySQL as datasource:
    33     spring.datasource.platform=mysql
    34    
    35    ### Count of DB:
    36     db.num=1
    37    
    38    ### Connect URL of DB:
    39     db.url.0=jdbc:mysql://127.0.0.1:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=Asia/Shanghai
    40     db.user.0=root
    41     db.password.0=123456

第四步:然后启动nacos(还是单机启动),此时发现nacos所有嵌入式数据库的数据都写到了mysql;

十一、Nacos集群部署

具体配置步骤:

1、准备三个nacos,3个或3个以上Nacos节点才能构成集群;

2、在Nacos的conf目录下有一个cluster.conf.example,可以直接把example扩展名去掉来使用,也可以单独创建一个cluster.conf文件,然后在该文件中每行配置一个ip:port;

 端口号需要和对应nacos的文件application.properties中的端口号一致

3、按照上面nacos持久化的方式配置好数据持久化到MySQL,生产使用建议至少主备模式,或者采用高可用数据库

4、启动测试;

集群下客户端怎么连?

第一种:可以在单机的基础上加多个IP和端口中间用逗号隔开;

spring:
  cloud:
    nacos:
      config:
        server-addr: http://ip地址1:8848/nacos,http://IP地址2:8848/nacos,http://ip地址3:8848/nacos
        username: nacos
        password: nacos
        namespace: e769b2bd-5082-4829-82a5-3c98ee6cf758
        group: user-group
        file-extension: properties

  application:
    name: config-server
  profiles:
    active: dev

第二种:配合Nginx代理我们的Nacos集群,配置里就直接写Nginx的IP和端口即可;