ServiceFabric - первичное использование очереди репликации

Я сталкиваюсь с этим Предупреждающим сообщением в кластере ServiceFabric:

"Первичное использование очереди репликации 95% достигло / превысило пороговое значение 80%. Первая операция репликации = 1818843, Последняя операция репликации = 1826640"

Когда раздел находится в этом состоянии, каждый вызов из других служб застревает в ожидании возврата метода.

Я пытался найти значение этого сообщения, но безуспешно. Что это значит и что может быть причиной?

1 ответ

Решение

Для достижения высокой доступности сервисы с сохранением состояния Service Fabric реплицируют свое состояние на настроенную целевую реплику. Каждый раз, когда первичный получает операцию записи, он применяет ее локально, а также отправляет ее на вторичные реплики; он ожидает, пока кворум реплик не подтвердит операцию, прежде чем он вернется обратно к пользователю.

Как только операция подтверждена всеми репликами в разделе, операция удаляется из очереди.

Если вторичные серверы медленны для ACK, первичная очередь заполняется, а затем операции записи останавливаются. Операции чтения не затрагиваются. В вашем случае очередь репликации имеет операции с порядковым номером от 1818843 до 1826640.

Причинами такого количества операций в очередях могут быть: медленное сохранение на диске на первичном или вторичном сервере (из-за медленных дисков, слишком большого количества операций ввода-вывода и т. Д.) Или задержки сообщений от одного или нескольких вторичных серверов, которые не позволяют первичному серверу удалить операции из очереди.

Другие вопросы по тегам