Rivet – 使用 Rust 和 Nomad 進(jìn)行開(kāi)源游戲服務(wù)器管理
我已經(jīng)在一個(gè)名為Rivet 的項(xiàng)目上工作了幾年,最近才開(kāi)源。
我們?cè)跇?gòu)建 Rivet 時(shí)嘗試了很多有趣的工具,但其中大部分都沒(méi)有保留下來(lái)。我想我會(huì)分享一些你們可能會(huì)感興趣的筆記:
Bolt是我們用于開(kāi)發(fā)和管理超級(jí)可定制鉚釘簇的工具鏈。這是超級(jí)過(guò)度設(shè)計(jì)的,但我喜歡它。
您可以將整個(gè)存儲(chǔ)庫(kù)用作庫(kù)。我們的 EE 存儲(chǔ)庫(kù)僅使用 OSS 存儲(chǔ)庫(kù)作為子模塊,并將服務(wù)作為庫(kù)導(dǎo)入。
我們利用 Traefik 作為邊緣代理來(lái)快速處理 UDP、TCP+TLS 和 WSS 流量。
Apache Traffic Server 因其大文件緩存能力而被低估。它用于邊緣 Docker 拉通緩存,以減少冷啟動(dòng)時(shí)間并將其用作 CDN 緩存,從而降低我們的 S3 成本。
ClickHouse 處理分析和游戲服務(wù)器日志。事情就這么簡(jiǎn)單;沒(méi)有進(jìn)一步的評(píng)論。
使用 Apache TS 提供 Docker 映像比運(yùn)行 Docker 拉通緩存更容易、更經(jīng)濟(jì)。
事實(shí)證明,星云作為我們的覆蓋網(wǎng)絡(luò)是可靠且易于管理的。
對(duì)于復(fù)雜的、原子的、內(nèi)存中的操作,我們使用 Redis Lua 腳本。
顯然,我們是尼克斯的粉絲。
我們維護(hù)一個(gè)基本的SBOM。
我們的許可是在 Apache 2.0(OSI 批準(zhǔn))下進(jìn)行的,我們鼓勵(lì)其他人運(yùn)行和試驗(yàn) Rivet。我們經(jīng)?;卮鹋c此相關(guān)的問(wèn)題:許可為什么選擇 OSS
ws-tool 0.9.0 發(fā)布
ws-tool是一個(gè)高性能的websocket庫(kù),提供同步和異步IO接口。
這是0.9.0版本的更新
更多性能提升,每秒讀寫(xiě)消息數(shù)在EchoServer示例中最高,基準(zhǔn)數(shù)據(jù)見(jiàn)下文
支持本機(jī) TLS
一些 API 改進(jìn)
一些錯(cuò)誤修復(fù)
benchmark
300 bytes payload size, 100000000 messages
cargo lt -- -p 300 --count 100000 -t 1
server | count | Duration(ms) | Message/sec |
---|---|---|---|
uWebSocket | 100000000 | 16798 | 5953089.65 |
tungstenite | 100000000 | 19905 | 5023863.35 |
bench_server(無(wú)緩沖區(qū)) | 100000000 | 42395 | 2358768.72 |
bench_server(8k) | 100000000 | 16541 | 6045583.70 |
bench_async_server(無(wú)緩沖區(qū)) | 100000000 | 45774 | 2184646.31 |
bench_async_server(8k) | 100000000 | 16360 | 6112469.44 |
1M bytes payload size, 100000 messages
cargo lt -- -p 1048576 --count 100 -t 1
server | count | Duration(ms) | Message/sec |
---|---|---|---|
WebSocket | 100000 | 34900 | 2865.33 |
tungstenite | 100000 | 38745 | 2580.98 |
bench_server(無(wú)緩沖區(qū)) | 100000 | 29854 | 3349.63 |
bench_server(8k) | 100000 | 28887 | 3461.76 |
bench_async_server(無(wú)緩沖區(qū)) | 100000 | 29280 | 3415.30 |
bench_async_server(8k) | 100000 | 29384 | 3403.21 |
適用于 Rust 0.13 的 XRPL Ledger SDK 發(fā)布
適用于 Rust 的 XRPL SDK 是一個(gè)社區(qū)驅(qū)動(dòng)的項(xiàng)目,提供用于連接 XRP Ledger 的易于使用的工具。它包括 HTTP 和 WebSocket 客戶(hù)端、基礎(chǔ)包和命令行工具。
-
服務(wù)器
+關(guān)注
關(guān)注
12文章
8958瀏覽量
85084 -
開(kāi)源
+關(guān)注
關(guān)注
3文章
3215瀏覽量
42329 -
Docker
+關(guān)注
關(guān)注
0文章
453瀏覽量
11792 -
Rust
+關(guān)注
關(guān)注
1文章
228瀏覽量
6542
原文標(biāo)題:【Rust日?qǐng)?bào)】2023-08-20 Rivet – 使用 Rust 和 Nomad 進(jìn)行開(kāi)源游戲服務(wù)器管理
文章出處:【微信號(hào):Rust語(yǔ)言中文社區(qū),微信公眾號(hào):Rust語(yǔ)言中文社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論