Установка та налаштування Saleor під ключ: Django + GraphQL

Установка та налаштування Saleor під ключ: Django + GraphQL

Розробка та обслуговування будь-яких видів сайтів:

Інформаційні сайти або веб-програми
Сайти візитки, landing page, корпоративні сайти, онлайн каталоги, квіз, промо-сайти, блоги, ресурси новин, інформаційні портали, форуми, агрегатори
Сайти або веб-програми електронної комерції
Інтернет-магазини, B2B-портали, маркетплейси, онлайн-обмінники, кешбек-сайти, біржі, дропшиппінг-платформи, парсери товарів
Веб-програми для управління бізнес-процесами
CRM-системи, ERP-системи, корпоративні портали, системи управління виробництвом, парсери інформації
Сайти або веб-програми електронних послуг
Дошки оголошень, онлайн-школи, онлайн-кінотеатри, конструктори сайтів, портали надання електронних послуг, відеохостинги, тематичні портали

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

Послуги, які ми пропонуємо
Показано 1 з 1Усі 2062 послуг
Установка та налаштування Saleor під ключ: Django + GraphQL
Середній
від 1 дня до 3 днів

Наші компетенції:

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

Останні роботи

  • Розробка сайту компанії B2B ADVANCE
    Розробка сайту компанії B2B ADVANCE
    1467
  • Розробка веб-додатків для компанії FEEDME
    Розробка веб-додатків для компанії FEEDME
    1318
  • Розробка веб-сайту для компанії БЕЛФІНГРУП
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    1015
  • Розробка інтернет магазину для компанії FURNORO
    Розробка інтернет магазину для компанії FURNORO
    1276
  • Розробка веб-додатків для компанії Enviok
    Розробка веб-додатків для компанії Enviok
    1019
  • Розробка веб-сайту для компанії ФІКСПЕР
    Розробка веб-сайту для компанії ФІКСПЕР
    1019

Установка та налаштування Saleor під ключ: Django + GraphQL

Які проблеми вирішує професійна установка Saleor?

Після розгортання Saleor за офіційною документацією багато хто стикається з помилками міграції, нестабільною роботою Celery та гальмуючими GraphQL-запитами. Ці проблеми не випадкові — вони пов'язані з типовими помилками конфігурації. Ми вирішуємо їх щодня, налаштовуючи Saleor під production.

Боротьба з N+1 запитами в GraphQL

GraphQL-резолвери Saleor без оптимізації ORM генерують десятки SQL-запитів на кожен запит списку товарів. Наприклад, запит products(first:10) призводить до 11 звернень до бази даних: один для товарів, і по одному на кожну категорію. Це класична проблема N+1. Рішення — використання select_related та prefetch_related в резолверах. Для пагінації рекомендуємо keyset pagination, який не залежить від зміщення та працює значно швидше на великих каталогах.

Причини нестабільної роботи Celery та їх усунення

Дефолтна конфігурація Celery не розрахована на пікове навантаження. При відсутності налаштування конкурентності воркерів та підтвердження завдань, частина повідомлень втрачається при перезапуску. Ми налаштовуємо --concurrency=4, вмикаємо CELERY_TASK_ACKS_LATE та використовуємо моніторинг через Flower для запобігання втраті завдань. За нашими даними, Celery з такими налаштуваннями обробляє завдання вдвічі швидше, ніж стандартна конфігурація.

Прискорення роботи бази даних

PostgreSQL без індексів на поля, по яких часто фільтрують (ціна, дата, категорія), стає вузьким місцем. Ми аналізуємо плани запитів через EXPLAIN ANALYZE та додаємо складові індекси. Наприклад, для фільтрації по категорії та ціні — індекс (category_id, price). Після додавання індексів середній час виконання складних запитів скорочується в 3 рази. Як зазначено в документації Saleor, така оптимізація критична для продуктивності.

Як ми налаштовуємо Saleor для production

