Skip Navigation
Golang
Golang

=

Members
1
Posts
3
Active Today
1
Created
1 wk. ago
  • Golang @rmrf.club
    Кирилл @rmrf.club

    О том, как использовать итераторы в Go

    poltora.dev Где и зачем использовать итераторы в Go?

    Итераторы - это инструмент языка, позволяющий перебирать элементы коллекции или потока данных без необходимости загружать все сразу в память. В Go их завезли еще в прошлом году, и это вызвало большой резонанс: многим эти нововведения не понравились, разработчики не понимали зачем они нужны и где их ...

    Где и зачем использовать итераторы в Go?
  • Golang @rmrf.club
    Кирилл @rmrf.club

    Декораторы для http.RoundTripper

    Очень удобная библиотека для создания декораторов http запросов под стандартный http.RoundTripper - https://github.com/asecurityteam/transport

    Всегда что-то подобное хотел запилить, но всегда что-то подобное писал с нуля, потому что не хватало времени вынести это в либу

  • Golang @rmrf.club
    Кирилл @rmrf.club

    Restate workflow фреймворк

    Примерно 2 года назад я познакомился в проектом Temporal - оркестратором воркфлоу как код. Идея простая: если тебе нужно сделать отказоустойчивый, durable кусок бизнес логики, но ты не хочешь заниматься настройкой кафки и созданием своего оркестратора/саги, ты можешь просто использовать этот готовый фреймворк. Это было открытием для меня тогда.

    У Temporal есть нюансы, минусы. Лично я считаю основным его минусом - high latency, который в целом можно пофиксить, но будет это костыльно (https://youtu.be/mTNUjZGTfZk?t=362). Чуть терпимее минус - магия в SDK на Go.

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