Yes, I agree with you, both approach do the same thing.
If we design in a pull-for-exception way. more work should be done.

I think the dledger-based rocketmq can introduce more broker status about 
current broker role which can be a good indicator for client to refresh 
metadata. if producer receive not-leader response code, refresh metadata is 
needed. It should not send the message to the broker until the metadata 
refresh. Nameserver-pushed way is async to the producer send code path. I think 
this can be avoided.


On 2022/03/12 09:37:45 刘振东 wrote:
> In fact,client-pull-for-exception is an alternative way. 
> 
> The push machanism is simple and effective. 
> And, If the nameserver only push the topic names and only one nameserver node 
> will do that, the load is reduced much.
> 
> Currently,I believe it is not easy to handle all the exceptions in client for 
> metadata refreshment.
> 
> For example, if you want to refresh by topic,then you need to handle all the 
> apis which contain topics,it introduces  too much code work. If you refresh 
> by all,it will cause too much network load,especially in unstable network 
> environment.
> 
> List all the exceptions is also not an easy thing. It needs to be designed 
> more carefully.
> 
> Anyway,performance test is needed. If push-based mechanism invoked too much 
> load,an carefully designed client-pull-for-exception will be considered again.
> 
> 发自我的 iPhone
> 
> > 在 2022年3月12日,下午4:17,王金龙 <[email protected]> 写道:
> > 
> > I think the design is a good point to shorten the unavailable time of 
> > rocketmq when leader change.
> > 
> > I agree with most of the design point in the doc.
> > 
> > But the same as others. I think name server push-based topic route will 
> > introduce a lot of load for nameserver. 
> > 
> > How about change to client pull route info when receive exception or 
> > receive leader change-like response code.
> > 
> > 
> >> On 2022/03/02 11:42:14 xijiu wrote:
> >> Hi, RocketMQ Community, 
> >> 
> >> As discussed in the previous email, we launched a new RIP to optimize 
> >> topic routing mechanism. Now the shepherds @dongeforever and @yukon are 
> >> willing to support the RIP, so I think it is time to start an email thread 
> >> to enter the voting process.
> >> 
> >> 
> >> The vote will be open for at least 72 hours or until a necessary number of 
> >> votes are reached.
> >> 
> >> Please vote accordingly:
> >> 
> >> [ ] +1 approve
> >> [ ] +0 no opinion
> >> [ ] -1 disapprove with the reason
> >> 
> >> 
> >> Best Regards!
> >> xijiu
> >> 
> >> links: 
> >> https://shimo.im/docs/vVAXVrDNnoSrMBqm/
> 

Reply via email to