Як я створив Donevia — українську Pusher-сумісну WebSocket-інфраструктуру для real-time застосунків

Привіт, DOU!

Якщо ви розробляєте веб- чи мобільні застосунки із функціями реального часу — чати, сповіщення, живі дашборди чи трекінг, — ви майже напевно стикалися з Pusher. Це фактично індустріальний стандарт, який підтримується «з коробки» у більшості сучасних фреймворків (зокрема в Laravel через laravel-echo).

Проте у Pusher є серйозний мінус, з яким стикається кожен проєкт, що починає зростати — ціноутворення. Як тільки кількість одночасних з’єднань (CCU) перевалює за базові ліміти, рахунки стають необґрунтовано високими.

Альтернатива — піднімати власне рішення (наприклад, Soketi або Laravel WebSockets) на власному VPS. Але це вимагає часу на налаштування, моніторинг, підтримку SSL, горизонтальне масштабування та стійкість до пікових навантажень.

Тому я вирішив створити Donevia — доступну, повністю сумісну з Pusher WebSocket-інфраструктуру, яка працює за принципом Drop-in replacement (заміна без зміни коду).

Що під капотом

Головна мета полягала в тому, щоб зробити інфраструктуру, яка гарантує низьку затримку (latency) та високу пропускну здатність без складного devops-оверхеду для клієнта.

  • Продуктивність: Серверна частина протестовано на 15 000+ одночасних WebSocket-з’єднань на вузол із нульовими затримками.
  • Pusher-compatible: Підтримуються стандартні Pusher протоколи/API для підтримуваних сценаріїв, авторизація приватних та присутніх (presence) каналів, події та Webhooks.

Як відбувається міграція (на прикладі Laravel)

Основний акцент Donevia — нуль змін у бізнес-логіці чи фронтенді. Вам не потрібно переписувати код під нові SDK.

Все налаштування зводиться до зміни кількох параметрів у .env файлі:

Ваш JS-код (Laravel Echo / Pusher JS) продовжує працювати як звичайно.

Прозора модель та тарифна сітка

Для тестування та пет-проєктів створено безкоштовний тариф Sandbox:

  • 0 грн / міс — 100 одночасних підключень, 200,000 повідомлень на день.

Платні тарифи розраховані так, щоб зростання вашого проєкту не било по кишені:

  • Starter (419 грн/міс): 200 CCU / 400k msgs/day
  • Startup (879 грн/міс): 500 CCU / 1M msgs/day
  • Scale 1K (1 339 грн/міс): 1,000 CCU / 2M msgs/day (для порівняння, аналогічні ліміти у Pusher коштують від $49—$99/міс).

Запрошую до тестування!

Для тестування доступний безкоштовний Sandbox: 100 одночасних підключень і 200 000 повідомлень на день. Картка не потрібна.

На цьому етапі мені особливо потрібні реальні Laravel-проєкти: хочу перевірити міграцію з Pusher, private/presence channels, навантаження та зручність консолі на реальних сторонніх проєктах .

Якщо спробуєте — буду вдячний за будь-який фідбек, включно з багами та незручностями.

🔗 Сайт сервісу: donevia.net

Дякую за увагу та чекаю на ваші думки в коментарях!

👍ПодобаєтьсяСподобалось0
До обраногоВ обраному0
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter