【Rust日报】用于AWS Lambda的超小型、极简化的自定义运行时

科技   2024-12-07 20:23   日本  

Rust生态最活跃的游戏引擎 - Bevy

Bevy 是一个使用 Rust 语言构建的简单数据驱动的游戏引擎。永久免费和开源。Bevy 目前仍处于早期开发阶段,功能不完整,文档较少,API 每三个月左右会有一次重大变更。使用 Bevy 需要对这种环境持开放态度。

Bevy 的设计目标是功能完备、简单易学、数据导向、模块化、高效快速、高生产力。它支持 2D 和 3D 特性,采用实体组件系统架构。

该仓库提供了快速入门指南、API 文档、官方示例等学习资源,还有一个活跃的社区,包括 Discord、Reddit 等交流渠道。欢迎为 Bevy 做出贡献,无论是修复小问题、提交新功能,还是参与架构讨论。

https://github.com/bevyengine/bevy.git

modbus-relay - 高性能Modbus TCP到RTU中继程序

modbus-relay是一个用Rust语言编写的高性能Modbus TCP到RTU的中继程序,名为ModbusRelay。该项目起源于作者在开发家庭通风系统控制软件时的个人需求,由于树莓派3B的内存只有1GB,直接在上面开发不太实际,因此需要一个轻量级的桥接器在树莓派上运行,用于连接Modbus TCP和RTU,同时允许在更强大的硬件上开发和部署主控制软件。

该程序的主要特点包括:

  • 使用异步I/O(Tokio)实现最大性能
  • 零拷贝操作以高效利用内存
  • 智能RS485处理,可配置RTS控制
  • 内置HTTP监控API
  • 全面的错误处理和连接管理

技术栈包括Rust(使用Tokio异步运行时)、Axum作为HTTP服务器,以及各种Rust crate用于配置和日志记录。

https://github.com/aljen/modbus-relay

用于AWS Lambda的超小型、极简化的自定义运行时

这是一个用于AWS Lambda的超小型、极简化的自定义运行时,提供了C和Rust的API绑定。它的特点包括:

  1. 没有抽象膨胀,HTTP头和JSON载荷以原始char*缓冲区的形式传递。
  2. 除了标准C库外没有其他依赖,可选择需要的功能。
  3. 动态链接到glibc,以最小化二进制大小。
  4. 无需分配器依赖,可自带arena或gc分配器,或使用malloc。
  5. 提供Rust语言绑定,无需std、main和tokio。
  6. 极小的部署包大小(~5kb压缩)。
  7. 非常快的冷启动时间(4-5毫秒)。
  8. 最小化计算资源浪费,减缓全球变暖。

它是C语言AWS Lambda运行时的替代品,也是Rust语言AWS Lambda运行时的替代品。

https://github.com/refacktor-aws/aws-lambda-libc-runtime

--

From 日报小组 Mike

社区学习交流平台订阅:

  • Rustcc论坛: 支持rss
  • 微信公众号:Rust语言中文社区


Rust语言中文社区
Rust官方及社区最新信息搜集、文章推送,教程学习,技巧分享,社区交流。信息来源是整个全球Rust社区。
 最新文章