范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

Rocketmq5。0客户端如何发现Namserver地址源码分析

  源码版本rocketmq:release-5.0.0  生产者一般使用DefaultMQProducer producer = new DefaultMQProducer(PRODUCER_GROUP); producer.setNamesrvAddr(DEFAULT_NAMESRVADDR); producer.start();  如何设置NameServer地址
  以下方式由高到底  通过java启动参数设置,比如通过设置环境变量  System.setProperty(MixAll.NAMESRV_ADDR_PROPERTY, "127.0.0.1:9876");  通过设置服务器环境变量(Linux)  -n 127.0.0.1:9876  通过代码设置,比如  producer.setNamesrvAddr(DEFAULT_NAMESRVADDR);  通过HTTP服务来设置,当上面都没有设置,会向一个HTTP地址发送请求来获取NameServer地址,默认的URL是http://jmenv.tbsite.net:8080/rocketmq/nsaddr (淘宝的测试地址), 我们可以通过设置系统参数  rocketmq.namesrv.domain  来覆盖 jmenv.tbsite.net  的值, 通过设置rocketmq.namesrv.domain.subgroup  参数来覆盖nsaddr  的值
  可以看到4通过设置  HTTP服务  获取NameServer  的地址是最麻烦的,相当于自己还要出一个获取获取NameServer  的接口,但是他是唯一支持动态增加NameServer  ,不用重启其他组件的方式源码分析
  我们现在通过源码方式分析上面的几种设置方式
  这里的ClientConfig实际就是DefaultMQProducer,也就是我们发送消息的第一步,创建一个DefaultMQProducerSystem.setProperty(MixAll.NAMESRV_ADDR_PROPERTY, "10.10.10.1:9999"); DefaultMQProducer producer = new DefaultMQProducer(PRODUCER_GROUP);
  通过DefaultMQProducer的构造方法我们可以看到namesrvAddr的默认值是通过NameServerAddressUtils.getNameServerAddresses()
  注意这里的DefaultMQProducer是继承了DefaultMQProducer
  我们看看NameServerAddressUtils.getNameServerAddresses()方法的具体实现
  可以看到首先通过获取环境变量,其次是获取系统环境变量
  这里就解释了我们的1、2优先级。 看到了1、2的方法也很容易证实3的设置方式了,默认值是1、2,如果我们设置了就是3的设置方式 可以看到这里的的  namesrvAddr  地址的获取主要是通过clientConfig  获取的,而clientConfig  的构造就是通过DefaultMQProducer  构造的(前面分析的),而我们就可以通过在启动Product  的时候设置 比如DefaultMQProducer producer = new DefaultMQProducer(PRODUCER_GROUP); producer.setNamesrvAddr("name-server1-ip:9876;name-server2-ip:9876");
  可以看到clientConfig就是在这里通过clientConfig构造的
  但是这里的clientConfig就是DefaultMQProducer,我们可以通过debug的方式去确认
  这里可以看到就验证了我们说的通过代码设置。
  我们继续向下看 发现在product启动这里会去通过clientConfig获取namesrvAddr,如果我们之前的代码里面没有设置namesrvAddr的地址,那这里就会为空,然后就通过fetchNameServerAddr去获取namesrvAddr的地址
  进到方法fetchNameServerAddr里面我们会发现是通过TopAddressing类的fetchNSAddr方法
  我们看看
  这里核心就是这个方法return fetchNSAddr(true, 3000);
  我们进去看看
  可以看到这里通过http去获取namesrvAddr地址,url的获取是通过this.wsAddr;获取的,所以我们重点看看wsAddr如何初始化的
  可以看到是通过MixAll.getWSAddr()的方法获取的,我们看看getWSAddr方法
  阿里云ons clinetbus直接设置的是NAMESRV_ADDR吗
  从上面我们可以确认最好的方式是通过  http  方式获取namesrvAddr  地址,那么为什么我们使用阿里云的ons-clinet  是这种方式呢Properties properties = new Properties();         properties.put(PropertyKeyConst.AccessKey, aliMQAccessKey);         properties.put(PropertyKeyConst.SecretKey, aliMQSecretKey);         properties.put(PropertyKeyConst.NAMESRV_ADDR, domainEventNameSrv);         return ONSFactory.createProducer(properties);
  咋看好像是直接设置了 NAMESRV_ADDR  地址,其实我们随便看看源码发现他也是设置的是wsAddr  地址
  总结
  这里我们通过源码的方式验证了  rocketmq   product获取namesrvAddr  的几种方式,其中最推荐的还是通过HTTP服务来获取,因为可以自由扩容

