Рубрика «golang» - 2
Чистим main.go: предсказуемый старт и надежный Graceful Shutdown
2025-12-15 в 10:16, admin, рубрики: dag, dependency injection, Go, golang, graceful shutdown, lifecycle, open source, Uber Fx, архитектура, микросервисыСталкивались ли вы с болью при управлении порядком запуска и остановки зависимостей в вашем Go-сервисе?
Разработка больших сервисов неизбежно приводит к необходимости управлять множеством зависимостей. В этом контексте мы говорим о долгоживущих компонентах, чья работа обеспечивается отдельными горутинами: как правило, это блокирующий метод (например, Start), внутри которого крутится цикл обработки.
Примерный сценарий жизненного цикла сервиса выглядит так:
При запускеЧитать полностью »
Golang: Пакет для мульти-логирования на основе log-Slog
2025-12-14 в 6:15, admin, рубрики: golang, mongodb, slog, логирование
Привет! Это моя первая статья тут, я надеюсь получилось читабельно и интересно :-)
Go profiling lifecycle: от разработки до прода. Инструменты и практики
2025-11-21 в 6:20, admin, рубрики: Go, golang, monitoring, performance, Profiler, profilingПривет! В данной статье хотел бы раскрыть тему - почему на 'младших' стендах api работает стабильно, но в проде начинаются проблемы: рост памяти, кол-во горутин множится, и через несколько часов - просадка производительности, gc не справляется, out of memory killer и т. д.
Давайте разберемся, что разработчику может помочь, чтобы он мог спать спокойно после деплоя своего решения. Попробуем детально разобраться в природе утечек ресурсов, научимся находить их с помощью профилировщиков и построим систему защиты от самых распространённых паттернов утечек.
Что внутри
Разобьем на несколько частей, в 1-ой части:
Сбор и отправка APM-трейсов из разных сервисов: как мы приручили трейсинг в монолитах
2025-11-11 в 7:15, admin, рубрики: apm-мониторинг, elastic, golang, метрики, микросервисы, монолит, трейсингВсем привет! Меня зовут Яна Курышева, и я тимлид одной из команд разработки бэкенда в Спортсе’’.
Мы – спортивное медиа. Наш продукт – это сайт и приложения со спортивной статистикой, новостями, редакционным и пользовательским контентом, пушами, рекомендациями и комментариями.
За 25+ лет развития архитектура Спортса’’ стала достаточно разнообразной под капотом: десятки микросервисов на Go соседствуют с монолитными Perl- и PHP-приложениями, которые мы планомерно переводим на новый стек.
Чтобы вся система оставалась управляемой, мы активно используем трейсинг с помощью Elastic APMЧитать полностью »
Поймите указатели в Go меньше чем за 800 слов или вернём деньги
2025-10-13 в 11:46, admin, рубрики: Go, golang, указатели, указательНе нашел перевод этой статьи, решил сделать, ногами не бейте
Оригинал: Understand Go pointers in less than 800 words or your money back
Автор: Дэйв Чейни
Дата: 26 апреля 2017 г.
Проще говоря, указатель — это значение, которое указывает на адрес другого значения. Это определение из учебников, но если вы пришли из языка, который не позволяет работать с адресами переменных, эта фраза может показаться магической.
Давайте разберемся.
Что такое память?
Rust vs Go: честное сравнение для высоконагруженных сервисов
2025-10-07 в 13:34, admin, рубрики: backend, Go, golang, highload, Rust, архитектура, конкурентность, производительность, разработка, сравнение«Rust — это когда ты контролируешь каждый байт.
Go — это когда ты делаешь сервис, а не борешься с компилятором.»
Введение
Rust и Go часто оказываются по разные стороны инженерных холиваров.
Кто‑то называет Go «языком для продакшна», кто‑то утверждает, что Rust — «единственный способ спать спокойно после деплоя».
Я работал с обоими языками: писал микросервисы на Go, системы обработки событий и сетевые агенты на Rust.
В этом посте — не теоретическое сравнение, а практическое: где Rust реально оправдан, а где Go дает фору по скорости разработки и стабильности.
Производительность
if err != nil: почему мы (не) любим обработку ошибок в Go? Обзор предложений по её улучшению
2025-09-08 в 15:18, admin, рубрики: avitotech, error, Go, golang, авитотех, ошибкиПривет! Меня зовут Павел Агалецкий, я ведущий инженер в платформе Авито. Эта статья на одну из самых холиварных тем, о которой вы могли слышать или читать множество раз. При обсуждении Go, особенно новичками или представителями других языков программирования, камнем преткновения обычно становится проверка ошибок — if err != nil.
Рассказываю, какие есть особенности и нюансы, сравниваю обработку ошибок в Go и других языках. Говорим о подходах к изменению обработки ошибок и обсуждаем последний proposal от Яна Тейлора. А еще разбираемся, почему все предложения отклонялись.
Как спроектировать кэш-библиотеку нового поколения и не умереть?
2025-09-04 в 13:16, admin, рубрики: cache, github, Go, golang, library, ristretto, библиотеки для go, кэш-библиотекаВсем привет! Меня зовут Алексей Майшев, я работаю Go-инженером в Авито. В этой статье рассказываю, как мы с командой независимых разработчиков 9 месяцев проектировали и разрабатывали кэш-библиотеку следующего поколения для Go — otter.

