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

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

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

1、 前言

r-nacos是一個(gè)用rust實(shí)現(xiàn)的nacos服務(wù)。相較于java nacos來說,是一個(gè)提供相同功能,啟動(dòng)更快、占用系統(tǒng)資源更?。ǔ跏純?nèi)存小于10M)、性能更高、運(yùn)行更穩(wěn)定的服務(wù)。

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

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

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

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

  • 服務(wù)應(yīng)用放到 /opt/rnacos/ 中
  • r-nacos配置使用 /etc/rnacos/env.conf
  • 數(shù)據(jù)放到 /var/rnacos/io/ 中
  • systemd 服務(wù)配置放到 /lib/systemd/system/rnacos.service

3、部署

  • 下載服務(wù)應(yīng)用
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服務(wù)配置
mkdir -p /etc/rnacos/
cat >/etc/rnacos/env.conf <<EOF
# rnacos 指定配置文件有兩種方式:
# 1. 默認(rèn)文件(放置于運(yùn)行目錄下,文件名為“.env”,自動(dòng)讀?。?
# 2. 指定文件(放置于任意目錄下, 通過 命令行參數(shù)“-e 文件路徑”形式指定, 如“./rnacos -e /etc/rnacos/conf/default.cnf”)
# 更多說明請(qǐng)參照  https://r-nacos.github.io/r-nacos/deplay_env.html

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

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

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

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

#http工作線程數(shù),默認(rèn)值:cpu核數(shù) 
#RNACOS_HTTP_WORKERS=8


#配置中心的本地?cái)?shù)據(jù)庫(kù)sled文件夾, 會(huì)在系統(tǒng)運(yùn)行時(shí)自動(dòng)創(chuàng)建 ,默認(rèn)值:nacos_db
RNACOS_CONFIG_DB_DIR=nacos_db

#節(jié)點(diǎn)id,默認(rèn)值:1
RNACOS_RAFT_NODE_ID=1

#節(jié)點(diǎn)地址Ip:GrpcPort,單節(jié)點(diǎn)運(yùn)行時(shí)每次啟動(dòng)都會(huì)生效;多節(jié)點(diǎn)集群部署時(shí),只取加入集群時(shí)配置的值,默認(rèn)值:127.0.0.1:GrpcPort 
RNACOS_RAFT_NODE_ADDR=127.0.0.1:9848

#是否當(dāng)做主節(jié)點(diǎn)初始化,(只在每一次啟動(dòng)時(shí)生效)節(jié)點(diǎn)1時(shí)默認(rèn)為true,節(jié)點(diǎn)非1時(shí)為false 
#RNACOS_RAFT_AUTO_INIT=true


#是否當(dāng)做節(jié)點(diǎn)加入對(duì)應(yīng)的主節(jié)點(diǎn),LeaderIp:GrpcPort;只在第一次啟動(dòng)時(shí)生效;默認(rèn)值:空 
#RNACOS_RAFT_JOIN_ADDR=127.0.0.1:9848

#日志等級(jí):debug,info,warn,error;所有http,grpc請(qǐng)求都會(huì)打info日志,如果不關(guān)注,可以設(shè)置為error 減少日志量,默認(rèn)值:info
RUST_LOG=info
EOF
  • 初始化r-nacos數(shù)據(jù)目錄
mkdir -p /var/rnacos/io/

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

[Service]
#使用指定用戶運(yùn)行
#User=rnacos
#Group=rnacos
ExecStart=/opt/rnacos/rnacos -e /etc/rnacos/env.conf
# 進(jìn)程異常關(guān)閉時(shí)會(huì)自動(dòng)重啟
Restart=always
WorkingDirectory=/var/rnacos/io

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

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

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

4、管理服務(wù)

  • 使用systemctl管理服務(wù)

常用的命令

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

# 啟動(dòng)服務(wù)
systemctl start rnacos

# 關(guān)閉服務(wù)
systemctl stop rnacos

# 啟動(dòng)服務(wù),開機(jī)自動(dòng)啟動(dòng)
systemctl enable rnacos

# 禁用服務(wù),開機(jī)不啟動(dòng)
systemctl disable rnacos

  • 同時(shí)可以結(jié)合使用journalctl 管理查看服務(wù)日志
# 查看日志
journalctl -u rnacos
# 查看最新日志
journalctl -u rnacos  -f

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

5、驗(yàn)證服務(wù)

5.1 shell 本地 http驗(yàn)證

  • 配置中心http api例子
# 設(shè)置配置
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'

  • 注冊(cè)中心http api例子
# 注冊(cè)服務(wù)實(shí)例
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"}'

# 查詢服務(wù)實(shí)例

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客戶端應(yīng)用驗(yàn)證

如果客戶端應(yīng)用與nacos服務(wù)不在同一臺(tái)機(jī)器,需要開放8848,9848端口給內(nèi)網(wǎng)應(yīng)用使用。(注意8848,9848端口不能暴露到外網(wǎng)上)

在客戶端應(yīng)用中配置好nacos服務(wù)后,即可運(yùn)行驗(yàn)證。

5.3 使用r-nacos控制臺(tái)

開放10848 端口后,可以通過對(duì)應(yīng)ip+端口在瀏覽器訪問控制臺(tái)。

新控制臺(tái)有完備的用戶管理、登陸校驗(yàn)、權(quán)限控制,支持對(duì)外網(wǎng)暴露。

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

