亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

使用systemd部署r-nacos的操作方法

 更新時間:2024年03月26日 09:44:28   作者:拾玄  
r-nacos是一個用rust實現的nacos服務,我們用它平替java?nacos以降低服務占用內存,提升服務的穩(wěn)定性,這篇文章主要介紹了使用systemd部署r-nacos,需要的朋友可以參考下

1、 前言

r-nacos是一個用rust實現的nacos服務。相較于java nacos來說,是一個提供相同功能,啟動更快、占用系統(tǒng)資源更?。ǔ跏純却嫘∮?0M)、性能更高、運行更穩(wěn)定的服務。

r-nacos設計上完全兼容最新版本nacos面向client sdk 的協(xié)議(包含1.x的http OpenApi,和2.x的grpc協(xié)議), 支持使用nacos服務的應用平遷到 r-nacos。

r-nacos在本地測試使用很簡單,通過./rnacos直接啟動應用即可。
但是生產環(huán)境中還是需要更規(guī)范的方式部署運行。

目前的linux服務基本默認支持systemd統(tǒng)一管理服務。
本文主要記錄使用systemd部分r-nacos的過程說明。

2、規(guī)劃r-nacos運行位置

  • 服務應用放到 /opt/rnacos/ 中
  • r-nacos配置使用 /etc/rnacos/env.conf
  • 數據放到 /var/rnacos/io/ 中
  • systemd 服務配置放到 /lib/systemd/system/rnacos.service

3、部署

  • 下載服務應用
mkdir -p /opt/rnacos/
cd /opt/rnacos/
#download from github
curl -LO https://github.com/r-nacos/r-nacos/releases/download/v0.5.0/rnacos-x86_64-unknown-linux-musl.tar.gz

#download from gitee
#curl -LO https://gitee.com/hqp/rnacos/releases/download/v0.5.0/rnacos-x86_64-unknown-linux-musl.tar.gz

tar -xvf rnacos-x86_64-unknown-linux-musl.tar.gz
  • 增加r-nacos服務配置
mkdir -p /etc/rnacos/
cat >/etc/rnacos/env.conf <<EOF
# rnacos 指定配置文件有兩種方式:
# 1. 默認文件(放置于運行目錄下,文件名為“.env”,自動讀取)
# 2. 指定文件(放置于任意目錄下, 通過 命令行參數“-e 文件路徑”形式指定, 如“./rnacos -e /etc/rnacos/conf/default.cnf”)
# 更多說明請參照  https://r-nacos.github.io/r-nacos/deplay_env.html

# r-nacos監(jiān)聽http端口,默認值:8848
RNACOS_HTTP_PORT=8848

#r-nacos監(jiān)聽grpc端口,默認值:HTTP端口+1000(即9848) 
#RNACOS_GRPC_PORT=9848

#r-nacos獨立控制臺端口,默認值:HTTP端口+2000(即10848);設置為0可不開啟獨立控制臺
#RNACOS_HTTP_CONSOLE_PORT=10848

#r-nacos控制臺登錄1小時失敗次數限制默認是5,一個用戶連續(xù)登陸失敗5次,會被鎖定1個小時 ,默認值:1
RNACOS_CONSOLE_LOGIN_ONE_HOUR_LIMIT=5

#http工作線程數,默認值:cpu核數 
#RNACOS_HTTP_WORKERS=8


#配置中心的本地數據庫sled文件夾, 會在系統(tǒng)運行時自動創(chuàng)建 ,默認值:nacos_db
RNACOS_CONFIG_DB_DIR=nacos_db

#節(jié)點id,默認值:1
RNACOS_RAFT_NODE_ID=1

#節(jié)點地址Ip:GrpcPort,單節(jié)點運行時每次啟動都會生效;多節(jié)點集群部署時,只取加入集群時配置的值,默認值:127.0.0.1:GrpcPort 
RNACOS_RAFT_NODE_ADDR=127.0.0.1:9848

#是否當做主節(jié)點初始化,(只在每一次啟動時生效)節(jié)點1時默認為true,節(jié)點非1時為false 
#RNACOS_RAFT_AUTO_INIT=true


