Rivet – 使用 Rust 和 Nomad 進行開源游戲服務器管理
我已經(jīng)在一個名為Rivet 的項目上工作了幾年,最近才開源。
我們在構(gòu)建 Rivet 時嘗試了很多有趣的工具,但其中大部分都沒有保留下來。我想我會分享一些你們可能會感興趣的筆記:
Bolt是我們用于開發(fā)和管理超級可定制鉚釘簇的工具鏈。這是超級過度設(shè)計的,但我喜歡它。
您可以將整個存儲庫用作庫。我們的 EE 存儲庫僅使用 OSS 存儲庫作為子模塊,并將服務作為庫導入。
我們利用 Traefik 作為邊緣代理來快速處理 UDP、TCP+TLS 和 WSS 流量。
Apache Traffic Server 因其大文件緩存能力而被低估。它用于邊緣 Docker 拉通緩存,以減少冷啟動時間并將其用作 CDN 緩存,從而降低我們的 S3 成本。
ClickHouse 處理分析和游戲服務器日志。事情就這么簡單;沒有進一步的評論。
使用 Apache TS 提供 Docker 映像比運行 Docker 拉通緩存更容易、更經(jīng)濟。
事實證明,星云作為我們的覆蓋網(wǎng)絡是可靠且易于管理的。
對于復雜的、原子的、內(nèi)存中的操作,我們使用 Redis Lua 腳本。
顯然,我們是尼克斯的粉絲。
我們維護一個基本的SBOM。
我們的許可是在 Apache 2.0(OSI 批準)下進行的,我們鼓勵其他人運行和試驗 Rivet。我們經(jīng)?;卮鹋c此相關(guān)的問題:許可為什么選擇 OSS
ws-tool 0.9.0 發(fā)布
ws-tool是一個高性能的websocket庫,提供同步和異步IO接口。
這是0.9.0版本的更新
更多性能提升,每秒讀寫消息數(shù)在EchoServer示例中最高,基準數(shù)據(jù)見下文
支持本機 TLS
一些 API 改進
一些錯誤修復
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(無緩沖區(qū)) | 100000000 | 42395 | 2358768.72 |
| bench_server(8k) | 100000000 | 16541 | 6045583.70 |
| bench_async_server(無緩沖區(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(無緩沖區(qū)) | 100000 | 29854 | 3349.63 |
| bench_server(8k) | 100000 | 28887 | 3461.76 |
| bench_async_server(無緩沖區(qū)) | 100000 | 29280 | 3415.30 |
| bench_async_server(8k) | 100000 | 29384 | 3403.21 |
適用于 Rust 0.13 的 XRPL Ledger SDK 發(fā)布
適用于 Rust 的 XRPL SDK 是一個社區(qū)驅(qū)動的項目,提供用于連接 XRP Ledger 的易于使用的工具。它包括 HTTP 和 WebSocket 客戶端、基礎(chǔ)包和命令行工具。
-
服務器
+關(guān)注
關(guān)注
13文章
10111瀏覽量
90979 -
開源
+關(guān)注
關(guān)注
3文章
4049瀏覽量
45603 -
Docker
+關(guān)注
關(guān)注
0文章
526瀏覽量
14047 -
Rust
+關(guān)注
關(guān)注
1文章
240瀏覽量
7489
原文標題:【Rust日報】2023-08-20 Rivet – 使用 Rust 和 Nomad 進行開源游戲服務器管理
文章出處:【微信號:Rust語言中文社區(qū),微信公眾號:Rust語言中文社區(qū)】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
【飛騰派4G版免費試用】4. Teeworlds 淺談游戲服
上海游樹誠聘 游戲服務器端開發(fā)工程師
【Intel Edison試用體驗】17.用Edison做網(wǎng)頁游戲服務器~[小項目]
基于網(wǎng)格k340或k520構(gòu)建本地游戲服務器什么許可模式最好?
如何選擇適合個人企業(yè)的大帶寬游戲服務器
面向分布式游戲服務器的消息公平處理方法
基于EPOLL機制的LINUX網(wǎng)絡游戲服務器實現(xiàn)方法
關(guān)于游戲服務器的架構(gòu)演進歷程
基于PHP的socket游戲服務器設(shè)計與實現(xiàn)

使用Rust和Nomad進行開源游戲服務器管理
評論