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构建方式)

浙公网安备 33010602011771号