[ https://issues.apache.org/jira/browse/ROCKETMQ-253?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16119380#comment-16119380 ]
ASF GitHub Bot commented on ROCKETMQ-253: ----------------------------------------- Github user shroman commented on a diff in the pull request: https://github.com/apache/incubator-rocketmq/pull/140#discussion_r132086276 --- Diff: broker/src/main/java/org/apache/rocketmq/broker/out/BrokerOuterAPI.java --- @@ -148,12 +148,13 @@ private RegisterBrokerResult registerBroker( requestHeader.setBrokerName(brokerName); requestHeader.setClusterName(clusterName); requestHeader.setHaServerAddr(haServerAddr); + requestHeader.setCompressed(true); RemotingCommand request = RemotingCommand.createRequestCommand(RequestCode.REGISTER_BROKER, requestHeader); RegisterBrokerBody requestBody = new RegisterBrokerBody(); requestBody.setTopicConfigSerializeWrapper(topicConfigWrapper); requestBody.setFilterServerList(filterServerList); - request.setBody(requestBody.encode()); + request.setBody(requestBody.encode(true)); --- End diff -- Great idea! How about setting a threshold for compression being triggered, because if the data you compress is small, it overhead is higher than the benefits you get from the compression? > Compress RegisterBrokerBody > --------------------------- > > Key: ROCKETMQ-253 > URL: https://issues.apache.org/jira/browse/ROCKETMQ-253 > Project: Apache RocketMQ > Issue Type: Improvement > Components: rocketmq-broker, rocketmq-commons, rocketmq-namesrv > Reporter: Zhanhui Li > Assignee: yukon > > RocketMQ Brokers periodically register itself against namesrv to maintain its > liveness. > In case a broker has many topics, a 10 thousand or more, two major > problematic issues show up: > 1) Current serialization of RegisterBrokerBody would create a large String > object, which stresses GC a lot, especially when G1 is used. > 2) Transmission this bulk of data takes up significant portion of bandwidth. -- This message was sent by Atlassian JIRA (v6.4.14#64029)