Use two channels, one for publishing and another for consuming messages. This avoids terminating the consuming channel when a consumer tries to publish a message, but publishing is blocked due to backpressure. With two different channels, only the publishing channel should be blocked, not the consuming one.