Nacos集群配置


# Nacos集群搭建

 

# 1.集群結構圖

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

我們計划的集群結構:

三個nacos節點的地址:

| 節點 | ip | port |
| ------ | ------------- | ---- |
| nacos1 | 192.168.150.1 | 8845 |
| nacos2 | 192.168.150.1 | 8846 |
| nacos3 | 192.168.150.1 | 8847 |

 

# 2.搭建集群

搭建集群的基本步驟:

- 搭建數據庫,初始化數據庫表結構
- 下載nacos安裝包
- 配置nacos
- 啟動nacos集群
- nginx反向代理

 

## 2.1.初始化數據庫

Nacos默認數據存儲在內嵌數據庫Derby中,不屬於生產可用的數據庫。

官方推薦的最佳實踐是使用帶有主從的高可用數據庫集群,主從模式的高可用數據庫可以參考**傳智教育**的后續高手課程。

這里我們以單點的數據庫為例來講解。

首先新建一個數據庫,命名為nacos

 

## 2.2.下載nacos

nacos在GitHub上有下載地址:https://github.com/alibaba/nacos/tags,可以選擇任意版本下載。

本例中才用1.4.1版本:

 

 

 

 

 

## 2.3.配置Nacos

將這個包解壓到任意非中文目錄下

目錄說明:

- bin:啟動腳本
- conf:配置文件

 

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

然后添加內容:

```
127.0.0.1:8845
127.0.0.1.8846
127.0.0.1.8847
```

 

然后修改application.properties文件,添加數據庫配置

```properties
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文件夾復制三份,分別命名為:nacos1、nacos2、nacos3

![image-20210409213335538](assets/image-20210409213335538.png)

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

nacos1:

```properties
server.port=8845
```

nacos2:

```properties
server.port=8846
```

nacos3:

```properties
server.port=8847
```

 

然后分別啟動三個nacos節點:

```
startup.cmd
```

 

## 2.5.nginx反向代理

找到課前資料提供的nginx安裝包:

 

解壓到任意非中文目錄下:

 

修改conf/nginx.conf文件,配置如下:

```nginx
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文件配置如下:

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

 

 

 

## 2.6.優化

 

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

- Nacos的各個節點應該部署到多個不同服務器,做好容災和隔離

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM