輕量級Nacos來了!佔用資源極低,效能炸裂!

macrozheng發表於2024-11-07
Nacos作為一款非常流行的微服務註冊中心,我們在構建微服務專案時往往會使用到它。最近發現一款輕量級的Nacos專案r-nacos,佔用記憶體極低,效能也很強大,分享給大家。本文就以我的mall-swarm微服務電商實戰專案為例,來聊聊它在專案中的使用。

r-nacos簡介

r-nacos是一款使用rust實現的nacos服務,對比阿里的nacos來說,可以提供相同的註冊中心和配置中心功能。同時它佔用的記憶體更小,效能也很優秀,能提供更穩定的服務。

下面是r-nacos管理控制檯使用的效果圖,大家可以參考下:

mall-swarm專案簡介

由於之後我們需要用到mall-swarm專案,這裡簡單介紹下它。 mall-swarm專案(11k+star)是一套微服務商城系統,基於2024最新微服技術棧,涵蓋Spring Cloud Alibaba、Spring Boot 3.2、JDK17、Kubernetes等核心技術。mall-swarm在電商業務的基礎整合了註冊中心、配置中心、監控中心、閘道器等系統功能。

  • Github地址:https://github.com/macrozheng/mall-swarm
  • Gitee地址:https://gitee.com/macrozheng/mall-swarm
  • 教程網站:https://cloud.macrozheng.com

專案演示:

安裝

r-nacos支援Windows下的exe檔案安裝,也支援Linux下的Docker環境安裝,這裡以Docker安裝為例。
  • 首先透過如下命令下載r-nacos的Docker映象:
docker pull qingpan/rnacos:stable
  • 安裝完成後透過如下命令執行r-nacos容器;
docker run --name rnacos -p 8848:8848 -p 9848:9848 -p 10848:10848 -d qingpan/rnacos:stable
  • 接下來就可以訪問r-nacos的控制檯了,預設管理員賬號密碼為admin:admin,訪問地址:http://192.168.3.101:10848/rnacos/

專案實戰

接下來就以我的mall-swarm微服務電商實戰專案為例,來講解下它的使用。由於mall-swarm專案中各個服務的配置與執行都差不多,這裡以mall-admin模組為例。
  • 首先我們需要下載mall-swarm專案的程式碼,下載完成後修改專案的bootstrap-dev.yml檔案,將其中的nacos連線地址改為r-nacos的地址,專案地址:https://github.com/macrozheng/mall-swarm
spring:
  cloud:
    nacos:
      discovery:
        server-addr: http://192.168.3.101:8848
      config:
        server-addr: http://192.168.3.101:8848
        file-extension: yaml

  • 接下來在r-nacos的配置列表中新增mall-admin-dev.yaml配置,該配置下專案的config目錄下;

  • 之後把mall-admin模組執行起來,此時在r-nacos服務列表功能中就可以看到註冊好的服務了;

  • 接下來把其他模組的配置也新增到r-nacos的配置列表中去;

  • 再執行其他模組,最終服務列表顯示如下;

  • 之後透過閘道器就可以訪問到mall-swarm專案的線上API文件了,訪問地址:http://localhost:8201/doc.html

  • 這裡我們再把mall-swarm專案的後臺管理系統前端專案mall-admin-web給執行起來;

  • 最後我們再把mall-swarm專案的前臺商城系統前端專案mall-app-web給執行起來,發現都是可以正常從閘道器呼叫API的。

其他使用

r-nacos除了提供了基本的註冊中心和配置中心功能,還提供了一些其他的實用功能,這裡我們一起來了解下。
  • 如果你想新增一些其他訪問的使用者,或者修改admin使用者的資訊,可以使用使用者管理功能;

  • 如果你想對r-nacos中配置資訊進行匯入匯出,可以使用資料遷移功能;

  • 如果你想對r-nacos中的執行狀態進行監控,你可以使用系統監控功能,監控還是挺全的。

效能壓測

r-nacos的效能還是非常好的,這裡有個r-nacos官方提供的效能壓測結果表,大家可以參考下。

對比Nacos

個人感覺對比阿里的nacos,佔用的記憶體資源減少了非常多,執行不到10M記憶體,而nacos需要900M,伺服器資源不寬裕的小夥伴可以嘗試下它。

總結

今天以我的mall-swarm微服務電商實戰專案為例,講解了r-nacos的使用。從功能上來說r-nacos是完全可以替代nacos的,而且它佔用記憶體資源非常低,效能也很強大,感興趣的小夥伴可以嘗試下它!

專案地址

https://github.com/nacos-group/r-nacos

相關文章