ruststream-pulsar¶
ruststream-pulsar is the Apache Pulsar broker for the
RustStream messaging framework. It covers the four
subscription types, multi-topic and pattern subscriptions, the consumer-side dead-letter policy,
seeking over the retained log, and ships an in-process test broker under its testing feature.
Handlers, routers, codecs, and middleware come from the framework; this crate supplies the
transport over the pulsar client maintained by StreamNative, and
nothing broker-specific leaks back into the framework.
Building the crate requires protoc on the path, since the client compiles the Pulsar protocol
definitions.
ruststream = { version = "0.6", features = ["macros", "json"] }
ruststream-pulsar = "0.6"
serde = { version = "1", features = ["derive"] }
#[ruststream::app]
fn app() -> impl App {
RustStream::new(AppInfo::new("orders", "0.1.0")).with_broker(
PulsarBroker::new("pulsar://localhost:6650"),
|b| {
b.include(handle);
},
)
}
Where to go next¶
- Pulsar guide - subscription descriptors, seeking, acknowledgement, publishing, and testing.
- RustStream docs - the framework itself: subscribers, routing, codecs, middleware, the CLI.
- API reference - the crate's rustdoc on docs.rs.
How this site relates to the RustStream docs¶
This site documents the Pulsar broker only. Framework concepts that apply to every broker (writing subscribers, publishing, routing, codecs, middleware, observability, the CLI) live in the RustStream documentation. The pages here cover what is specific to Pulsar and link back to the framework docs where the two meet.