Перейти до вмісту
EuroVPSEuroVPS

Що ми робимо · Дані та web: Об’єктне кешування з автоматичним failover

Керовані Valkey і Redis із Sentinel: репліковані трійки, автоматичне підвищення за секунди, прозоро для WordPress і PHP, жодної єдиної точки відмови кешу.
Blade-шасі HPE c7000 у Digital Realty Athens

Об’єктний кеш є тим, що не дає WordPress, Magento та Laravel ставити базі даних одне й те саме запитання тисячі разів на хвилину. Ми запускаємо його як репліковану трійку з автоматичним підвищенням, тож відмова вузла кешу ніколи не перетворюється на некешовану, перевантажену базу даних.

Що це

Valkey (і Redis, його сумісний попередник) тримає обчислені результати в пам’яті: опції, меню, дані сесій, результати запитів, відрендерені фрагменти. Це робить кеш частиною вашої доступності, а не лише продуктивності. Єдиний екземпляр кешу є прихованою єдиною точкою відмови, і ми таких не будуємо.

Як ми це будуємо

  • Три вузли, один основний і дві репліки, на окремих хостах із жорсткою anti-affinity, щоб жодні два не опинилися на одному обладнанні.
  • Три Sentinel із кворумом два спостерігають за основним вузлом. Якщо він відмовляє, вони домовляються, підвищують репліку й повідомляють клієнтам, де новий основний.
  • Застосунки підключаються через Sentinel, використовуючи ім’я сервісу замість фіксованого хоста та порту. Підвищення прозоре для PHP: жодної зміни конфігурації, жодного перезапуску.
  • Швидке виявлення за задумом. Sentinel налаштований виявляти мертвий основний вузол за кілька секунд. Короткий, зайвий failover коштує значно менше, ніж довге вікно з мертвим основним вузлом.
  • Ізоляція там, де вона важлива. Менші ресурси можуть ділити один кластер через окремі логічні бази даних; великі або критичні сайти отримують власний екземпляр, тож подія в кеші одного сайту ніколи не може спорожнити кеш іншого.

Ми інтегруємо і бік застосунку: drop-in об’єктного кешу WordPress, налаштований на Sentinel, драйвери кешу та сесій Laravel або еквівалент вашого фреймворку.

Від чого це вас захищає

  • Відмова одного сервера кешу, після якої кожен сайт за ним одночасно падає на базу даних.
  • Спільний кеш, що заповнюється й витісняє ключі, від яких залежить кожен сайт.
  • Скидання кешу або невдале розгортання одного сайту, що спорожнює кеш його сусідів.
  • Ручне втручання посеред ночі, щоб перенаправити застосунки на новий хост кешу.
  • Застарілі записи, що переживають реліз, бо ми скидаємо й прогріваємо кеш у межах кожного плану розгортання.

На практиці

Вбити основний вузол навмисно. На платформі видавця з багатьма сайтами ми зупинили основний вузол кешу під час приймальних випробувань. Sentinel підвищив репліку приблизно за шість секунд, і кожен сайт відновився самостійно, без жодної дії людини. На аналітичній платформі, побудованій пізніше, той самий тест показав близько семи секунд.

Чому EuroVPS

  • Failover на основі Sentinel як стандарт, а не додаткова платна опція.
  • Anti-affinity забезпечена, тож репліки ніколи не ділять обладнання зі своїм основним вузлом.
  • Ми налаштовуємо і бік застосунку, щоб failover справді доходив до PHP.
  • Кожна збірка проходить тест failover перед передачею, з виміряним і записаним часом.

Часті запитання

  1. Valkey чи Redis? Valkey є відкритим форком, сумісним із Redis. Застосунки й клієнтські бібліотеки працюють без змін. Ми запускаємо той, якого потребує ваш стек.
  2. Чи ляже наш сайт під час failover кешу? Запити, що виконуються протягом кількох секунд підвищення, можуть не влучити в кеш або повторитися. Потім усе продовжується на новому основному вузлі автоматично.
  3. Чи потрібно нам це для малого сайту? Єдиний екземпляр цілком годиться для малого сайту, база даних якого витримує повне навантаження. Щойно втрата кешу перевантажила б базу даних, його слід реплікувати.
  4. Чи можуть у ньому жити сесії? Так. З реплікацією та Sentinel сесії переживають втрату вузла кешу.
  5. Чи можете ви доглядати за нашим плагіном об’єктного кешу WordPress? Так. Ми налаштовуємо та підтримуємо його як частину стеку.

Хочете кеш, який перемикається раніше, ніж хтось помітить? Поговоріть з інженером.

Ваш наступний партнер з інфраструктури

Погляньмо на вашу інфраструктуру.

Розкажіть, що ви запускаєте сьогодні і що потребує покращення. Інженер розгляне ваш запит і допоможе спланувати наступний крок.

+357 222 32280
Інженер EuroVPS несе серверний вузол у залі дата-центру
Розмова з людьми, які доглядатимуть за вашою інфраструктурою.

Почнімо з вашої інфраструктури.

Трохи контексту допомагає нам почати правильну розмову.

Ми використаємо ваші дані, щоб відповісти на ваш запит. Політика конфіденційності