官网地址

数据库配置

Mysql准备

nacos集群需要使用Mysql数据库替换掉原来的单机derby数据库

直接在数据库导入nacos安装目录conf目录下的nacos-mysql.sql即可

导入成功后,会生成以下表

Nacos配置Mysql数据库

打开nacos安装目录conf\application.properties进行配置,所有nacos节点都

1
2
3
4
5
6
7
spring.datasource.platform=mysql

db.num=1

db.url.0=jdbc:mysql://127.0.0.1:3306/nacos?characterEncoding=utf8&connectTimeout=10000&socketTimeout=30000&autoReconnect=true&serverTimezone=UTC
db.user.0=root
db.password.0=123456

Nacos配置

Nacos节点配置

打开nacos安装目录conf\application.properties进行配置

1
2
server.port=8858
nacos.inetutils.ip-address=127.0.0.1
  1. server.port:配置节点端口,节点访问端口和集群配置端口都是这个端口
  2. nacos.inetutils.ip-address:配置节点ip,这里不是指只有这个ip可以访问,只是在集群配置中识别这个ip,因为一个节点机器可能不止一个ip,所以需要这个配置控制一个ip作为集群ip

Nacos集群配置

将nacos安装目录conf子目录下的cluster.conf.example复制一份并重命名为cluster.conf,打开进行配置

打开cluster.conf,配置nacos所有节点的地址

1
2
3
127.0.0.1:8858
127.0.0.1:8868
127.0.0.1:8878

Nginx配置

nacos集群并没有提供一个统一对外的地址,所以使用nginx做负载均衡

打开nginx安装目录conf\nginx.conf,进行配置,upstream中的ip使用每个节点的nacos.inetutils.ip-address配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
upstream nacos {
server 127.0.0.1:8858;
server 127.0.0.1:8868;
server 127.0.0.1:8878;
}

server {
listen 8848;
server_name localhost;

#proxy_redirect http://localhost:8081 http://116.228.152.154:28081;

location /nacos {
fastcgi_hide_header Access-Control-Allow-Origin;
proxy_hide_header Access-Control-Allow-Origin;
add_header Access-Control-Allow-Origin *;
proxy_pass http://nacos;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_send_timeout 360;
proxy_read_timeout 360;
proxy_connect_timeout 60;
}

}

浏览器使用8848访问nacos即可

Nacos使用Mysql

刚开始的时候在想,为什么nacos要用mysql存储,既然用mysql存储又何来用raft保证一致性一说,后面发现nacos集群搭建的mysql数据库是为了存储配置管理中的配置数据,以及nacos本身的基础数据,而像服务、实例等信息还是存储在内存或者本地磁盘的,临时实例只存储在内存中,非临时实例会持久化到磁盘


本站总访问量:次本站总访问数:人
本站由 Peng Tong 使用 Stellar 1.29.1 主题创建。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。