А вот если и на фронте должно быть всё асинхронно,

то тогда запрос на бек должен только зарегистрировать команду CreateBook и уже либо отдельный метод наружу будет торчать, для пуллинга статуса выполнения команды, либо придет событие через WebSocket о изменении статуса команды.
только тут вопрос целесообразности. почему нельзя дождаться синхронно выполнения CreateBook? это слишком сложная и длительная операция, что стандартного http таймаута недостаточно?

9 ответов

4 просмотра

а неужели нет более удачного способа получить синхронный ответ из кафки? все таки перепиливать все ресты на такой вот пуллинг звучит как-то очень странно

если все взаимодействие между сервисами через кафку сделано, то как можно синхронно дождаться то?

Роман Маринич
если все взаимодействие между сервисами через кафк...

слушать топик на предмет появления события с нужным corellationId - тут можно и заблокироваться, а можно и асинхронно ответ отдать

Роман Маринич
а неужели нет более удачного способа получить синх...

вот может что-то вроде такого https://docs.spring.io/spring-kafka/reference/html/#replying-template

Artem-Nenashev Автор вопроса
Роман Маринич
а неужели нет более удачного способа получить синх...

что значит получить синхронный ответ? собственно тот вариант, который описал Сергей - рабочий. мы можем держать http-коннекшен и дожидаться события и уже отдать ответ. но его реализация совсем не тривиальна и будет "дорога" в поддержке и сопровождении

Sergey Sokolov
вот может что-то вроде такого https://docs.spring...

но как я понимаю рекомендуют pull со стороны вебклиента делать https://www.confluent.io/resources/kafka-summit-2020/synchronous-commands-over-apache-kafka/

Sergey Sokolov
вот может что-то вроде такого https://docs.spring...

ReplyingKafkaTemplate не рассматривали? https://dzone.com/articles/synchronous-kafka-using-spring-request-reply-1

Gosha
ReplyingKafkaTemplate не рассматривали? https://dz...

Да, рассматривали. Но пока не используем спринг.

Похожие вопросы

Обсуждают сегодня

Подскажите, а есть vault lite или ченить такое?) А то нужен вольт для похода в вольт, но весит он ~500 мб) как-то многовато для парочки запросов ))
Alexandr Orloff
17
Всем привет, есть небольшая проблема Есть такой скрипт document.addEventListener('DOMContentLoaded', function () { const sliderTabs = document.querySelectorAll('.s...
A da
8
@go1337 @dblackCat Привет. Все ещё дрочусь с fastpanel. Добавил второй домен который должен смотреть в рут того же сайта, но так как это просто домен, а не сайт, я не могу ему...
Ross 🦴
9
До речі, в ево нема можливості чи якого розширення щоб з адмінки з телефона зайти і терміново щось в верстці поправити?
Женя
7
кто-нибудь пользуется тайм-трекерами во время работы? так много разных нагуглил, может есть что-то популярное
Lencore
8
Пацаны. Я разрабатываю софт для инвайтинга на телетон, и столкнулся с такой проблемой, в один из чатов не могу приглашать никого, не дает добавлять, в то же время через официа...
Kernel Panic
11
Скажите, а кому нужен Currency как отдельный плагин вместо полноценного ecommerce в OctoberCMS? Кто-то использует его уже или планирует в будущем? Может я что-то не понимаю?
Igor
13
Розмовами про Рево мені нагадали часи, коли шаблони правилися прямо в адмінці. Хто в курсі, чому відійшли від цієї практики, так блейд не працює? Доволі зручно ж було (інколи)
Женя
3
Всем добрый вечер, Рад оказаться в кругу единомышленников. Начинаю погружаться в мир .net веба. Зовут Ерасыл 🖖 У меня назрел вопрос: Какой процент проектов, прошедшие через в...
Ерасыл
6
Чому? Да тому що без GiT не уявляю нормального проекта а коли код в базі то то так собі
Dmytro Lukianenko
3
Карта сайта