Почему Ваш следующий проект может втайне жаждать Монолитных объятий

Почему Ваш следующий проект может втайне жаждать Монолитных объятий

Представьте: вы строите конуру для собаки. Вы не стали бы вызывать архитектора, создавать 3D-печать для титановых соединений или формировать отдельные команды для укладки крыши и систем обнаружения виляния хвостом. Однако в сфере программного обеспечения мы часто обращаемся к микросервисам, когда достаточно было бы простого сарая. Давайте рассмотрим случаи, когда ваш проект может действительно нуждаться в уютной простоте монолита. Идеальные сценарии использования монолита Сценарий 1: вы создаёте цифровую версию киоска с лимонадом....

7 мая 2025 06:00 · 3 минуты · 554 слова · Maxim Zhirnov
gRPC в Go: Как я научил Микросервисы перестать кричать и начать шептать

gRPC в Go: Как я научил Микросервисы перестать кричать и начать шептать

Когда я впервые услышал о микросервисах, взаимодействующих через REST API, я представил себе цифровых официантов, выкрикивающих рецепты в формате JSON по всей переполненной кухне. Затем я открыл для себя gRPC — секретный язык микросервисов, больше похожий на хорошо отрепетированную симфонию. Позвольте мне показать вам, как заставить ваши сервисы Go общаться как опытные дирижёры оркестра, а не как шумный кухонный персонал. Настройка сцены gRPC Прежде чем мы создадим нашу протокольную симфонию, давайте подготовим инструменты:...

21 апреля 2025 14:00 · 3 минуты · 634 слова · Maxim Zhirnov
CQRS в Go: Как не дать вашей кодовой базе превратиться в спагетти-вестерн

CQRS в Go: Как не дать вашей кодовой базе превратиться в спагетти-вестерн

Представь: ты — шеф-повар на оживлённой кухне. Ты бы позволил своим официантам нарезать овощи, пока они принимают заказы? Конечно, нет! Именно поэтому нам нужен принцип разделения ответственности за команды и запросы (CQRS) в наших приложениях на Go. Давайте разберёмся в этой сложности с точностью мастера суши. Мясная лавка CQRS: разделение чтения и записи В традиционной модели CRUD наша кодовая база часто выглядит как холодильник в моей комнате в общежитии — всё перемешано в сомнительных сочетаниях....

20 апреля 2025 14:00 · 3 минуты · 636 слов · Maxim Zhirnov
Гибель монолитов: Не переусердствуем ли мы с составлением простых приложений?

Гибель монолитов: Не переусердствуем ли мы с составлением простых приложений?

Представьте: вы строите будку для собаки. Вы берёте фанеру, пилу и гвозди. Внезапно появляется ваш сосед в очках архитектора и толстовке с Kubernetes. «Тебе действительно стоит использовать для этого микросервисы, — говорит он. — Каждая стенка может быть независимым сервисом!» Мы достигли пика культуры «микросервисы во всём», и пришло время вмешаться. Почему мы влюбились в распределение Позвольте рассказать историю о моём друге Дейве. Дейв сделал идеальное приложение для задач — один файл на Python, который мог:...

9 апреля 2025 06:00 · 3 минуты · 628 слов · Maxim Zhirnov
Продвинутая тактика тестирования Микросервисов: от модульных тестов до полной интеграции.

Продвинутая тактика тестирования Микросервисов: от модульных тестов до полной интеграции.

Когда вашим микросервисам нужна консультация семейного психолога Тестирование микросервисов — это как синхронизация труппы актёров, склонных к драмам: пропустите одну реплику, и всё представление развалится. За годы работы с распределёнными системами (и периодических слёз в серверных комнатах) я собрал проверенные методы, которые выходят за рамки примеров из учебников. Модульное тестирование: искусство хирургического мокирования Давайте начнём с основ. Хорошо изолированный модульный тест подобен идеально приготовленному эспрессо — мал, но силён. Рассмотрим этот пример на Java, тестирующий валидатор платежей:...

30 марта 2025 11:07 · 4 минуты · 684 слова · Maxim Zhirnov