ruststream-sqs-sns¶
ruststream-sqs-sns 是 RustStream 消息框架的
Amazon SQS Broker,并支持 SNS 扇出发布。订阅者用长轮询读自己的队列,也可以通过 ReceiveMessage
取得原生的批次。重试走消息的可见性超时,进死信队列则由队列的重新驱动策略决定。向 FIFO 队列发布
时,你可以逐条指定消息组,也可以为整个发布位置固定一个,并从收到的消息里读回它。
传输建立在官方的 aws-sdk-sqs 客户端之上。sns feature 通过
aws-sdk-sns 加上向 SNS 主题发布的能力;它默认关闭,只用队列的服务
不会链接 SNS 客户端。testing feature 给 Broker 一个进程内模式,测试无需服务器就能运行生产应用;
asyncapi feature 则把 sqs 绑定写进框架生成的文档。
这个 crate 跟随已发布的 ruststream 0.7 线:
ruststream = { version = "0.7", features = ["macros", "json"] }
ruststream-sqs-sns = "0.7"
serde = { version = "1", features = ["derive"] }
crates/ruststream-sqs-sns/examples/sqs_service.rs
#[app]
fn service() -> impl App {
RustStream::new(AppInfo::new("orders", "0.1.0")).with_broker(
SqsBroker::new()
.endpoint("http://localhost:4566")
.test_credentials()
.region("us-east-1"),
|b| {
b.include(handle);
},
)
}
接下来看什么¶
crate 自己的文档就是它在 docs.rs 上的 rustdoc,开头正是本站从前那份指南:队列自己能做什么、一次 投递如何结算、用尽次数的消息去哪里,以及一次发布可以带上什么。
- 订阅 - 队列描述符、结算、尝试次数上限、批次,以及一条投递带着什么。
- 发布 - 两种发布策略、回复、SNS 扇出和 FIFO 消息组。
- RustStream 文档 - 框架本身:订阅者、路由、编解码器、中间件和 CLI。
- API 参考 - crate 在 docs.rs 上的 rustdoc。
本站与 RustStream 文档的关系¶
本站是入口页。SQS 和 SNS 做什么,写在 crate 的 rustdoc 里,在进程内测试生产应用的方法和运维一面(发布者、 权限、服务的各项上限)也在那里。适用于每个 Broker 的框架概念,写在 RustStream 文档里。