< 返回版块

baymax-xhl 发表于 2023-08-20 22:08

Tags:Rust,日报,其他和内容相关的

Rivet – 使用 Rust 和 Nomad 进行开源游戏服务器管理

我已经在一个名为Rivet 的项目上工作了几年,最近才开源:

链接到 GitHub

我们在构建 Rivet 时尝试了很多有趣的工具,但其中大部分都没有保留下来。我想我会分享一些你们可能会感兴趣的笔记:

  • Bolt是我们用于开发和管理超级可定制铆钉簇的工具链。这是超级过度设计的,但我喜欢它。
  • 您可以将整个存储库用作库。我们的 EE 存储库仅使用 OSS 存储库作为子模块,并将服务作为库导入。
  • 我们利用 Traefik 作为边缘代理来快速处理 UDP、TCP+TLS 和 WSS 流量。
  • Apache Traffic Server 因其大文件缓存能力而被低估。它用于边缘 Docker 拉通缓存,以减少冷启动时间并将其用作 CDN 缓存,从而降低我们的 S3 成本。
  • ClickHouse 处理分析和游戏服务器日志。事情就这么简单;没有进一步的评论。
  • 使用 Apache TS 提供 Docker 映像比运行 Docker 拉通缓存更容易、更经济。
  • 事实证明,星云作为我们的覆盖网络是可靠且易于管理的。
  • 对于复杂的、原子的、内存中的操作,我们使用 Redis Lua 脚本。
  • 显然,我们是尼克斯的粉丝。
  • 我们维护一个基本的SBOM
  • 我们的许可是在 Apache 2.0(OSI 批准)下进行的,我们鼓励其他人运行和试验 Rivet。我们经常回答与此相关的问题:许可 为什么选择 OSS

ws-tool 0.9.0 发布

img

ws-tool是一个高性能的websocket库,提供同步和异步IO接口。

这是0.9.0版本的更新

  • 更多性能提升,每秒读写消息数在EchoServer示例中最高,基准数据见下文
  • 支持本机 TLS
  • 一些 API 改进
  • 一些错误修复

benchmark

300 bytes payload size, 100000000 messages

cargo lt -- -p 300 --count 100000 -t 1 <url>
server count Duration(ms) Message/sec
uWebSocket 100000000 16798 5953089.65
tungstenite 100000000 19905 5023863.35
bench_server(无缓冲区) 100000000 42395 2358768.72
bench_server(8k) 100000000 16541 6045583.70
bench_async_server(无缓冲区) 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 <url>
server count Duration(ms) Message/sec
WebSocket 100000 34900 2865.33
tungstenite 100000 38745 2580.98
bench_server(无缓冲区) 100000 29854 3349.63
bench_server(8k) 100000 28887 3461.76
bench_async_server(无缓冲区) 100000 29280 3415.30
bench_async_server(8k) 100000 29384 3403.21

适用于 Rust 0.13 的 XRPL Ledger SDK 发布

适用于 Rust 的 XRPL SDK 是一个社区驱动的项目,提供用于连接 XRP Ledger 的易于使用的工具。它包括 HTTP 和 WebSocket 客户端、基础包和命令行工具。

https://github.com/gmosx/xrpl-sdk-rust

From 日报小组 时光

社区学习交流平台订阅:

评论区

写评论

还没有评论

1 共 0 条评论, 1 页