6、總結(jié)

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

systemd提供便捷的服務(wù)托管功能,可以方便的將一個(gè)命令運(yùn)行的應(yīng)用,轉(zhuǎn)化成一個(gè)可方便控制的后臺(tái)服務(wù)。

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

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

相關(guān)文章

  • Rust?Postgres實(shí)例代碼

    Rust?Postgres實(shí)例代碼

    Rust Postgres是一個(gè)純Rust實(shí)現(xiàn)的PostgreSQL客戶端庫(kù),本文主要介紹了Rust?Postgres實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-05-05
  • 一文掌握Rust編程中的生命周期

    一文掌握Rust編程中的生命周期

    在Rust語(yǔ)言中, 每一個(gè)引用都有其生命周期, 通俗講就是每個(gè)引用在程序執(zhí)行的過程中都有其自身的作用域, 一旦離開其作用域, 其生命周期也宣告結(jié)束, 值不再有效,這篇文章主要介紹了Rust編程中的生命周期,需要的朋友可以參考下
    2023-11-11
  • C++的替代:微軟如何使用rust?

    C++的替代:微軟如何使用rust?

    這篇文章主要介紹了微軟如何使用rust的,幫助大家了解c++和rust這兩門編程語(yǔ)言的聯(lián)系與區(qū)別,感興趣的朋友可以了解下
    2020-09-09
  • rust引用和借用的使用小結(jié)

    rust引用和借用的使用小結(jié)

    在rust中,引用的語(yǔ)法非常簡(jiǎn)單。通過&來取引用,通過*來解引用,這篇文章主要介紹了rust引用和借用的使用小結(jié),總的來說,借用規(guī)則,同一時(shí)刻,你只能擁有要么一個(gè)可變引用,?要么任意多個(gè)不可變引用,具體內(nèi)容詳情跟隨小編一起看看吧
    2023-01-01
  • Rust 中的文件操作示例詳解

    Rust 中的文件操作示例詳解

    Rust 中的路徑操作是跨平臺(tái)的,std::path 模塊提供的了兩個(gè)用于描述路徑的類型,本文給大家介紹Rust 中的文件操作示例詳解,感興趣的朋友一起看看吧
    2021-11-11
  • Rust安裝與環(huán)境配置超詳細(xì)教程(零基礎(chǔ))

    Rust安裝與環(huán)境配置超詳細(xì)教程(零基礎(chǔ))

    Rust是一門系統(tǒng)編程語(yǔ)言,專注于安全,尤其是并發(fā)安全,支持函數(shù)式和命令式以及泛型等編程范式的多范式語(yǔ)言,這篇文章主要介紹了Rust安裝與環(huán)境配置超詳細(xì)教程的相關(guān)資料,需要的朋友可以參考下
    2026-02-02
  • Rust?中的時(shí)間處理利器chrono示例詳解

    Rust?中的時(shí)間處理利器chrono示例詳解

    chrono是一個(gè)功能強(qiáng)大且易于使用的日期時(shí)間處理庫(kù),支持多種日期時(shí)間類型、時(shí)區(qū)操作、格式化和解析,這篇文章主要介紹了Rust中的時(shí)間處理利器chrono,需要的朋友可以參考下
    2025-06-06
  • 深入解析Rust中的智能指針

    深入解析Rust中的智能指針

    本文介紹了Rust中的智能指針,Box、Rc、Arc、RefCell、Mutex、RwLock對(duì)應(yīng)的功能、場(chǎng)景與常用方法,并提供了組合使用方式,以及Cow、Pin的使用方式,感興趣的朋友跟隨小編一起看看吧
    2025-10-10
  • 詳解Rust 生命周期符號(hào)使用的方法和規(guī)律

    詳解Rust 生命周期符號(hào)使用的方法和規(guī)律

    生命周期是 Rust 中處理引用和所有權(quán)的關(guān)鍵概念,通過正確使用生命周期符號(hào)和遵循相關(guān)規(guī)律,你可以編寫出安全、高效的 Rust 代碼,這篇文章主要介紹了Rust 生命周期符號(hào)使用的方法和規(guī)律,需要的朋友可以參考下
    2024-03-03
  • Rust如何使用線程同時(shí)運(yùn)行代碼

    Rust如何使用線程同時(shí)運(yùn)行代碼

    Rust使用1:1線程模型,通過std::thread::spawn創(chuàng)建線程,返回JoinHandle用于等待線程完成,閉包默認(rèn)借用外部變量,使用move關(guān)鍵字轉(zhuǎn)移所有權(quán),多線程共享數(shù)據(jù)時(shí)需使用并發(fā)原語(yǔ),如Mutex、RwLock、Arc等,以避免競(jìng)態(tài)條件
    2025-02-02

最新評(píng)論

桂阳县| 延长县| 昭通市| 奈曼旗| 黎平县| 金寨县| 静安区| 新干县| 商南县| 太仆寺旗| 苏尼特右旗| 桂东县| 阿坝| 北流市| 黄骅市| 花莲市| 长治市| 南宫市| 班戈县| 任丘市| 两当县| 吴忠市| 镇江市| 响水县| 贵南县| 普格县| 临武县| 新蔡县| 北安市| 涟水县| 龙江县| 沧源| 江山市| 凤庆县| 夹江县| 阿荣旗| 津市市| 江西省| 北川| 广西| 奎屯市|