博客
关于我
Nacos集群搭建
阅读量:789 次
发布时间:2023-02-14

本文共 2989 字,大约阅读时间需要 9 分钟。

Nacos集群搭建指南

集群结构图

官方推荐的Nacos集群结构图如下:

  • 3个Nacos节点分别通过8845、8846、8847端口提供服务
  • 使用Nginx作为负载均衡器代理这3个Nacos节点

集群搭建步骤

1.1 数据库初始化

Nacos默认使用内嵌数据库Derby,建议使用高可用主从集群数据库

  • 创建数据库nacos,执行以下SQL导入表结构:
CREATE TABLE config_info (    id bigint AUTO_INCREMENT COMMENT 'id',    data_id varchar(255) NOT NULL COMMENT 'data_id',    group_id varchar(255) DEFAULT NULL COMMENT 'group_id',    content longtext NOT NULL COMMENT '内容',    md5 varchar(32) DEFAULT NULL COMMENT 'md5',    gmt_create datetime DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',    gmt_modified datetime DEFAULT CURRENT_TIMESTAMP COMMENT '修改时间',    src_user text COMMENT 'source user',    src_ip varchar(50) DEFAULT NULL COMMENT 'source ip',    app_name varchar(128) DEFAULT NULL COMMENT 'app_name',    tenant_id varchar(128) DEFAULT '' COMMENT '租户字段',    c_desc varchar(256) DEFAULT NULL COMMENT 'c_desc',    c_use varchar(64) DEFAULT NULL COMMENT 'c_use',    effect varchar(64) DEFAULT NULL COMMENT 'effect',    type varchar(64) DEFAULT NULL COMMENT '类型',    c_schema text COMMENT 'c_schema',    PRIMARY KEY (id),    UNIQUE KEY uk_configinfo_datagrouptenant (data_id, group_id, tenant_id)) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_info';CREATE TABLE config_info_aggr (    id bigint AUTO_INCREMENT COMMENT 'id',    data_id varchar(255) NOT NULL COMMENT 'data_id',    group_id varchar(255) NOT NULL COMMENT 'group_id',    datum_id varchar(255) NOT NULL COMMENT 'datum_id',    content longtext NOT NULL COMMENT '内容',    gmt_modified datetime NOT NULL COMMENT '修改时间',    app_name varchar(128) DEFAULT NULL COMMENT 'app_name',    tenant_id varchar(128) DEFAULT '' COMMENT '租户字段',    PRIMARY KEY (id),    UNIQUE KEY uk_configinfoaggr_datagrouptenantdatum (data_id, group_id, tenant_id, datum_id)) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_info_aggr';

1.2 下载Nacos

从GitHub下载最新版本:https://github.com/alibaba/nacos/tags

本例使用版本1.4.1

1.3 配置Nacos

将解压后的文件夹复制到非中文目录,例如/opt/nacos

  • 修改conf/cluster.conf,添加节点地址:
127.0.0.1:8845127.0.0.1:8846127.0.0.1:8847
  • 修改conf/application.properties,添加数据库配置:
spring.datasource.platform=mysqldbspring.datasource.num=1spring.datasource.db.url=jdbc:mysql://127.0.0.1:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTCspring.datasource.db.user=rootspring.datasource.db.password=123

1.4 启动Nacos节点

  • 将Nacos文件夹复制三份,分别命名为nacos1nacos2nacos3

  • 修改每个节点的application.properties,设置对应的端口:

    • nacos1: server.port=8845
    • nacos2: server.port=8846
    • nacos3: server.port=8847
  • 双击startup.cmd启动每个节点

1.5 Nginx反向代理

  • 解压Nginx安装包到非中文目录,例如/etc/nginx
  • 修改conf/nginx.conf,添加反向代理配置:
upstream nacos-cluster {    server 127.0.0.1:8845;    server 127.0.0.1:8846;    server 127.0.0.1:8847;}server {    listen 80;    server_name localhost;    location /nacos {        proxy_pass http://nacos-cluster;    }}
  • 启动Nginx服务,访问http://localhost/nacos即可使用

1.6 优化建议

  • 为Nginx设置域名,便于后续服务迁移
  • 部署多个节点到不同服务器,确保容灾和系统隔离

以上步骤清晰地指导了Nacos集群的完整搭建过程,结合实际部署建议,帮助您高效配置并管理Nacos集群。

转载地址:http://zzcfk.baihongyu.com/

你可能感兴趣的文章
Mysql配置文件my.ini详解
查看>>
MySQL配置文件深度解析:10个关键参数及优化技巧---强烈要求的福利来咯。
查看>>
Mysql配置表名忽略大小写(SpringBoot连接表时提示不存在,实际是存在的)
查看>>
mysql配置读写分离并在若依框架使用读写分离
查看>>
MySQL里为什么会建议不要使用SELECT *?
查看>>
MySQL里的那些日志们
查看>>
MySQL锁
查看>>
MySQL锁与脏读、不可重复读、幻读详解
查看>>
MySQL锁机制
查看>>
mysql锁机制,主从复制
查看>>
Mysql锁机制,行锁表锁
查看>>
MySQL锁表问题排查
查看>>
Mysql锁(1):锁概述和全局锁的介绍
查看>>
Mysql锁(2):表级锁
查看>>
MySQL锁,锁的到底是什么?
查看>>
MySQL错误-this is incompatible with sql_mode=only_full_group_by完美解决方案
查看>>
Mysql错误2003 -Can't connect toMySQL server on 'localhost'(10061)解决办法
查看>>
MySQL错误提示mysql Statement violates GTID consistency
查看>>
mysql错误:This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its de
查看>>
mysql长事务
查看>>