🚨 ОСТОРОЖНО 🚨 Сейчас ты услышишь не самое популярное мнение! Микросервисы это уже не модно. Но до сих пор многие (и я в том числе) продолжают их везде юзать.
Потому что за столько лет все уже научились это делать хорошо и не за чем что-либо менять.
Но есть одна вещь, которую не все научились делать – это нормально координировать эти самые микросервисы.
В чем суть? У нас есть большой бизнес-процесс, в рамках него и статусная модель, и транзакции, и уведомления, и какие-то проверки, и прочие интеграции. И вот этот процесс нужно как-то координировать, это не бэкенд сайта с односложной задачей: купить, найти, добавить в корзину и тд. (хотя даже тут иногда нужно что-то координировать).
Почему же нужна координация?
А все очень просто. Когда приложение состоит из множества отдельных сервисов, легко
🐚Хореография
🐚Оркестрация
На самом деле есть еще два подхода:
🐚Полное отсуствие координации // Анархия – мать порядка
🐚Симбиоз из хореографии и оркестрации // I am Venom
Итак, хореография – это
распределение принятия решений и упорядочения действий между участниками повествования, которые в основном общаются, обмениваясь событиями.
По книге Криса Ричардсона «Микросервисы. Паттерны разработки и рефакторинга»
То есть это децентрализованный обмен сообщениями между микросервисами. Каждый сервис сам решает, как реагировать на события, происходящие в других частях системы. По сути это как
У этого подхода есть очевидные плюсы в виде отказоустойчивости и масштабируемости, но отсюда вытекают и минусы в виде отсутствия централизации и сложности реализации.
Эту публикацию мы подготовили совместно с Александром. Прочитать про оркестрацию можете здесь
Кого больше в канале?
💃 – хореографы на месте
🎹 – оркестраторы в здании
