1 If readQueueNums is bigger than writeQueueNums, some consumer in clustering mode could never receive messages.
2 If writeQueueNums is bigger than readQueueNums, some messages could never be consumed.
And borker needs to keep max(readQueueNums, writeQueueNums) in each situation.
So different read and write queue numbers really necessary? Does anyone have a production use case for this?
If not, we should consider to combine the two parameters to one.