Як я створив 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
Дякую за увагу та чекаю на ваші думки в коментарях!
Немає коментарів
Додати коментар Підписатись на коментаріВідписатись від коментарів