dimonchik2013, для этого нужно сделать сторонний сервис(промежуточный то, что мне уже предложили), там слишком много вазни будет, не хотел этого и я даже пока не представляю, как это делать...
Спасибо за ответ)
Да, согласен. Туториал четкий!
Прошел его несколько раз)
Так-то я думал через rpc сделать, но в кракене не реализовали rpc поверх rabbitmq(как они сами отметили в слаке и гите. Типа, что из коробки это не поддерживается). Они предлагают реализовать промежуточный сервис для этого.
Просто когда гуглил, видел инфу, что rpc это плохая идея и идиотом обозвали чувака, который хотел так сделать.
Поэтому думал, что возможно есть решение по лучше и можно это как-то по другому реализовать(я новичок в этом).
Общение с сервисами нужно сделать полностью асинхронным. Поэтому все задачи/запросы, которые идут к сервисам проходят через очередь. Если бы было тупо трансляция в одну строну, то можно было бы сделать pub/sub, но мне нужно и ответ возвращать, если клиент запросил определенные данные.
Что тут можно сделать, чтобы клиент забирал именно те данные, которые он запроси, а не другие?(Это основная проблема, чуть ли не две недели сижу над ней).
По идее, если клиент хочет определенные данные из сервиса, но делает 2 запроса.
Первым запросом он ставит в очередь, а вторым забирает.
У меня уже есть очередь, когда от клиента поступает запрос к кракену, он ставит это в очередь, определенный сервис забирает это сообщение и отдает ответ по другой очереди, и кракен забирает это, и должен отдать клиенту по запросу.
Кракен позволяет передавать имя очереди и routing_key в заголовках, по которой он будет ждать ответ, но нельзя передавать ключи для сопоставления в конце, чтобы определить чей запрос это был. Нет такой проверки и возможности. И кракен в запушенном состоянии не дает создавать нового консьюмера, иначе могли бы сразу через клиента по запросу к кракену создать нового консьюмера с рандомным именем и по нему получить ответ обращаясь к кракену https://www.krakend.io/docs/backends/amqp/
Дмитрий, сайт не я писал, я только поддержкой занимаюсь...
вроде через smtp отправляется..., щас еще раз посмотрю на сервере.
Спасибо большое за ответ.