Skip to main content

Що робить первинний (Primary) вузол?

Primary-вузол у Replica Set - це головний вузол, який приймає всі операції запису і є джерелом даних для решти вузлів. Саме він визначає "актуальний стан" колекцій на поточний момент.

Основні обов'язки Primary

  1. Приймає всі записи (write operations) Будь-яка операція insert, update, delete завжди йде спершу на Primary. Secondary ніколи не пишуть напряму - вони лише копіюють.
  2. Фіксує зміни в oplog Primary записує всі зміни в oplog - журнал операцій. Secondary зчитують його й відтворюють ті самі операції в себе, лишаючись точною копією.
  3. Відповідає на читання за замовчуванням Якщо клієнт не змінював readPreference, читання (find, aggregate) теж іде на Primary. Так досягається консистентність за принципом read your own writes.
  4. Бере участь у виборах і керуванні кворумом При збої Replica Set, якщо Primary зникає, решта вузлів проводять election і обирають нового Primary. Але поки він живий - він центр реплікації.

Характерні властивості Primary

  • єдина точка запису в Replica Set
  • джерело істини (actual state)
  • решта вузлів неодмінно синхронізуються з ним

Навіщо потрібен Primary в такій моделі

Щоб забезпечити:

  • консистентність даних - немає конфліктних записів із різних вузлів
  • спрощену реплікацію - зміни поширюються з одного центру
  • автоматичний failover - при падінні обирається новий Primary, і система не простоює

Підсумок

Primary - це центральний вузол, який приймає записи, фіксує їх в oplog і слугує джерелом синхронізації для всіх Secondary. Він забезпечує актуальність даних і керує основним потоком операцій у Replica Set.

Коротка відповідь

Для співбесіди
Premium

Коротка відповідь допоможе вам впевнено відповідати на цю тему під час співбесіди.