一、Nacos優勢
1、與eureka對比
- eureka2.0閉源了
- 從官網看nacos的注冊實例大于eureka
- nacos使用raft協議,nacos集群的一致性要遠大于eureka集群
Raft的數據一致性策略:Raft協議強依賴Leader節點來確保集群數據一致性,即客戶端發送過來的數據均先到達Leader節點,Leader節點接收到數據后,先將數據標記為未提交狀態,Leader開始向所有的Follower發送數據并等待響應。在獲得集群中大于N/2的Follower已成功接收數據的響應后,Leader將數據標記為已提交。并通知客戶端數據已接收確認。在確保客戶端已經接收數據確認后,再向所有Follower通知數據已提交。
2、與SpringCloudCofing對比
- Config需要依賴git,并依賴Spring Cloud Bus來實現更新
- Config沒有可視化界面
- Nacos Conifg使用長連接更新配置,一旦配置變化,通知客戶端的速度迅速。
二、Nacos Server
- 單機模式
- 集群模式
1、單機模式
此模式一般用于測試,不用改任何配置,直接敲以下命令執行
sh bin/startup.sh -m standalone
從/nacos/index.html訪問可視化界面
默認賬號密碼為 nacos nacos
2、集群模式
需要依賴MySQL,修改兩個配置文件:
conf/cluster.conf conf/application.properties
1、cluster.conf,填入要運行 Nacos Server 機器的 ip
192.168.1.1 192.168.1.2
2、修改NACOS_PATH/conf/application.properties,加入 MySQL 配置
db.num=1
db.url.0=jdbc:mysql://localhost:3306/nacos_config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=root
db.password=root
這里有個坑,單機版使用Derby內存數據庫,就算配置了MySQL也不生效
集群模式下使用MySQL,沒有配置會報錯。