以朱红色为主色调的南公园,福州古风拍照好去处福州南公园已经改造了很多年了,不知道有多少人还没有去过呢?南公园是一座历史悠久的公园,最早以前是清初靖南王耿继茂的别墅花园,整个公园内以朱红色为主色调,斗拱彩画,亭台轩榭,皇家园林语言的力量释放AI智能写作的潜力随着科技的不断进步,人工智能(AI)技术已经在各个领域中得到了广泛应用。其中,AI智能写作技术正逐渐成为了营销广告出版和其他相关领域中不可或缺的重要工具。然而,如何释放AI智能写作2022年中国电动自行车市场竞争加剧拥有核心制造技术的规模企业优势明显来源消费日报电动自行车作为最具中国特色的原创产品,自1995年问世以来已逐渐成为我国广大人民群众最喜爱的中短途交通工具之一。近年来,我国电动自行车产业,无论是生产规模还是技术水平都研究揭示主带冰质天体表壤物理特性近期,中国科学院紫金山天文台季江徽课题组基于空间和地基多波段红外观测数据及热物理模型,揭示了主带冰质天体的表壤物理特性,对探索主带天体的形成与演化过程具有重要的科学意义。相关研究成金字塔有多神奇,动植物千年不腐?200人跌死?未解之谜有多少金字塔是古埃及文明的杰出代表,其规模宏大结构精密历史悠久,被誉为人类历史上最伟大的建筑之一。金字塔的神秘和奇特之处不仅仅在于它们的外观,更在于内部的构造和保存完好的动植物尸体。下面被潮汐锁定的紫色行星,一半正常一半冰封,上面环境复杂人类总是孜孜不倦的探索地外星球,除了太阳系之外,也将目光放在了偌大的银河系当中。此前,科学家发现了一颗紫色行星,它被潮汐锁定,一半是正常状态,另一半则是处于冰封当中,表面的环境尤为周五地球将迎来太阳风的袭击,让我们来了解一下什么是太阳风!太阳风在本周五抵达地球这个周五,地球将迎来一股太阳风的袭击。太阳风是指从太阳表面喷发出的带电粒子和等离子体组成的高速流,它们会通过太阳系中的空间传输线路,最终到达地球。当太阳风与地华大HC32F072移植FreeRTOS超详细教程网上关于华大系列的RTOS教程比较少,特分享此移植过程背景原因STM32太贵了,而且CubeMx太强了,移植难度0。做一个国产单片机的移植,后续其它单片机移植也可参考类似过程。环境联芸主控某江232颗粒,国产SSD这波操作神了!2T499元有希望了最近网上有种说法,就是这次SSD降价,是因为三星,海力士,美光带头降的,只是行业的一种规律。与国产颗粒没有半毛关系,不要再给国产颗粒脸上贴金了。我认为这种说法是不对的,这次降价,就2023还会有春季发布会吗?15寸MacBookAir何时推出?苹果在今天正式宣布WWDC2023全球开发者大会的举办时间,将从6月6日开始为期五天的活动,而过往在34月期间,Apple都会有一场春季发布会活动,却至今仍没有消息,那么AppleRTX4060Ti和RTX4060台式机显卡或于今年5月份推出来自外媒的报导。RTX4060Ti和RTX4060台式机显卡或于今年5月份推出。RTX4060Ti和RTX4060台式机显卡预计均将基于AD106显示核心设计。RTX4060Ti预
费城也有三巨头!三人轰89分!怪不得哈登欣赏他!他能助哈登争冠北京时间2月26日,76人客场迎战森林狼,虽然森林狼在昨天刚刚爆冷击败灰熊,但考虑到今天是背靠背作战在体力方面多少有些不支,反倒是已经休整了8天之久的76人以逸待劳,在上半场便奠定如何评价邱淑贞的颜值?个人认为真的很好看前两天也有跟大家聊到纯欲风,感觉自从这种风格出现后就真的是很火,虽然说最初流行不在我们这里,但是在我认知中她当年真的就是纯欲风满满邱淑贞。即便是放在现在也是让人望尘莫及的那种颜值存张杰恐是冬奥会的最大赢家,夺冠背景音乐全是我的歌冬奥会已经落下帷幕,我翻阅冬奥会的精彩瞬间,突然发现一个背景音乐的问题冬奥会所有夺冠夺银的短视频的背景音乐,全部都是张杰演唱的雪龙吟。尤其是在新生代小将苏翊鸣和谷爱凌的有关视频之中CBA三消息广东提常规赛目标,辽宁四将伤病季后赛或在澳门举办还有三四天的时间,第三阶段的CBA联赛就将正式开打了。由于这个阶段将会产生各队的最终排名,并决定哪些球队能够进入季后赛,第三阶段的比赛会更加激烈和精彩。目前CBA联赛中有三大最新消哈登76人首秀引发热议国外球迷也嗨了76人133比102击败森林狼,不仅中国球迷都感到十分的惊讶,对于外国球迷来说,也引起了一波热议,现在也已经上了热搜,以下是76人VS森林狼赛后的Reddit热议(美国的球迷论坛)三名主力受伤,辽篮1分险胜广厦,第三阶段辽宁男篮恐要完犊子三名主力受伤,辽篮1分险胜广厦,第三阶段辽宁男篮恐要完犊子CBA第三阶段还剩最后3天时间就要打响,这几天各支球队要么走在去赛区的路上,要么在找对手切磋,进行热身赛内部教学赛,对休赛美国游泳比赛出现跨性别大战,最终女跨男赢了男跨女天下之大无奇不有,如今跨性别运动员已经不在稀奇,而至今最令体育迷熟悉的,便是东京奥运会上,中国女子举重运动员李雯雯的新西兰对手哈伯德,不过哈伯德不是因为太强而成为李雯雯的对手,是因威少让你看看巅峰时期的我!省得你们天天骂1617赛季是威少的巅峰时期,杜兰特走了独自带队的威少,场均砍下31。6分10。7篮板10。4助攻。生涯场均22。9分7。4篮板8。5助攻。总得分22899分,总篮板7405个,总詹姆斯只要我还打球,就会穿湖人球衣湖人102105不敌快船,勒布朗詹姆斯18投6中得到21分11个篮板6次失误。赛后詹姆斯谈到管理层的决定说我不负责拍板,他们问我意见,我不会拍板。我(对管理层打造争冠球队的能力)非黄圣依直播间卖包包治百病啊!杨子急忙推走一会儿封号了01hr近日,在黄圣依杨子的直播间里,夫妇俩你一唱我一和地卖货卖得比农村赶大集还热闹,其中上到一款包包的时候,黄圣依一脸自信悠然的说上包就是来治病的!包治百病嘛,黄圣依自然不会出过王祖蓝一个藏匿在喜剧世界的,文艺青年出道23年,王祖蓝秉承着人生不设限的态度在娱乐圈里徐徐前行,身上的职业标签也一直在增加,从最开始的演员,再到歌手主持人作曲家等等。虽干一行像一行,王祖蓝以出众实力和敬业态度获得了斐