我的微服务

Nacos使用备忘

2020-10-12  本文已影响0人  KenChen_939

写在前面

1:Nacos中的匹配规则

dataId的组成格式,以及SpringBoot配置文件中的匹配规则如下:
之所以yml文件中需要配置Spring.application.name,是因为它是构成Nacos配置管理dataId字段的一部分。
Nacos中dataId完整格式如下:

${prefix}-${spring.profile.active}.${file-extension}
${Spring.application.name}-${spring.profiles.active}.${spring.cloud.nacos.config.file-exetension}

2:作为服务配置中心---分类配置

Nacos的图形化管理界面对配置有很多管理:

这三者之间的关系:

类似于java里面的package名和类名。最外层的namespace是可以区分部署环境的,Group和DataID逻辑上区分两个目标对象。
默认情况:NameSpace=public,Group=DEFAULT_GROUP,
nacos的默认命名空间是public,NameSpace主要用来实现隔离,比如说我们现在有三个环境,开发,测试,生产。我们就可以创建三个NameSpace,不同的NameSpace之间是隔离的。
Group可以把不同的微服务划分到同一个分组里。

3:Nacos的集群和持久化配置

默认情况下Nacos使用嵌入式数据库derby。所以启动多个节点会存在数据一致性的问题。所以Nacos采用了集中式存储的方式来支持集群化部署,但是目前只支持Mysql。
持久化配置步骤:

spring.datasource.platform=mysql

db.num=1
db.url.0=jdbc:mysql://www.cjlly.com:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=root
db.password=123456

集群配置步骤
配置集群最少需要三台nacos服务实例,可以选择修改启动脚本或者是多机器启动。(内存要求较大,一台nacos服务实例至少需要1G的内存空间)

内容修改为以下
#192.168.16.101:8847
#192.168.16.102
#192.168.16.103
172.16.106.64:3333
172.16.106.64:4444
172.16.106.64:5555
59  while getopts ":m:f:s:c:p:o:" opt
60  do
61     case $opt in
 62         m)
 63             MODE=$OPTARG;;
 64         f)
 65             FUNCTION_MODE=$OPTARG;;
 66         s)
 67             SERVER=$OPTARG;;
 68         c)
 69             MEMBER_LIST=$OPTARG;;
 70         p)
 71             EMBEDDED_STORAGE=$OPTARG;;
 72         o)
 73             PORT=$OPTARG;;
 74         ?)
 75         echo "Unknown parameter"
 76         exit 1;;
 77     esac
 78 done

144 nohup $JAVA -Dserver.port=${PORT} ${JAVA_OPT} nacos.nacos >> ${BASE_DIR}/logs/start.out 2>&1 &            #倒数第二行

这时就可以使用bash startup.sh -o 3333和bash startup.sh -o 4444 的方式启动

upstream cluster{                
server 10.211.55.7:3333;                 
server 10.211.55.7:4444;                 
server 10.211.55.7:5555;
         }         
server {         
listen          1111; 
        server_name     10.211.55.5;        
 location / {
                 proxy_pass http://cluster;
         }        
 }
上一篇 下一篇

猜你喜欢

热点阅读