Обсудить задачу

Backend на Go

Не всё стоит делать на PHP. Когда нужен постоянно работающий сервис, очередь, парсер или API, который держит нагрузку, пишем на Go — и оставляем сайт сайтом.

Обсудить задачу

Когда нас зовут

  • Фоновая обработка упирается в лимиты хостинга и падает по таймауту
  • Нужен сервис, который работает постоянно, а не по крону раз в час
  • Интеграция с внешним API требует очередей и повторов при сбоях
  • Парсинг и сбор данных с внешних источников
  • Нужен отдельный сервис рядом с сайтом, не трогая сам сайт

Что входит в работу

  • Сервисы и HTTP API на Go, включая работу с очередями и воркерами
  • Интеграции с внешними API: повторы, таймауты, идемпотентность
  • Парсеры и сборщики данных
  • Докеризация и запуск: сборка, конфигурация, логи, метрики
  • Тесты и бенчмарки там, где важна производительность

Как идёт работа

  1. 1 Задача и ограничения. Что должно происходить, с какой нагрузкой и где это будет жить.
  2. 2 Прототип. Небольшая рабочая версия, чтобы проверить подход на реальных данных.
  3. 3 Доводка. Обработка ошибок, повторы, логи и метрики — то, из-за чего сервисы падают ночью.
  4. 4 Передача. Сборка, инструкция по запуску, документация.

Сколько это стоит

от 100 000 ₽

Считается от объёма. Небольшой сервис или парсер обходится дешевле, чем система с очередями и хранилищем: точную вилку называем после разговора о нагрузке и окружении.

Как это выглядело на практике

Майнинговый пул · высоконагруженная платформа

Монолит разобран на 15 сервисов

Границы провели по зонам ответственности, контракты вынесли в отдельные репозитории, синхронное оставили на gRPC, остальное ушло событиями. Выкатка перестала быть ручной операцией.

Разбор целиком · Другие кейсы

Вопросы, которые задают чаще всего

Зачем Go, если сайт на PHP
Затем, что у них разные задачи. PHP хорош для сайта, но постоянно работающий сервис, очередь или обработка потока данных на шаред-хостинге живут плохо. Go запускается отдельным сервисом и не мешает сайту.
Можно ли обойтись без Go
Часто да, и мы об этом скажем. Если задача решается кроном и парой скриптов — так и сделаем, отдельный сервис только добавит мест, где может сломаться.
Где это будет работать
Обычно на отдельном сервере или в контейнере. На шаред-хостинге постоянно работающий процесс не поднять — это надо учитывать заранее.

Что дальше

Напишите, что происходит у вас сейчас. Вернёмся с оценкой в часах и планом работ — до того, как вы что-то оплатите.

Обсудить задачу itzarya@mail.ru