2016-09-30 5 views
1

Я столкнулся это сообщение Предупреждение о ServiceFabric кластера:ServiceFabric - Первичная репликация очереди Использование throeshold

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

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

Я пробовал искать это сообщение, но без успеха. Что это значит и что может вызвать это?

+0

Что происходит в вашем коде, что может привести к этой ситуации? вы вкладываете большую нагрузку в государственного менеджера? Вы используете надежные коллекции? нам нужна дополнительная информация ... –

+0

@RotemVaron Что вы подразумеваете под «большой нагрузкой», частотой записи или размером штата? Данные поступают из разных EventHub со скоростью 1 сообщение каждые 3 с от 100 отправителей, поэтому я должен сохранять данные (только последнее сообщение) в среднем 33 раза в секунду. Сервис имеет 10 разделов, поэтому средняя скорость для каждого раздела составляет около 3,3 записи/с. Если это то, что вы имеете в виду, я могу догадаться о пределе ввода-вывода. – Lodeli

+0

ok, tnx для получения дополнительной информации. Я имел в виду частоту. Интересно, если вы запустите свою систему и значительно сократите количество записей, вы все равно получите эту ошибку? возможно, используйте только одного отправителя ... –

ответ

1

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

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

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

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

+0

Спасибо, Оана, наконец, объяснение этому сообщению! – Lodeli

 Смежные вопросы

  • Нет связанных вопросов^_^