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 在 异步
74KB
1.5K SLoC
Knien
为异步Rust提供RabbitMQ类型接口。
此crate定义了多种类型的通道,用于以不同方式与RabbitMQ接口
DirectChannel
:用于在直接队列上发布消息的通道。TopicChannel
:用于在主题交换机上发布消息的通道RpcChannel
:用于在直接队列上发布消息的通道,允许接收回复。它还支持在直接队列上发布初始消息,并设置双向通信通道。
RpcChannel
当前需要tokio
运行时来生成接收消息的任务,因此位于rpc
功能标志之后。
每个通道都公开了实例化Publisher
和Consumer
的方法,每个都是通用的,通用于它们发布的或消费的bus。这些bus定义了它们发送的负载类型,因此Publisher
和Consumer
可以处理序列化和反序列化负载,并确保它们发布的和产生的负载是正确类型的。
有几个类型的类型总线,每个都与一个通道相关联
DirectBus
:定义了PublishPayload
类型、直接队列名称的格式化程序以及该格式化程序的参数类型的bus。DirectBus
用于简单地在直接队列上发布消息,而不期望任何响应。DirectBus
与DirectChannel
相关联。TopicBus
:定义了PublishPayload
类型、主题和交换机的bus。TopicBus
用于发布和从主题交换机消费消息。TopicBus
与TopicChannel
相关联。RpcBus
:类似于DirectBus
,但进一步定义了ReplyPayload
类型,并允许在发送的消息上等待回复。《RpcBus》与RpcChannel
相关联RpcCommBus
:一种定义了InitialPayload
、BackPayload
和ForthPayload
的总线,支持发送单个初始消息后,设置可以进行多次消息通信的来回通信流程。《RpcCommBus》与RpcChannel
相关联
依赖关系
~8–20MB
~322K SLoC