Backend на Go
Не всё стоит делать на PHP. Когда нужен постоянно работающий сервис, очередь, парсер или API, который держит нагрузку, пишем на Go — и оставляем сайт сайтом.
Когда нас зовут
- Фоновая обработка упирается в лимиты хостинга и падает по таймауту
- Нужен сервис, который работает постоянно, а не по крону раз в час
- Интеграция с внешним API требует очередей и повторов при сбоях
- Парсинг и сбор данных с внешних источников
- Нужен отдельный сервис рядом с сайтом, не трогая сам сайт
Что входит в работу
- Сервисы и HTTP API на Go, включая работу с очередями и воркерами
- Интеграции с внешними API: повторы, таймауты, идемпотентность
- Парсеры и сборщики данных
- Докеризация и запуск: сборка, конфигурация, логи, метрики
- Тесты и бенчмарки там, где важна производительность
Как идёт работа
- 1 Задача и ограничения. Что должно происходить, с какой нагрузкой и где это будет жить.
- 2 Прототип. Небольшая рабочая версия, чтобы проверить подход на реальных данных.
- 3 Доводка. Обработка ошибок, повторы, логи и метрики — то, из-за чего сервисы падают ночью.
- 4 Передача. Сборка, инструкция по запуску, документация.
Сколько это стоит
от 100 000 ₽
Считается от объёма. Небольшой сервис или парсер обходится дешевле, чем система с очередями и хранилищем: точную вилку называем после разговора о нагрузке и окружении.
Вопросы, которые задают чаще всего
- Зачем Go, если сайт на PHP
- Затем, что у них разные задачи. PHP хорош для сайта, но постоянно работающий сервис, очередь или обработка потока данных на шаред-хостинге живут плохо. Go запускается отдельным сервисом и не мешает сайту.
- Можно ли обойтись без Go
- Часто да, и мы об этом скажем. Если задача решается кроном и парой скриптов — так и сделаем, отдельный сервис только добавит мест, где может сломаться.
- Где это будет работать
- Обычно на отдельном сервере или в контейнере. На шаред-хостинге постоянно работающий процесс не поднять — это надо учитывать заранее.
Что дальше
Напишите, что происходит у вас сейчас. Вернёмся с оценкой в часах и планом работ — до того, как вы что-то оплатите.