- у меня проблемка в том что запрос к микроссервису (чтобы узнать количество просмотров) происходит раньше, чем обработка сообщения из Kafka и инкрементация счетчика. И таким образом идет отставание на 1. Тоесть в базе (микроссервиса) к примеру 5 просмотров, а в rest запросе показывает 4.
а можно кейс по-подробнее? кто являеся источником сообщения в кафке, а кто дергает по рест
а что ты ожидал то от этого кода?) с вероятностью наверно 90% содержимое runAsync не начнет выполняться пока ты не выйдешь из метода, где ты его вызвал) т.е. рест запрос будет 100% сделан раньше, даже чем сообщение будет записано в кафку, не то что прочитано и обработано
Спасибо! Критика весьма полезна и мною очень одобряема ! Но только в том случае когда дают лучшее решение 👍 Тут дело в том что если убрать аrunAsync, это гарантирует что сообщение будет отправлено на Kafka до того, как метод продолжит выполнение. Но это также означает что метод будет ждать завершения этого вызова, и это может увеличить задержку для пользователя... 😕 ХЗ как это лучше закодить, много вариантов, что лучше не понять пока что
эта логика в принципе вся кривая. почему это все не в одном сервисе делать?
делал в одном, потом специально разбил.... это не суть
из первого сервиса
Обсуждают сегодня