Эксперт #CloudMTS выступит на конференции HighLoad ++ организованной компанией «Онтико»
Управление состоянием в сложном микросервисном ландшафте — задача не из легких. Как только процесс изменения затрагивает несколько слабосвязанных сущностей, проблема их консистентности встает поперек горла архитектора. На помощь приходят многофазные транзакции, Saga, X/Open XA... Теперь вместо одной проблемы у вас две.В процессе разработки сервиса Containerum Kubernetes Service мы пошли другим путем — построили распределенную систему на основе доменной модели, управляемой конечными автоматами, и синхронно-асинхронной коммуникации между сервисами посредством gRPC и Kafka. Это позволило нам управлять сложными иерархическими сущностями, разбросанными на полдюжины сервисов, гибко обрабатывать ошибки и забыть про неконсистентность и болезненные роллбэки. Нашим опытом, ошибками и успехами я с вами и поделюсь.
Кому будет полезно:
-
Техническим директорам
-
Devops-инженерам
-
Разработчикам сложных проектов
-
QA-инженерам
-
Представителям бизнеса