最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Nacos集群搭建過程詳解

 更新時間:2022年05月16日 10:51:56   作者:TimeFriends  
這篇文章主要為大家介紹了Nacos集群搭建過程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪

1.集群結(jié)構(gòu)圖

官方給出的Nacos集群圖:

其中包含3個nacos節(jié)點,然后一個負(fù)載均衡器代理3個Nacos。這里負(fù)載均衡器可以使用nginx。

我們計劃的集群結(jié)構(gòu):

三個nacos節(jié)點的地址:

節(jié)點ipport
nacos1192.168.150.18845
nacos2192.168.150.18846
nacos3192.168.150.18847

2.搭建集群

搭建集群的基本步驟:

  • 搭建數(shù)據(jù)庫,初始化數(shù)據(jù)庫表結(jié)構(gòu)
  • 下載nacos安裝包
  • 配置nacos
  • 啟動nacos集群
  • nginx反向代理

2.1.初始化數(shù)據(jù)庫

Nacos默認(rèn)數(shù)據(jù)存儲在內(nèi)嵌數(shù)據(jù)庫Derby中,不屬于生產(chǎn)可用的數(shù)據(jù)庫。

官方推薦的最佳實踐是使用帶有主從的高可用數(shù)據(jù)庫集群
這里我們以單點的數(shù)據(jù)庫為例來講解。

首先新建一個數(shù)據(jù)庫,命名為nacos,而后導(dǎo)入下面的SQL:

CREATE TABLE `config_info` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
  `data_id` varchar(255) NOT NULL COMMENT 'data_id',
  `group_id` varchar(255) DEFAULT NULL,
  `content` longtext NOT NULL COMMENT 'content',
  `md5` varchar(32) DEFAULT NULL COMMENT 'md5',
  `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '創(chuàng)建時間',
  `gmt_modified` datetime NOT NULL 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,
  `tenant_id` varchar(128) DEFAULT '' COMMENT '租戶字段',
  `c_desc` varchar(256) DEFAULT NULL,
  `c_use` varchar(64) DEFAULT NULL,
  `effect` varchar(64) DEFAULT NULL,
  `type` varchar(64) DEFAULT NULL,
  `c_schema` text,
  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';
/******************************************/
/*   數(shù)據(jù)庫全名 = nacos_config   */
/*   表名稱 = config_info_aggr   */
/******************************************/
CREATE TABLE `config_info_aggr` (
  `id` bigint(20) NOT NULL 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 '內(nèi)容',
  `gmt_modified` datetime NOT NULL COMMENT '修改時間',
  `app_name` varchar(128) DEFAULT NULL,
  `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='增加租戶字段';
/******************************************/
/*   數(shù)據(jù)庫全名 = nacos_config   */
/*   表名稱 = config_info_beta   */
/******************************************/
CREATE TABLE `config_info_beta` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
  `data_id` varchar(255) NOT NULL COMMENT 'data_id',
  `group_id` varchar(128) NOT NULL COMMENT 'group_id',
  `app_name` varchar(128) DEFAULT NULL COMMENT 'app_name',
  `content` longtext NOT NULL COMMENT 'content',
  `beta_ips` varchar(1024) DEFAULT NULL COMMENT 'betaIps',
  `md5` varchar(32) DEFAULT NULL COMMENT 'md5',
  `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '創(chuàng)建時間',
  `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改時間',
  `src_user` text COMMENT 'source user',
  `src_ip` varchar(50) DEFAULT NULL COMMENT 'source ip',
  `tenant_id` varchar(128) DEFAULT '' COMMENT '租戶字段',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_configinfobeta_datagrouptenant` (`data_id`,`group_id`,`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_info_beta';
