Сервисная шина и система - кто должен инициировать сообщения? | Андрей Путин

Поділитися
Вставка
  • Опубліковано 21 січ 2025

КОМЕНТАРІ • 2

  • @Fedor_zolotov
    @Fedor_zolotov 2 роки тому +1

    Андрей , получается нужно что бы шина делала запрос в сервис например ежечасно ?
    Правильно ли я понял вашу мысль ?

    • @utandr
      @utandr 2 роки тому +1

      Да, или через таймаут (например, "не чаще раза в 30 секунд" или как-то так), или с предоставлением доступа к механизму уведомления базы сервиса (postgres:listen, mongodb:changestreams, ну и другие техники вроде слушания базы (даже mysql) может подойти (не всегда).
      Поскольку коннектор между сервисом и хранилищем -- сфера ответственности команды сервиса, там не возникает пересечения зон ответственности и перегрузки сервисов.
      У нас часто сервисы сами отправляют в API/брокер к шине, и у этого есть всё те же проблемы которые я описал, которыми и поделился -- сложность сверок, дублирование механизмов ответственности и усложнение логики самого сервиса. Если вам важны секунды (и вам поэтому важен event driven), нет ли у вас надежды на скорейший ответ другого сервиса?