TGViewer
S0ER S0ER @softwareengineervlog · 10.4K subscribers
Post #774 2.14K
​​Для повышения производительности микросервисов рекомендуется:
- использовать асинхронные http запросы
- Protocol Buffers — протокол сериализации структурированных данных, предложенный Google как эффективная бинарная альтернатива текстовому формату XML. Основные задачи – маршалинг/демаршалинг данных

Для управления состоянием системы построенной на базе микросервисов часто используется Event Driven Architecture (EDA)

EDA обычно включает в себя отправителей и получателей событий.
Событие - это факт, который произошел и имеет место быть. При этом оповещение о событии и событие – это два разных понятия. И часто их путают, когда возникновение событие связывают неразрывно с механизмом оповещений.
EDA:
- Каналы
o Передача событий
o Поддержание очереди событий
- Отправители (emmiters/agents/source)
o Генерация событий
o Детекция событий
o Сбор событий
o Отправка событий
- Получатели (sinks/consumers)
o Прием и обработка событий

В EDA архитектуре основой является BASE (Basically Available, Soft State, Eventually Consistent) Systems.
Для обеспечения взаимодействия между микросервисами используется транзакционный подход. При этом каждая транзакция должна соответствовать ACID.

Транзакционные модели:
- плоская – последовательное выполнение транзакций с единой точкой отката
- вложенная – каждая транзакция может создавать дочерние транзакции, при этом откат родительской транзакции несет за собой откат дочерних транзакций, а откат дочерних транзакции влечет необходимость принятия решения об откате на уровне родительской транзакции
- цепочки транзакций – каждая последующая транзакция зависит от предыдущей
- шаблон saga – тоже самое что вложенная модель, но каждая родительская транзакция имеет специальные «компенсационные» транзакции.

Механизмы изоляции транзакций:
- блокировка
- сериализация

Варианты транзакций:
- ACID транзакции (единственные кто может гарантировать целостность данных)
- BASE транзакции (используют принцип «целостность в конечном итоге»)
More from @softwareengineervlog
  1. Sep 3, 2026Google выпустила Gemini 3.8 Flash — новая быстрая модель уже обходит гигантов в кодинге. П…
  2. Sep 3, 2026Сейчас использую DeesSeek v4 Flash, на готовой кодовой базе решать стандартные таски из тр…
  3. Aug 6, 2026Полезное: разраб сделал интерактивный мануал, который по шагам показывает, что происходит…
  4. Aug 5, 2026Ты ненастоящий программист! Это происходит снова и снова, и каждый раз одинаково. Я начал…
  5. Jul 27, 2026Внимание, скам! Появился бот который выдает себя за бота моего канала. Я НИЧЕГО ЧЕРЕЗ БОТО…
  6. Jul 25, 2026У Сбера есть интересный whitepaper где он описывает технологию разработки продукта с помощ…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →