EventHorizon.RocketMQ.Remoting 0.3.0
Highlights
- Consolidates classic PULL and POP receive engines behind
IRemotingPushConsumer. Queue assignment and receive mode are now modeled separately: client assignment uses PULL, while Broker assignment follows each server-returned PULL or POP assignment. - Adds
RemotingPushQueueAssignmentModeand theQueueAssignmentModeoption.Clientremains the default; applications keep the same Push handler when Broker assignment selects POP. - Reorganizes the Consumer implementation around explicit coordination, assignment, receive, processing, settlement, offset, and lifecycle ownership.
- Fixes Broker-assigned retry coordination, current-Broker resolution for POP settlement, orderly queue unlock during shutdown, LitePull shutdown positions, and Push receiver shutdown ownership.
- Expands live coverage for PULL/POP workflows, multiple Brokers, multiple NameServers, failover, cross-process coordination, retries, blocked queues, and persistence.
- Documents the fixed Remoting POP invisibility deadline: unlike gRPC Push, classic Remoting Push does not automatically renew an active POP receipt.
Breaking changes
- Removes the standalone public
IRemotingPopConsumerAPI. Configure Broker queue assignment onIRemotingPushConsumer; the Broker selects PULL or POP for each assignment. - Removes the low-level public
IRemotingPullConsumerAPI. UseIRemotingLitePullConsumerfor application-driven polling orIRemotingPushConsumerfor callback-driven consumption. - Replaces the previous Push assignment option with
RemotingPushQueueAssignmentModeandRemotingPushConsumerOptions.QueueAssignmentMode. - Moves LitePull types to the
EventHorizon.RocketMQ.Remoting.Consumer.LitePullnamespace.
NuGet: https://www.nuget.org/packages/EventHorizon.RocketMQ.Remoting/0.3.0