#rabbitmq #queue #amqp #broker #message-sent #name

knien

异步Rust的RabbitMQ类型接口

10次发布

0.0.10 2023年7月4日
0.0.9 2023年6月6日
0.0.8 2023年5月22日
0.0.7 2023年4月25日
0.0.4 2023年3月21日

#418异步

MIT/Apache

74KB
1.5K SLoC

Knien

crates.io Documentation

为异步Rust提供RabbitMQ类型接口。

此crate定义了多种类型的通道,用于以不同方式与RabbitMQ接口

  • DirectChannel:用于在直接队列上发布消息的通道。
  • TopicChannel:用于在主题交换机上发布消息的通道
  • RpcChannel:用于在直接队列上发布消息的通道,允许接收回复。它还支持在直接队列上发布初始消息,并设置双向通信通道。

RpcChannel当前需要tokio运行时来生成接收消息的任务,因此位于rpc功能标志之后。

每个通道都公开了实例化PublisherConsumer的方法,每个都是通用的,通用于它们发布的或消费的bus。这些bus定义了它们发送的负载类型,因此PublisherConsumer可以处理序列化和反序列化负载,并确保它们发布的和产生的负载是正确类型的。

有几个类型的类型总线,每个都与一个通道相关联

  • DirectBus:定义了PublishPayload类型、直接队列名称的格式化程序以及该格式化程序的参数类型的bus。 DirectBus用于简单地在直接队列上发布消息,而不期望任何响应。DirectBusDirectChannel相关联。
  • TopicBus:定义了PublishPayload类型、主题和交换机的bus。TopicBus用于发布和从主题交换机消费消息。TopicBusTopicChannel相关联。
  • RpcBus:类似于 DirectBus,但进一步定义了 ReplyPayload 类型,并允许在发送的消息上等待回复。《RpcBus》与 RpcChannel 相关联
  • RpcCommBus:一种定义了 InitialPayloadBackPayloadForthPayload 的总线,支持发送单个初始消息后,设置可以进行多次消息通信的来回通信流程。《RpcCommBus》与 RpcChannel 相关联

依赖关系

~8–20MB
~322K SLoC