You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@rocketmq.apache.org by GitBox <gi...@apache.org> on 2019/10/18 08:47:01 UTC

[GitHub] [rocketmq] MountainOne commented on issue #1510: Some question about "vip channel"?

MountainOne commented on issue #1510: Some question about "vip channel"?
URL: https://github.com/apache/rocketmq/issues/1510#issuecomment-543606739
 
 
   `brokerVIPChannel` will return 2 possible broker's addresses. One is the origin address which has been passed in, another is an address with a different port. For example:
   `brokerVIPChannel(true, "127.0.0.1:9876") -> "127.0.0.1:9874"
    brokerVIPChannel(false, "127.0.0.1:9876") -> "127.0.0.1:9876"
   `
   The origin one is the normal channel and the different one is the VIP channel.
   BrokerController will initialize 2 NettyRemotingServer instance when a broker starts with the same configuration, whick means these 2 server instances listening 2 different port has the same function. In other words, the VIP channel has the same function with the normal channel.
   So why broker needs 2 server instance?
   The answer is to isolate the read and write operation. Among the API of the message , the most important one is sending message which requires high RTT . It will block netty's IO thread when it occurs message accumulation and impact to write link . The request for consuming message will full of the IO thread pool which will result in the write operation are blocked . In this case , we could send message to VIP channel to guarantee the RTT of sending messages .

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
users@infra.apache.org


With regards,
Apache Git Services