На пути к распределенной системе

A presentation at Stachka in in Kazan, Republic of Tatarstan, Russia by Roman Gordeev

На пути к распределенной системе

На пути к распределенной системе

О чем разговор?

О чем разговор?

Что делать?

Что делать?

И, главное, как?

И, главное, как?

Наивное проектирование...

Наивное проектирование...

= SHARED DB =

= SHARED DB =

РЕЦЕПТ

РЕЦЕПТ

Ингредиенты...

Ингредиенты...

Каноническая модель данных

Каноническая модель данных

Event Sourcing

Event Sourcing

CQRS

CQRS

Простые трудности...

Простые трудности...

Чек-лист пользователя ORM

Чек-лист пользователя ORM

Что делать, если приложение “тормозит”?

Что делать, если приложение “тормозит”?

Timeouts

Timeouts

Bulkhead

Bulkhead

Circuitbreaker

Circuitbreaker

Resilience4j

Resilience4j

ИТОГО

ИТОГО

References

References

Современные приложения часто представляют собой непростую топологию разрозненных сервисов, объединенных неумолимым конвейером бизнес процессов. С одной стороны это дает определённые преимущества, но в то же время накладывает весьма серьезные ограничения на применяемые архитектурные подходы и инженерные решения при проектировании подобных приложений.

В докладе мы поговорим о весьма хорошо зарекомендовавших себя подходах, известных еще со времен Smalltalk и Erlang, - Message-oriented middleware и Event Sourcing. Обсудим пути миграции RPI-based приложения в сторону асинхронности и реактивности. Поговорим о трудностях возникающих на этом пути, посмотрим, как решаются вопросы с ACID и CAP, а также какие подходы можно применить для тестирования подобных систем.

Video