当前位置: 首页 > news >正文

做电子商城网站烟台专业做网站公司哪家好

做电子商城网站,烟台专业做网站公司哪家好,asp网站转php,网站建设协议一百互联背景 需要通过flink同时向测试和线上的RocketMQ中写入数据 现象 在程序中分别创建了两个MqProducer,设置了不同的nameServerAddr,分别调用不同的producer向不同环境发消息,返回发送成功,但是在线上MQ中却查不到数据&#xff0…

背景

需要通过flink同时向测试和线上的RocketMQ中写入数据

现象

在程序中分别创建了两个MqProducer,设置了不同的nameServerAddr,分别调用不同的producer向不同环境发消息,返回发送成功,但是在线上MQ中却查不到数据,测试环境是有的。
代码如下:

private DefaultMQProducer testEnvProducer;
private DefaultMQProducer prodEnvProducer;
@Override
public void open(Configuration parameters) throws Exception {if (testEnvProducer == null) {testEnvProducer = new DefaultMQProducer("_test");testEnvProducer.setNamesrvAddr(SINK_ADDRESS);testEnvProducer.start();}if (prodEnvProducer == null) {prodEnvProducer = new DefaultMQProducer("_prod");prodEnvProducer.setNamesrvAddr(SOURCE_ADDRESS);prodEnvProducer.start();}
}

在这里插入图片描述

解决过程及方案

由于不了解flink的运行机制,尝试将发送MQ的逻辑拆分为两个sink,无济于事,在中间遇到了创建DefaultMQProducer时设置的是同一个group,理论上是不同的环境不会有问题,prodProducer在start时却报该group的实例已经创建,当时就有点怀疑是不是两个producer是同一个。后又通过在消息体中增加profile明确区分开线上和测试的数据,发现应该发送到线上的数据却发送到了测试环境,此时断定是两个producer为同一个实例。
查看RocketMQ Client源码发现了factory这个参数
image.png
在这里插入图片描述

那问题大概率就是这个工厂导致的,工厂内做了缓存,让我们来看一看
image.png
内部通过构建了ClientId,再通过clinetId去缓存中查询是否有对应实例,有则直接返回,此时我们肯定要看一看构造clientId是否有可定义的参数
image.png
得知是通过ip及instanceName等参数构造的,instanceName又是系统变量,那我们需要做的就是在创建producer实例之前先修改该系统变量,修改后问题解决

public void open(Configuration parameters) throws Exception {if (testEnvProducer == null) {//需要覆盖该环境变量,因为mq client有内部缓存,使用了该环境变量作为获取client instance的条件,详情见 org.apache.rocketmq.client.ClientConfig#buildMQClientIdSystem.setProperty("rocketmq.client.name", "SEND_TO_TEST_CLIENT");testEnvProducer = new DefaultMQProducer(JOB_TAG + "_test");testEnvProducer.setNamesrvAddr(SINK_ADDRESS);testEnvProducer.start();}if (prodEnvProducer == null) {//需要覆盖该环境变量,因为mq client有内部缓存,使用了该环境变量作为获取client instance的条件,详情见 org.apache.rocketmq.client.ClientConfig#buildMQClientIdSystem.setProperty("rocketmq.client.name", "SEND_TO_PROD_CLIENT");prodEnvProducer = new DefaultMQProducer(JOB_TAG + "_prod");prodEnvProducer.setNamesrvAddr(SOURCE_ADDRESS);prodEnvProducer.start();}
}

大家在实际开发中如果有这种场景的话也要注意哦!
在这里插入图片描述

http://www.yayakq.cn/news/800363/

相关文章:

  • 有模块传奇网站怎么做邯郸市都有哪些网络推广公司
  • 报纸做垂直门户网站做文案需要用到的网站
  • 做网站建设公司排名微博营销的技巧有哪些
  • 房产中介网站建设管理seo引擎优化是什
  • 用什么网站可以做链接百度网站上传
  • 专业的网站制作设计宁波哪里做网站
  • 网站建设后如何修改客户端建站
  • 美橙网站太原建站模板厂家
  • 广州网站建设有限公司网页游戏如何制作
  • 教育网站建设开发北京的互联网公司有哪些
  • 做网站闵行网站主页制作教程
  • 现代网站建设江苏省建设工程招标网站
  • 清晰化网站宝塔面板建设二级域名网站访问不了
  • 大兴网站建设价格网页广告怎么关闭
  • 微信嵌入网站开发模板网站制作多少钱
  • 重庆本地生活网宁波关键词排名优化平台
  • 免费建站资源wordpress如何上线
  • 网站开发网页设计游戏设计泉州seo技术
  • 广州新建站哈尔滨网站建设网络优化
  • 凤城网站建设网站空间的建设
  • 网站备案图标怎么添加google网址直接打开
  • 网站建设招标范文哪个网站能找到做夜场的女孩
  • 户外保险网站tp5企业网站开发百度云
  • 做网站要收订金吗浙江网站建设方案
  • 神马网站可以做兼职广州站扩建
  • c 做网站遂宁建设网站
  • 江西城乡住房建设网站网站订单模板
  • 东莞最好的网站建设价格网站改版 英文
  • 设计网站页面要注意什么百度网站快速收录
  • 对网站建设展望怎么创建网站免费的