Как сделать супер нагруженный проект на WordPress? 2я редакция

Тут была уже статья на тему хайлоада с ВордПресс от 2017 года. Сейчас попробуем понять что поменялось за эти годы и будет актуально еще 10 лет.

Статья про хайлоад от 2017 года тут. Там был разбор основных идей и паттернов как готовить сайт под высокие нагрузки и большие данные.

Там все было очень абстрактно и сложно. С тех пор много чего поменялось в мире веба и сегодня можно говорить о новых трендах.

Исходные условия если у вас сайт на WordPress

Допустим вы сделали сайт на WordPress, и вдруг он дико стартанул и вырос и вам нужно решать задачи с высокими нагрузками и большими данными. Как быть?

Многие тут скажут что ВордПресс это же не то и надо что то другое, например взять Симфони или Ларавел или вообще все переписать на NodeJS или Java.

Бог им судья )

Давайте я тут поделюсь своей стратегией – как я бы решал эти задачи в большинстве случаев.

Edge Cache

Если мы говорим про скорость просто сайта без учета внутренних процессов и бизнес логик, то самое простое – это завести EdgeCache.

Тут есть 2 пути:

  • берем CloudFlare – правильно настраиваем кеширование страниц, с Edge Cache & Tiered Cache.
  • делаем тоже самое но своими силами – FastCGI Cache + CDN.

В первом случае все можно сделать легко силами даже среднего разработчика, плюс консультации от тех кто в теме.

Во втором случае придется нанимать очень матерых DevOps ребят.

В любом случае можно получить скорость 50-100-200 мс по всему миру. Сайт будет работать и открываться очень быстро.

Микросервисы и Appwrite

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

Берем Appwrite https://appwrite.io/

В него выносим все большие таблицы и сложные микросервисы, включая serverless функции.

Мы получаем простой рантайм на PHP или JS. Где мы можем легко дописывать нужные микросервисы даже силами джунов.

А под капотом там Swoole PHP, который умеет делать 1 млн. запросов в секунду на PHP.

Этот стек технологий был рожден в недрах бигтеха Китая типа Алибаба и Алиэкспресс. Он заточен под хайлоад на миллиарды пользователей. Условно говоря больше чем у Яндекса и Озона.

При этом довольно легко его интегрировать с существующим WordPress сайтом.

Поиск и фасетный фильтр

Если у вас в базе 1-5-10-100 млн позиций, то главная проблема это поиск по такой таблице.

Оно решается плюс минус одинаково везде:

  • Algolia – для тех кто аутсорсит и там есть готовый плагин для WordPress
  • Если нужно свое и на своем сервере то тут MelliSearh, Typesense или что то такое

Эти решения позволят делать быстрый поиск по большим данным. Будь то 5 млн позиций или 50 млн.

Для Appwrite есть даже готовые адаптеры, как и для WordPress. А там где нет – достаточно легко дописать что нужно.

HTMX и закат реактивного JS

Добавим сюда тот факт что приходят новые подходы типа HTMX. Который взрывают сообщества про фронтенд.

Типа давай досвидания устаревший JSON, REST API, Headless CMS и прочее. Привет оборот истории и возврат HTML + AJAX.

Можно делать такие же быстрые сайты и интерфейсы, но при этом на том же PHP + WordPress. Без дикой сложности и тормозов на фронте с утечкой памяти.

Итого

Вот если просто эти 4 штуки что выше правильно настроить, то можно сделать сайт уровня Озона или Яндекс Маркета. А вебсайт чисто на WordPress.

Но если не уметь все это правильно готовить и разбираться в архитектуре – то можно дальше жаловаться на то что WordPress это тормоза.

Фото аватара
Antony I

Веб разработчик, специализация на лучших мировых практиках: WordPress, WooCommerce, NextJS, Strapi, JAMStack ...

Основные типы проектов: CMS, eCommerce, SEO, LMS, ECM, BPM

Подробнее...

Статей: 119

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *