This media is not supported in your browser
VIEW IN TELEGRAM
Cобытийная архитектура (EDA)
Значительная часть задач, которые приходится выполнять современным системам, связана с реакцией на изменения состояния. Например, добавление товара в корзину, отметка «Нравится» под публикацией и оплата счета — все это изменения состояния, которые запускают набор задач в соответствующих системах.
Это требование проложило путь популярному подходу к архитектуре системы, известному как событийная архитектура (EDA).
Архитектура, управляемая событиями, состоит из четырех основных компонентов:
1) События
Это существенные изменения состояния. Например, регистрация пользователя на пробную версию может быть событием в продукте SaaS. Они обычно содержат информацию об изменении состояния.
2) Производители
Генерируют событие - изменения состояния системы. Это различные источники - системные процессы, внешние триггеры и т.д.
3) Потребители
Подписываются на события и выполняют их при возникновении событий
4) Каналы
Облегчают передачу событий между производителями и потребителями
Значительная часть задач, которые приходится выполнять современным системам, связана с реакцией на изменения состояния. Например, добавление товара в корзину, отметка «Нравится» под публикацией и оплата счета — все это изменения состояния, которые запускают набор задач в соответствующих системах.
Это требование проложило путь популярному подходу к архитектуре системы, известному как событийная архитектура (EDA).
Архитектура, управляемая событиями, состоит из четырех основных компонентов:
1) События
Это существенные изменения состояния. Например, регистрация пользователя на пробную версию может быть событием в продукте SaaS. Они обычно содержат информацию об изменении состояния.
2) Производители
Генерируют событие - изменения состояния системы. Это различные источники - системные процессы, внешние триггеры и т.д.
3) Потребители
Подписываются на события и выполняют их при возникновении событий
4) Каналы
Облегчают передачу событий между производителями и потребителями
👍7🥰2👏1
Управление структурой DOM на веб-странице с помощью JavaScript #javascript
👍6
Refactoring databases. Expand_Contract Pattern.jpeg
369.5 KB
Рефакторинг базы данных и "Expand/Contract ". Паттерн "Expand/Contract" обеспечивает плавную миграцию БД, позволяя адаптироваться, ничего не ломая
Процесс из 2 этапов:
• Расширение: внедрение новой структуры с сохранением старой
• Контракт: Удаление старой структуры, когда все системы начнут использовать новую
При переходе одновременно существуют как старая и новая версии.
Например, надо разделить столбец FullName на FirstName и LastName. При переходе:
• Добавляются новые столбцы FirstName и LastName, а существующий FullName сохраняется
• Перенос существующих данных с разделением значения FullName на FirstName и LastName для всех строк
Затем применяется триггер для гарантии совместимости:
• Если старая система вставляет/обновляет FullName, триггер обновляет FirstName и LastName
• Если новая система вставляет/обновляет FirstName и LastName, триггер обновляет FullName
Когда все системы начнут использовать столбцы FirstName и LastName:
• Удалите триггер
• Удалите старый столбец FullName
Процесс из 2 этапов:
• Расширение: внедрение новой структуры с сохранением старой
• Контракт: Удаление старой структуры, когда все системы начнут использовать новую
При переходе одновременно существуют как старая и новая версии.
Например, надо разделить столбец FullName на FirstName и LastName. При переходе:
• Добавляются новые столбцы FirstName и LastName, а существующий FullName сохраняется
• Перенос существующих данных с разделением значения FullName на FirstName и LastName для всех строк
Затем применяется триггер для гарантии совместимости:
• Если старая система вставляет/обновляет FullName, триггер обновляет FirstName и LastName
• Если новая система вставляет/обновляет FirstName и LastName, триггер обновляет FullName
Когда все системы начнут использовать столбцы FirstName и LastName:
• Удалите триггер
• Удалите старый столбец FullName
👍6