Використовуємо останню стабільну версію Saleor на Django з Python 3. База даних — PostgreSQL з налаштованими індексами, кеш — Redis, фонові завдання — Celery з Redis-брокером. Веб-сервер — Gunicorn з gevent workers, Nginx — статика та проксіювання, S3 (MinIO або AWS) — медіафайли. Моніторинг через Sentry. Ми успішно реалізували понад 40 проектів, 60% з яких потребували оптимізації N+1 запитів.

Кейс з нашої практики: як ми прискорили магазин клієнта з 200 000 товарів у 10 разів

Стандартна пагінація offset на каталозі призводила до гальмувань на 50+ сторінках. Ми замінили її на keyset pagination з курсором по ID. Keyset pagination працює в 10 разів швидше, ніж offset-page, на каталогах з >10 000 товарів. Додатково додали кешування категорій в Redis. Час відповіді скоротився з 2 секунд до 200 мс. Для Celery налаштували кількість воркерів під навантаження та додали повторну обробку завдань, що впали. Економія на інфраструктурі склала до 40% (близько $500 на місяць).

Порівняння способів установки

Критерій Docker Compose Ручна установка
Швидкість розгортання Швидко (2-4 години) Довше (4-8 годин)
Простота підтримки Висока Середня
Гнучкість конфігурації Обмежена Повний контроль
Рекомендація Для розробки та невеликих проектів (до 10 000 товарів) Для складних production
Технічні деталі установки

Ми використовуємо Ansible для автоматизації розгортання на bare-metal серверах та Terraform для хмарних інстансів. Всі компоненти контейнеризовані, оркестрація через Docker Compose або Kubernetes для масштабованих рішень.

Процес роботи

  1. Аудит — аналіз поточної інфраструктури, вимог до навантаження.
  2. Проектування — вибір архітектури (Docker або bare-metal), схеми БД, конфігурації компонентів.
  3. Установка — розгортання Saleor, налаштування PostgreSQL, Redis, Celery, Nginx, SSL.
  4. Інтеграція — підключення S3, налаштування Dashboard та Storefront, платіжних шлюзів.
  5. Тестування — навантажувальне тестування, перевірка на N+1, оптимізація.
  6. Передача — документація, доступи, навчання команди.

Що входить в послугу

  • Повністю налаштований Saleor (backend, Dashboard, Storefront).
  • Доступи до сервера, адмінки, Storefront.
  • Інструкція з експлуатації.
  • Оптимізація продуктивності (індекси, кеш, пагінація).
  • Підтримка протягом 2 тижнів після здачі.
  • Вартість базової установки від 500 USD, повний комплекс — від 1500 USD.

Терміни

Етап Тривалість
Базова установка (Docker) 2-4 години
Production-інфраструктура 1-2 дні
Повне налаштування з інтеграціями до 5 днів

Типові помилки при установці Saleor

  • Забути налаштувати ALLOWED_HOSTS та ALLOWED_CLIENT_HOSTS — Dashboard не зможе з'єднатися з API.
  • Використовувати дефолтний SECRET_KEY — загроза безпеці, обов'язково змінити.
  • Не налаштувати S3 bucket policy — медіафайли не відображатимуться.
  • Не налаштувати таймаути Celery — завдання втрачаються при тривалому виконанні.

Чому варто довірити установку Saleor професіоналам?

Наша команда має понад 10 років досвіду в Django та e-commerce. Ми успішно встановили Saleor для понад 40 проектів, включаючи каталоги з мільйонами товарів. За даними GitHub, Saleor — найпопулярніша open-source e-commerce платформа на Django. Ми гарантуємо стабільну роботу під навантаженням (99.9% аптайм) та оптимізацію під вашу специфіку. Отримайте безкоштовну консультацію та технічний аудит вашої поточної інфраструктури. Замовте установку Saleor під ключ — ми зробимо все швидко та надійно.

Додаткові матеріали: GraphQL.