Service Fabric - 主复制队列使用阈值
ServiceFabric - Primary Replication Queue Usage throeshold
我在 ServiceFabric 群集上遇到此警告消息:
"Primary Replication Queue Usage of 95% has reached/exceeded the threshold 80%. First Replication Operation = 1818843, Last Replication Operation = 1826640"
当分区处于这种情况时,其他服务对它的每次调用都会卡在等待方法 return。
我尝试搜索此消息的含义,但没有成功。
这是什么意思,可能是什么原因造成的?
为了实现高可用性,Service Fabric 有状态服务将其状态复制到配置的目标副本。每次 primary 收到一个写操作,它在本地应用它,并将它发送到 secondary 副本;它会等到一定数量的副本确认操作后才 returns 返回给用户。
一旦该操作被分区中的所有副本确认,该操作就会从队列中删除。
如果辅助队列的 ACK 速度很慢,则主队列会填满,然后写入操作就会停止。读取操作不受影响。在您的情况下,复制队列具有序列号为 1818843 到 1826640 的操作。
队列中出现如此多操作的原因可能是:主节点或辅助节点上的磁盘持久化速度慢(由于磁盘速度慢、IO 过多等)或来自一个或多个辅助节点的消息延迟不允许主要从队列中删除操作。
我在 ServiceFabric 群集上遇到此警告消息:
"Primary Replication Queue Usage of 95% has reached/exceeded the threshold 80%. First Replication Operation = 1818843, Last Replication Operation = 1826640"
当分区处于这种情况时,其他服务对它的每次调用都会卡在等待方法 return。
我尝试搜索此消息的含义,但没有成功。 这是什么意思,可能是什么原因造成的?
为了实现高可用性,Service Fabric 有状态服务将其状态复制到配置的目标副本。每次 primary 收到一个写操作,它在本地应用它,并将它发送到 secondary 副本;它会等到一定数量的副本确认操作后才 returns 返回给用户。
一旦该操作被分区中的所有副本确认,该操作就会从队列中删除。
如果辅助队列的 ACK 速度很慢,则主队列会填满,然后写入操作就会停止。读取操作不受影响。在您的情况下,复制队列具有序列号为 1818843 到 1826640 的操作。
队列中出现如此多操作的原因可能是:主节点或辅助节点上的磁盘持久化速度慢(由于磁盘速度慢、IO 过多等)或来自一个或多个辅助节点的消息延迟不允许主要从队列中删除操作。