Время отработки отказа в югабайтах

Кто-нибудь может ответить? каково время аварийного переключения, если узел выходит из строя, я видел, что это занимает от 2 до 3 секунд, но можем ли мы сделать это быстрее? если да сколько. Как правило, мы не можем принять это обращение в очередь приложений, поскольку оно настолько важно.


person sai    schedule 18.01.2020    source источник


Ответы (1)


В YugabyteDB таблицы совместно используются планшетами, а планшеты реплицируются между узлами с использованием Raft (протокол распределенного консенсуса). Raft также используется для выбора для каждого планшета одного из сверстников планшета в качестве лидера.

В типичной ситуации на узле будет много планшетов — некоторые в роли последователя, а некоторые в роли лидера. Когда узел выходит из строя, планшеты, для которых этот узел является лидером, могут иметь небольшую степень недоступности, пока для этих планшетов не будут выбраны новые лидеры. (Примечание: YugabyteDB — это база данных CP). Это (пере)избрание лидера срабатывает, когда последователи планшета не получают известий от своего лидера в течение определенного количества ударов сердца. Ручки, которые управляют этим и, следовательно, определяют время аварийного переключения, — это следующие gflags:

raft_heartbeat_interval_ms (по умолчанию 500 мс)

leader_failure_max_missed_heartbeat_periods (6)

Другими словами, по умолчанию, если ведомый не слышит лидера в течение 6 тактов, то через 6 * ~500 мс (интервал пульса по умолчанию), т. е. около 3 секунд, будут избраны новые лидеры.

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

person Kannan Muthukkaruppan    schedule 18.01.2020