Анонс Go digest: Модульный монолит

Nikolai Rubanov (Darksa)
Заметки про Evrone
2 min readMay 19, 2023

В нашем майском Go-дайджесте мы задумались о низкоуровневых задачах и собственном Git-сервере с блэкджеком и хуками. А ещё изучали подходы к структурированию проектов на Go и искали слово moduliths в словаре Google.

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

Причин завести свой небольшой клон Github может быть много. Это удобно и позволяет самостоятельно контролировать свои данные. Таким способом достигается независимость от конкретного поставщика сервиса. Вместе с этим можно продолжать пользоваться всеми базовыми возможностями такого сервиса. Решение о переходе на self-hosted надо принимать осознанно и исходя из конкретной ситуации.

Делиться опытом важно. Особенно ценно, когда о своём опыте рассказывают международные компании, такие как HUMAN Security. Недавно в блоге израильского software-инженера Авива Карми (Aviv Carmi) были выложены две части статьи, посвящённых поиску лучшей структуры для проекта на Go. Он с командой пытался достичь двух глобальных целей: структурной согласованности, а также разделения бизнес-логики и инфраструктуры.

Забавную попытку усидеть на двух стулья сразу сделала Google, выпустив фреймворк Service Weaver. Представьте, что вы разрабатываете приложение так, словно оно монолит, но при этом у вас есть магическая кнопка, позволяющая распределить его по кластеру микросервисов. Фреймворк оперирует компонентами, которые могут взаимодействовать друг с другом, но при этом очень мало знают друг о друге.

Подробности читайте в полной версии нашего дайджеста.

--

--