消息队列中常见的降级策略一般有三种。
配置 Broker 的 CPU 或内存的使用率额度,当使用率到达配额时,通过拒绝生产或消费流量的形式来保证服务的部分正常。
配置磁盘保护机制,可以保护消费不会有异常。当真实的磁盘使用率使用达到一定的程度时,就禁止流量写入。因为在消息队列中,磁盘较容易被打满,打满的话如果还允许写入服务程序就会有异常,从而影响消费。
判断异常自动重启 Broker,通过自动判断服务的运行情况,决定是否重启 Broker。比如当发现频繁发生 Full GC 的时候,就自动重启自身服务,以达到回收资源的目的。这种方式用得比较少,因为比较危险,可能会导致集群中的所有 Broker 频繁重启。一般需要依赖第三方组件的多维度判断,以降低误重启的风险。
网友评论