cat
cat copied to clipboard
多集群情况下出现修改项目的联系方式,配置不生效。单机就没有问题
经过排查,发现单机的情况下,所有的告警、消费机、控制台都在同一个实例中,共用一块内存。一个updateProject,内存更新了之后所有的都会生效。
为啥集群情况下就不可以呢。告警的实例和控制台实例是独立实例。即使控制台更新了配置之后,内存也更新了。告警的实例中,发告警的时候,从内寸中取出来,如果没有才去访问数据库,但是告警实例中有Project的配置,只不过是旧的而已。所以导致配置不更新。
后来跟踪源码
原来cmdb这一块没有生效。
这个地方要开启,会去创建对应的TaskBuilder,然后去更新cmdbInfo,但是切记

每个实例都从本机的内存中去读,需要自己去完善一下这块的同步机制
老哥有没有自己实现的 贴出来让膜拜一下