#是否當做節(jié)點加入對應的主節(jié)點,LeaderIp:GrpcPort;只在第一次啟動時生效;默認值:空 
#RNACOS_RAFT_JOIN_ADDR=127.0.0.1:9848

#日志等級:debug,info,warn,error;所有http,grpc請求都會打info日志,如果不關注,可以設置為error 減少日志量,默認值:info
RUST_LOG=info
EOF
  • 初始化r-nacos數據目錄
mkdir -p /var/rnacos/io/

# 如果使用rnacos用戶運行,則要開放目錄寫權限給用戶
# adduser rnacos
# chown -R rnacos:rnacos /var/rnacos
  • 初始化r-nacos 服務配置
cat >/lib/systemd/system/rnacos.service <<EOF
[Unit]
Description=r-nacos server
After=network.target

[Service]
#使用指定用戶運行
#User=rnacos
#Group=rnacos
ExecStart=/opt/rnacos/rnacos -e /etc/rnacos/env.conf
# 進程異常關閉時會自動重啟
Restart=always
WorkingDirectory=/var/rnacos/io

[Install]
WantedBy=multi-user.target
EOF
  • 重新加載并啟動服務
# 重新加載配置
systemctl daemon-reload
# 啟用服務并馬上啟動
systemctl enable --now rnacos

# 查看服務狀態(tài)
systemctl status rnacos

把上以的腳本連起來執(zhí)行,r-nacos服務即可部署完成。

4、管理服務

  • 使用systemctl管理服務

常用的命令

# 查看服務狀態(tài)
systemctl status rnacos

# 啟動服務
systemctl start rnacos

# 關閉服務
systemctl stop rnacos

# 啟動服務,開機自動啟動
systemctl enable rnacos

# 禁用服務,開機不啟動
systemctl disable rnacos

  • 同時可以結合使用journalctl 管理查看服務日志
# 查看日志
journalctl -u rnacos
# 查看最新日志
journalctl -u rnacos  -f

其它journalctl日志管理方式,可以單獨支了解,這里不展開。

5、驗證服務

5.1 shell 本地 http驗證

  • 配置中心http api例子
# 設置配置
curl -X POST 'http://127.0.0.1:8848/nacos/v1/cs/configs' -d 'dataId=t001&group=foo&content=contentTest'

# 查詢
curl 'http://127.0.0.1:8848/nacos/v1/cs/configs?dataId=t001&group=foo'

  • 注冊中心http api例子
# 注冊服務實例
curl -X POST 'http://127.0.0.1:8848/nacos/v1/ns/instance' -d 'port=8000&healthy=true&ip=192.168.1.11&weight=1.0&serviceName=nacos.test.001&groupName=foo&metadata={"app":"foo","id":"001"}'

curl -X POST 'http://127.0.0.1:8848/nacos/v1/ns/instance' -d 'port=8000&healthy=true&ip=192.168.1.12&weight=1.0&serviceName=nacos.test.001&groupName=foo&metadata={"app":"foo","id":"002"}'

 curl -X POST 'http://127.0.0.1:8848/nacos/v1/ns/instance' -d 'port=8000&healthy=true&ip=192.168.1.13&weight=1.0&serviceName=nacos.test.001&groupName=foo&metadata={"app":"foo","id":"003"}'

# 查詢服務實例

curl "http://127.0.0.1:8848/nacos/v1/ns/instance/list?&namespaceId=public&serviceName=foo%40%40nacos.test.001&groupName=foo&clusters=&healthyOnly=true"

5.2 nacos客戶端應用驗證

如果客戶端應用與nacos服務不在同一臺機器,需要開放8848,9848端口給內網應用使用。(注意8848,9848端口不能暴露到外網上)

在客戶端應用中配置好nacos服務后,即可運行驗證。

5.3 使用r-nacos控制臺

開放10848 端口后,可以通過對應ip+端口在瀏覽器訪問控制臺。

