我在ServiceFabric群集上面对此警告消息:
"主复制队列95%的使用率已达到/超过阈值80%。第一次复制操作= 1818843,上次复制操作= 1826640"
当分区处于这种情况时,每次从其他服务调用它都会等待方法返回。
我尝试过搜索此消息,但没有成功。 它是什么意思,可能是什么原因造成的?
答案 0 :(得分:4)
要实现高可用性,Service Fabric状态服务会将其状态复制到配置的目标副本。每次主要接收写操作时,它都在本地应用它,并将其发送到辅助副本;它会一直等到法定数量的副本在操作返回给用户之前确认操作。
只要分区中的所有副本确认操作,就会从队列中删除操作。
如果辅助设备的ACK很慢,则主要队列会填满,然后写入操作会停止。读操作不受影响。在您的情况下,复制队列具有序号为1818843到1826640的操作。
在队列中进行如此多操作的原因可能是:在主服务器或辅助服务器上缓慢持续到磁盘(由于磁盘速度慢,IO太多等)或者一个或多个辅助服务器的消息延迟不允许主服务器从队列中删除操作。