{"id":3007,"date":"2021-07-29T22:18:25","date_gmt":"2021-07-29T14:18:25","guid":{"rendered":"\/?p=3007"},"modified":"2021-08-01T22:18:50","modified_gmt":"2021-08-01T14:18:50","slug":"7-3-%e7%b1%bb%e8%bf%87%e6%bb%a4%e4%b8%8b%e7%9a%84%e6%b6%88%e6%81%af%e6%8b%89%e5%8f%96","status":"publish","type":"post","link":"http:\/\/xinblog.ltd\/?p=3007","title":{"rendered":"7.3 \u7c7b\u8fc7\u6ee4\u4e0b\u7684\u6d88\u606f\u62c9\u53d6"},"content":{"rendered":"<p>RMQ\u7684\u6d88\u606f\u8fc7\u6ee4\u53d1\u751f\u5728\u6d88\u606f\u6d88\u8d39\u7684\u65f6\u5019,PullMessageService\u9ed8\u8ba4\u4eceBroker\u62c9\u53d6\u6d88\u606f,\u6267\u884c\u76f8\u540c\u7684\u8fc7\u6ee4\u903b\u8f91,FilterServer\u8fc7\u6ee4\u6a21\u5f0f\u4e0b,\u9700\u8981\u8f6c\u6362\u5730\u5740<\/p>\n<table>\n<tr>\n<td>\n  if (PullSysFlag.<em>hasClassFilterFlag<\/em>(sysFlagInner)) {<\/p>\n<p>brokerAddr = computPullFromWhichFilterServer(mq.getTopic(), brokerAddr);<\/p>\n<p>}<\/td>\n<\/tr>\n<\/table>\n<p>\u5728\u5176\u4e2d\u83b7\u53d6\u5230\u5730\u5740<\/p>\n<table>\n<tr>\n<td>\n  private String computPullFromWhichFilterServer(final String topic, final String brokerAddr)<\/p>\n<p>throws MQClientException {<\/p>\n<p>\/\/\u83b7\u53d6\u5230\u6240\u6709\u7684TopicRoute<\/p>\n<p>ConcurrentMap&lt;String, TopicRouteData&gt; topicRouteTable = this.mQClientFactory.getTopicRouteTable();<\/p>\n<p>if (topicRouteTable != null) {<\/p>\n<p>\/\/\u83b7\u53d6\u5230TopicRouteData<\/p>\n<p>TopicRouteData topicRouteData = topicRouteTable.get(topic);<\/p>\n<p>\/\/\u6839\u636eAddr\u83b7\u53d6\u5230list<\/p>\n<p>List&lt;String&gt; list = topicRouteData.getFilterServerTable().get(brokerAddr);<\/p>\n<p>if (list != null &amp;&amp; !list.isEmpty()) {<\/p>\n<p>return list.get(randomNum() % list.size());<\/p>\n<p>}<\/p>\n<p>}<\/td>\n<\/tr>\n<\/table>\n","protected":false},"excerpt":{"rendered":"<p>RMQ\u7684\u6d88\u606f\u8fc7\u6ee4\u53d1\u751f\u5728\u6d88\u606f\u6d88\u8d39 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[19],"tags":[],"_links":{"self":[{"href":"http:\/\/xinblog.ltd\/index.php?rest_route=\/wp\/v2\/posts\/3007"}],"collection":[{"href":"http:\/\/xinblog.ltd\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/xinblog.ltd\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/xinblog.ltd\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/xinblog.ltd\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=3007"}],"version-history":[{"count":0,"href":"http:\/\/xinblog.ltd\/index.php?rest_route=\/wp\/v2\/posts\/3007\/revisions"}],"wp:attachment":[{"href":"http:\/\/xinblog.ltd\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=3007"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/xinblog.ltd\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=3007"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/xinblog.ltd\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=3007"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}