新控制臺有完備的用戶管理、登陸校驗、權限控制,支持對外網暴露。

系統(tǒng)會默認創(chuàng)建一個名為admin的用戶,密碼為admin。

6、總結

r-nacos是一個用rust實現的nacos服務,我們用它平替java nacos以降低服務占用內存,提升服務的穩(wěn)定性。

systemd提供便捷的服務托管功能,可以方便的將一個命令運行的應用,轉化成一個可方便控制的后臺服務。

使用systemd部署r-nacos,是一個比較和合適的、可用于生產環(huán)境的部署方案。

到此這篇關于使用systemd部署r-nacos的文章就介紹到這了,更多相關systemd部署r-nacos內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 在win10上使用mingw64編譯器配置Rust開發(fā)環(huán)境和idea 配置Rust 插件

    在win10上使用mingw64編譯器配置Rust開發(fā)環(huán)境和idea 配置Rust 插件

    在win10上配置 Rust 開發(fā)環(huán)境(使用 mingw64編譯器)和 idea 配置 Rust 插件的相關知識,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2023-03-03
  • Rust實現AES加解密詳解

    Rust實現AES加解密詳解

    這篇文章主要為大家詳細介紹了如何利用Rust語言實現AES加解密算法,文中的示例代碼講解詳細,具有一定的借鑒價值,需要的可以了解一下
    2022-10-10
  • Rust常用特型之Drop特型

    Rust常用特型之Drop特型

    本文主要介紹了Rust常用特型之Drop特型,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2024-03-03
  • Rust?實現?async/await的詳細代碼

    Rust?實現?async/await的詳細代碼

    異步編程在 Rust 中的地位非常高,很多 crate 尤其是多IO操作的都使用了 async/await,這篇文章主要介紹了Rust?如何實現?async/await,需要的朋友可以參考下
    2022-09-09
  • Rust中的Copy和Clone對比分析

    Rust中的Copy和Clone對比分析

    這篇文章主要介紹了Rust中的Copy和Clone及區(qū)別對比分析,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-04-04
  • Rust字符串字面值的一些經驗總結

    Rust字符串字面值的一些經驗總結

    字符串有兩種表現形式,一種是基本類型,表示字符串的切片,以&str表示,另一種是可變的string類型,下面這篇文章主要給大家介紹了關于Rust字符串字面值的相關資料,需要的朋友可以參考下
    2022-04-04
  • rust 如何使用文件鎖防止應用多開

    rust 如何使用文件鎖防止應用多開

    這篇文章主要介紹了rust 如何使用文件鎖防止應用多開,本文給出了進程只能單開的方法,結合實例代碼給大家介紹的非常詳細,感興趣的朋友跟隨小編一起看看吧
    2024-04-04
  • 一文學會Rust語言如何操作JSON

    一文學會Rust語言如何操作JSON

    JSON在Web開發(fā)中被廣泛應用于數據交換,本文主要介紹了Rust語言操作JSON,包括序列化、反序列化、JSON創(chuàng)建等多個方面,具有一定的參考價值,感興趣的可以了解一下
    2024-03-03
  • rust多個mod文件引用和文件夾mod使用注意事項小結

    rust多個mod文件引用和文件夾mod使用注意事項小結

    在 Rust 項目中,可以使用 mod 關鍵字將一個文件夾或一個 rs 文件作為一個模塊引入到當前文件中,本文給大家介紹rust多個mod文件引用和文件夾mod使用注意事項小結,感興趣的朋友跟隨小編一起看看吧
    2024-03-03
  • Rust 中的 Packages 與 Crates模塊化構建的基礎及開發(fā)流程

    Rust 中的 Packages 與 Crates模塊化構建的基礎及開發(fā)流程

    Rust中的Crate是編譯器處理的最小代碼單元,可以是二進制或庫,每個Crate由一個CrateRoot文件(通常是src/main.rs或src/lib.rs)定義,本文給大家介紹Rust 中的 Packages 與 Crates模塊化構建的基礎及開發(fā)流程,感興趣的朋友一起看看吧
    2025-02-02

最新評論