RabbitMQ挂掉导致整个服务集群不可用问题

昨天12月17号遇到的问题:

localdebug环境  因为 rabbitMQ down掉了(非集群) 导致整个环境的服务在eureka的状态都是down

只有少数几个是up状态,所有访问服务都是超时 但是单独调用服务又是可用的

 

和架构师一起分析 发现了日志中mq的报错 然后分析eureka的healthcheck机制,发现原来是通过rabbitmq做的healthcheck

因为:这些服务的父pom中引入了rabbitmq的依赖,所有服务就都引用了。

eureka在依赖mq的时候 会默认通过mq的方式来做healthcheck

当mq不可用 就会造成所有服务不可用 这里可以通过配置 management.health.rabbit.enabled: false 来禁用这个机制

 

然后后续重启mq的时候又发现了问题 就是进程一直kill不掉 kill之后又会自动重启
后来使用service rabbit.server stop 彻底停掉了服务,然后才重启成功(docker构建方式)

posted @ 2019-12-19 14:12  NeoDou  阅读(1386)  评论(0)    收藏  举报