经过排查,发现单机的情况下,所有的告警、消费机、控制台都在同一个示例中,共用一块内存。一个updateProject,内存更新了之后所有的都会生效。
为啥集群情况下就不可以呢。告警的示例和控制台示例是独立示例。即使控制台更新了配置之后,内存也更新了。告警的示例中,发告警的时候,从内寸中取出来,如果没有才去访问数据库,但是告警示例中有Project的配置,只不过是旧的而已。所以导致配置不更新。
后来跟踪源码
原来cmdb这一块没有生效。
这个地方要开启,会去创建对应的TaskBuilder,然后去更新cmdbInfo,但是切记
2条答案
按热度按时间9o685dep1#
每个示例都从本机的内存中去读,需要自己去完善一下这块的同步机制
hmmo2u0o2#
老哥有没有自己实现的 贴出来让膜拜一下