/******************************************/
/*   數(shù)據(jù)庫全名 = nacos_config   */
/*   表名稱 = config_info_tag   */
/******************************************/
CREATE TABLE `config_info_tag` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
  `data_id` varchar(255) NOT NULL COMMENT 'data_id',
  `group_id` varchar(128) NOT NULL COMMENT 'group_id',
  `tenant_id` varchar(128) DEFAULT '' COMMENT 'tenant_id',
  `tag_id` varchar(128) NOT NULL COMMENT 'tag_id',
  `app_name` varchar(128) DEFAULT NULL COMMENT 'app_name',
  `content` longtext NOT NULL COMMENT 'content',
  `md5` varchar(32) DEFAULT NULL COMMENT 'md5',
  `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '創(chuàng)建時間',
  `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改時間',
  `src_user` text COMMENT 'source user',
  `src_ip` varchar(50) DEFAULT NULL COMMENT 'source ip',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_configinfotag_datagrouptenanttag` (`data_id`,`group_id`,`tenant_id`,`tag_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_info_tag';
/******************************************/
/*   數(shù)據(jù)庫全名 = nacos_config   */
/*   表名稱 = config_tags_relation   */
/******************************************/
CREATE TABLE `config_tags_relation` (
  `id` bigint(20) NOT NULL COMMENT 'id',
  `tag_name` varchar(128) NOT NULL COMMENT 'tag_name',
  `tag_type` varchar(64) DEFAULT NULL COMMENT 'tag_type',
  `data_id` varchar(255) NOT NULL COMMENT 'data_id',
  `group_id` varchar(128) NOT NULL COMMENT 'group_id',
  `tenant_id` varchar(128) DEFAULT '' COMMENT 'tenant_id',
  `nid` bigint(20) NOT NULL AUTO_INCREMENT,
  PRIMARY KEY (`nid`),
  UNIQUE KEY `uk_configtagrelation_configidtag` (`id`,`tag_name`,`tag_type`),
  KEY `idx_tenant_id` (`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='config_tag_relation';
/******************************************/
/*   數(shù)據(jù)庫全名 = nacos_config   */
/*   表名稱 = group_capacity   */
/******************************************/
CREATE TABLE `group_capacity` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主鍵ID',
  `group_id` varchar(128) NOT NULL DEFAULT '' COMMENT 'Group ID,空字符表示整個集群',
  `quota` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '配額,0表示使用默認(rèn)值',
  `usage` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '使用量',
  `max_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '單個配置大小上限,單位為字節(jié),0表示使用默認(rèn)值',
  `max_aggr_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '聚合子配置最大個數(shù),,0表示使用默認(rèn)值',
  `max_aggr_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '單個聚合數(shù)據(jù)的子配置大小上限,單位為字節(jié),0表示使用默認(rèn)值',
  `max_history_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '最大變更歷史數(shù)量',
  `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '創(chuàng)建時間',
  `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改時間',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_group_id` (`group_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='集群、各Group容量信息表';
/******************************************/
/*   數(shù)據(jù)庫全名 = nacos_config   */
/*   表名稱 = his_config_info   */
/******************************************/
CREATE TABLE `his_config_info` (
  `id` bigint(64) unsigned NOT NULL,
  `nid` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
  `data_id` varchar(255) NOT NULL,
  `group_id` varchar(128) NOT NULL,
  `app_name` varchar(128) DEFAULT NULL COMMENT 'app_name',
  `content` longtext NOT NULL,
  `md5` varchar(32) DEFAULT NULL,
  `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
  `src_user` text,
  `src_ip` varchar(50) DEFAULT NULL,
  `op_type` char(10) DEFAULT NULL,
  `tenant_id` varchar(128) DEFAULT '' COMMENT '租戶字段',
  PRIMARY KEY (`nid`),
  KEY `idx_gmt_create` (`gmt_create`),
  KEY `idx_gmt_modified` (`gmt_modified`),
  KEY `idx_did` (`data_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='多租戶改造';
/******************************************/
/*   數(shù)據(jù)庫全名 = nacos_config   */
/*   表名稱 = tenant_capacity   */
/******************************************/
CREATE TABLE `tenant_capacity` (
  `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '主鍵ID',
  `tenant_id` varchar(128) NOT NULL DEFAULT '' COMMENT 'Tenant ID',
  `quota` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '配額,0表示使用默認(rèn)值',
  `usage` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '使用量',
  `max_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '單個配置大小上限,單位為字節(jié),0表示使用默認(rèn)值',
  `max_aggr_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '聚合子配置最大個數(shù)',
  `max_aggr_size` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '單個聚合數(shù)據(jù)的子配置大小上限,單位為字節(jié),0表示使用默認(rèn)值',
  `max_history_count` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '最大變更歷史數(shù)量',
  `gmt_create` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '創(chuàng)建時間',
  `gmt_modified` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '修改時間',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_tenant_id` (`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='租戶容量信息表';
CREATE TABLE `tenant_info` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT 'id',
  `kp` varchar(128) NOT NULL COMMENT 'kp',
  `tenant_id` varchar(128) default '' COMMENT 'tenant_id',
  `tenant_name` varchar(128) default '' COMMENT 'tenant_name',
  `tenant_desc` varchar(256) DEFAULT NULL COMMENT 'tenant_desc',
  `create_source` varchar(32) DEFAULT NULL COMMENT 'create_source',
  `gmt_create` bigint(20) NOT NULL COMMENT '創(chuàng)建時間',
  `gmt_modified` bigint(20) NOT NULL COMMENT '修改時間',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_tenant_info_kptenantid` (`kp`,`tenant_id`),
  KEY `idx_tenant_id` (`tenant_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='tenant_info';
CREATE TABLE `users` (
	`username` varchar(50) NOT NULL PRIMARY KEY,
	`password` varchar(500) NOT NULL,
	`enabled` boolean NOT NULL
);
CREATE TABLE `roles` (
	`username` varchar(50) NOT NULL,
	`role` varchar(50) NOT NULL,
	UNIQUE INDEX `idx_user_role` (`username` ASC, `role` ASC) USING BTREE
);
CREATE TABLE `permissions` (
    `role` varchar(50) NOT NULL,
    `resource` varchar(255) NOT NULL,
    `action` varchar(8) NOT NULL,
    UNIQUE INDEX `uk_role_permission` (`role`,`resource`,`action`) USING BTREE
);
INSERT INTO users (username, password, enabled) VALUES ('nacos', '$2a$10$EuWPZHzz32dJN7jexM34MOeYirDdFAZm2kuWj7VEOJhhZkDrxfvUu', TRUE);
INSERT INTO roles (username, role) VALUES ('nacos', 'ROLE_ADMIN');

2.2.下載nacos

nacos在GitHub上有下載地址:

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

可以選擇任意版本下載。

本例中才用1.4.1版本:

2.3.配置Nacos

將這個包解壓到任意非中文目錄下,如圖:

目錄說明:

bin:啟動腳本

conf:配置文件

進(jìn)入nacos的conf目錄,修改配置文件cluster.conf.example,重命名為cluster.conf:

然后添加內(nèi)容:

127.0.0.1:8845
127.0.0.1.8846
127.0.0.1.8847

然后修改application.properties文件,添加數(shù)據(jù)庫配置

spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://127.0.0.1:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user.0=root
db.password.0=123

2.4.啟動

將nacos文件夾復(fù)制三份,分別命名為:nacos1、nacos2、nacos3

然后分別修改三個文件夾中的application.properties,

nacos1:

server.port=8845

nacos2:

server.port=8846

nacos3:

server.port=8847

然后分別啟動三個nacos節(jié)點:

startup.cmd

2.5.nginx反向代理

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;
    }
}

而后在瀏覽器訪問:http://localhost/nacos即可。

代碼中application.yml文件配置如下:

spring:
  cloud:
    nacos:
      server-addr: localhost:80 # Nacos地址

2.6.優(yōu)化

實際部署時,需要給做反向代理的nginx服務(wù)器設(shè)置一個域名,這樣后續(xù)如果有服務(wù)器遷移nacos的客戶端也無需更改配置.

Nacos的各個節(jié)點應(yīng)該部署到多個不同服務(wù)器,做好容災(zāi)和隔離

server_name localhost;
location /nacos {
proxy_pass http://nacos-cluster;
}
}

而后在瀏覽器訪問:http://localhost/nacos即可。代碼中application.yml文件配置如下:

```yaml
spring:
  cloud:
    nacos:
      server-addr: localhost:80 # Nacos地址

以上就是Nacos集群搭建的詳細(xì)內(nèi)容,更多關(guān)于Nacos集群搭建的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Java 實現(xiàn)常見的非對稱加密算法

    Java 實現(xiàn)常見的非對稱加密算法

    這篇文章主要介紹了Java 實現(xiàn)常見的非對稱加密算法,幫助大家更好的理解和使用Java,感興趣的朋友可以了解下
    2020-11-11
  • java常用工具類之DES和Base64加密解密類

    java常用工具類之DES和Base64加密解密類

    這篇文章主要介紹了java常用工具類之DES和Base64加密解密類,需要的朋友可以參考下
    2014-07-07
  • MyBatis之關(guān)于動態(tài)SQL解讀

    MyBatis之關(guān)于動態(tài)SQL解讀

    這篇文章主要介紹了MyBatis之關(guān)于動態(tài)SQL解讀,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • SpringBoot項目使用yml文件鏈接數(shù)據(jù)庫異常問題解決方案

    SpringBoot項目使用yml文件鏈接數(shù)據(jù)庫異常問題解決方案

    在使用SpringBoot時,利用yml進(jìn)行數(shù)據(jù)庫連接配置需小心數(shù)據(jù)類型區(qū)分,如果用戶名或密碼是數(shù)字,必須用雙引號包裹以識別為字符串,避免連接錯誤,特殊字符密碼也應(yīng)用引號包裹
    2024-10-10
  • springboot集成PageHelper分頁失效的原因及解決

    springboot集成PageHelper分頁失效的原因及解決

    項目啟動初期,在集成mybatis的分頁插件,自定義封裝了一個分頁的工具類,方便后期項目的擴(kuò)展,結(jié)果無法分頁了,怎么設(shè)置搞都沒辦法正常分頁,所以本文將給大家介紹一下springboot集成PageHelper分頁失效的原因及解決,需要的朋友可以參考下
    2023-10-10
  • Java中實現(xiàn)文件預(yù)覽的功能(實例代碼)

    Java中實現(xiàn)文件預(yù)覽的功能(實例代碼)

    大家都知道word,Excel,PPT實現(xiàn)在線預(yù)覽常用的方式就是先轉(zhuǎn)換成pdf,然后在進(jìn)行預(yù)覽,下面給大家介紹Java中如何實現(xiàn)文件預(yù)覽的功能,需要的朋友可以參考下
    2023-05-05
  • SpringBoot+Vue項目新手快速入門指南

    SpringBoot+Vue項目新手快速入門指南

    最近剛剛做了一個基于vue+springboot的系統(tǒng),于是基于這點,對遇到的一些問題進(jìn)行一些配置的匯總,下面這篇文章主要給大家介紹了關(guān)于SpringBoot+Vue項目新手快速入門的相關(guān)資料,需要的朋友可以參考下
    2022-06-06
  • SpringCloud之Ribbon使用示例解析

    SpringCloud之Ribbon使用示例解析

    這篇文章主要為大家介紹了SpringCloud之Ribbon使用示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-06-06
  • JavaWeb中HttpSession中表單的重復(fù)提交示例

    JavaWeb中HttpSession中表單的重復(fù)提交示例

    這篇文章主要介紹了JavaWeb中HttpSession中表單的重復(fù)提交,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2017-03-03
  • 淺談Maven安裝及環(huán)境配置出錯的解決辦法

    淺談Maven安裝及環(huán)境配置出錯的解決辦法

    這篇文章主要介紹了淺談Maven安裝及環(huán)境配置出錯的解決辦法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09

最新評論

来安县| 平塘县| 洪江市| 霍州市| 安图县| 新疆| 万荣县| 白银市| 克什克腾旗| 保定市| 达尔| 广州市| 富裕县| 宜宾县| 潢川县| 航空| 天全县| 阿城市| 武平县| 青浦区| 青岛市| 克拉玛依市| 高雄县| 闽清县| 紫金县| 东兴市| 白水县| 侯马市| 津南区| 镇赉县| 汶上县| 黑水县| 康定县| 乳山市| 金坛市| 虎林市| 永新县| 安乡县| 汨罗市| 盐源县| 四会市|