RU

Доставка пива, алгоритм «Октагон» и поиск компании в EDGE: какие архитектуры придумали на Avito Grill & Go

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

gogolangsystem designпроектирование системархитектурамитапhighload
Habr
RU

gRPC на Go: Пишем микросервис аутентификации с нуля

Привет, Хабр! Сегодня рассмотрим тему  gRPC  и работы с ним в контексте языка программирования  Go  на примере простейшей реализ…

gogolanggrpcgrpc servergrpc-gogrpc серверыgrpc-сервисымикросервисыаутентификацияprotobuf
Habr
RU

River OSS и Kafka: почему transactional outbox не гарантирует порядок событий агрегата

Меня зовут Василий Миловидов, я системный архитектор в крупной компании. Мы строим обмен между сервисами на событиях: сервис меняет агрега…

transactional outboxriverevent-drivendistributed systemsgolangpostgresql
Habr
RU

Алгоритм был правильным. Ошибка была в контракте графа

Мне нужен был сервис, в котором должны были работать несколько разных алгоритмов. Часть математики я помнил, часть понимал поверхност…

golangпроектирование apiархитектура кодаграфовые алгоритмыopen sourceбенчмаркингструктуры данныхрефакторинг
Habr
RU

Надёжная асинхронная коммуникация: повторы, дубликаты и dead letter queues

Представим обычную обработку заказа. Сервис заказов публикует событие order.created . Сервис склада получает его и резервирует товар в PostgreSQL. П…

rabbitmqgolanggokafkaархитектураасинхронностьмикросервисыbrokerqueueresilience
Habr
RU

Esp-Monitor: архитектура и развертывание self-hosted IoT-платформы для микроконтроллеров ESP

Одним из самых вдохновляющих моментов в разработке микроконтроллерных устройств является их первая установка и запуск в локальной сети. И этот же мо…

IoTesp32esp8266esphomegogolangbackendiosk8skubernetes
Habr
RU

Как мы делали три консоли для киберигры: опыт разработки новой версии тренажера

Привет! На связи команда Далее . В этой статье расскажем, как мы взяли довольно простую игру-тренажер по кибербезопасности и сделали ее самостоятель…

кибербезинформационная безопасностьконсолиgolangwebrtccentrifugohighloadразработка игрвеб-разработкаархитектура
Habr
RU

Используем sqlc в Го: нужно ли делать отдельный слой «репозиторий», или достаточно сгенерированного?

Всем привет! Эта статья является выжимкой моего опыта. Возможно для кого-то это очевидные вещи, тем не менее, считаю, что она может мыть полезна нач…

sqlcgolangsolid
Habr
RU

Технический долг — это не только legacy: как мы уменьшаем разброс решений между Go-сервисами

Когда компания растёт из одного продуктового направления в несколько, технический долг начинает выглядеть иначе. Проблема уже не в «старом коде», ус…

golangмикросервисытехнический долгархитектурарефакторингстандартизацияшаблонизацияуправление зависимостямибэкендrenovatebot
Habr
RU

От полной выгрузки к S3 и PostgreSQL: как мы доставляем гигабайты данных в память подов

Представьте себе высоконагруженный сервис, который решает, с какого из множества складов нужно отправить товар покупателю. В пике через него проходи…

highloadbackendgolanggoпроектирование системпрограммированиевысоконагруженные системыozon tech
Habr
RU

Как я добавил MAX в китайский AI-мост и запустил Claude прямо в мессенджере

Я хотел использовать Claude прямо в мессенджере MAX — без браузера, без переключения контекста. Готового решения не было. Нашёл на GitHub китайский…

gogolangclaudeaimax мессенджерopen sourceplugin architectureчат-ботanthropicконтрибьюция
Habr
RU

Рецензия на книгу «Go: разработка приложений в микросервисной архитектуре»

Июнь — месяц рецензий на книги по языку Go в нашем блоге SSP SOFT. Сегодня разбираем книгу Юлии Поповой «Go: разработка приложений в микросервисной…

работа gogogolangкниги по программированиюкниги по go
Habr
RU

Ещё один круг ада: мониторинг ERP без Prometheus, Grafana и выделенного DevOps

Загнивая от усталости, дописывая последнюю строчку последнего (или не очень) модуля системы, теша себя мыслями о скорой зарплате, каждый уважающий с…

gogolangprometheusgrafanagrafana-дашбордerpархитектураbackendnext.jsts
Habr