ruststream-gcp-pubsub¶
ruststream-gcp-pubsub 在 Google Cloud Pub/Sub 上运行
RustStream 服务,底层是官方的
google-cloud-pubsub 客户端。
处理器读取的消息流,就是一条流式拉取订阅。确认是原生的,而且逐条进行。在精确一次订阅上,ack 采用带确认的形式。排序键就是框架的分区键。
ruststream = { version = "0.7", features = ["macros", "json"] }
ruststream-gcp-pubsub = "0.7"
serde = { version = "1", features = ["derive"] }
该 crate 发布在 crates.io 上,跟随 ruststream 的 0.7 线。它的 MSRV 是 1.95,由框架核心决定。
你在 app 函数里组装一个 Pub/Sub 服务:
crates/ruststream-gcp-pubsub/examples/pubsub_service.rs
#[ruststream::app]
fn app() -> impl App {
RustStream::new(AppInfo::new("orders", "0.1.0")).with_broker(
PubSubBroker::new("my-project").emulator("localhost:8085"),
|b| {
b.include(handle);
},
)
}
这个 crate 给你什么¶
一个订阅描述符
带上了订阅的全部设置:流控、确认截止时间每次延长多久、未满的批还要等多久,以及一条投递最长可以
多久不被结算。在挂载点写下的重试上限和死信主题,会变成这条订阅自己的死信策略,因此服务不会再发
布任何用于重新投递的副本。发布
只多出一项逐条消息的设置,也就是排序键,它可以由调用处、分区键请求头或挂载点给出。
启用 testing
特性后,测试运行的就是 main 所用的同一个应用:PubSubBroker 在进程内连接,不需要服务器。
接下来读什么¶
- crate 参考 - 订阅、发布、prelude、
AsyncAPI文档、测试与运维。 - RustStream 文档 - 安装、教程和 Broker 列表。
- 框架参考 - 编写订阅者、路由、编解码器、中间件和 CLI。
本站点与 RustStream 文档的关系¶
本站点是 Pub/Sub Broker 的入口页。Broker 自身提供的一切都在 docs.rs 上,框架则由它自己的 crate 和 RustStream 站点介绍。