Skip to content

Rabbitmq with no-blocking rpc #1252

Answered by Lancetnik
PhoenixNazarov asked this question in Q&A
Discussion options

You must be logged in to vote

@PhoenixNazarov according RMQ logic, we can't send multiple RPC requests at the same time using the same connection-channel pair. This reason we have client-level lock on sending RPC requests (we can't send next RPC requests while we have no answer on previous one). I thought, it shouldn't be a great problem cuz RPC logic is not targeted behavior for async services. If you want to get answers as a regular behavior, probably, you should take a look at another architecture (GRPC-based or HTTP at least) or use persistent consumer for processing replies with reply_to flag like in the following example

@broker.subscriber("reply")
async def process_reply():
    ...

await broker.publish(..., re…

Replies: 1 comment

Comment options

You must be logged in to vote
0 replies
Answer selected by PhoenixNazarov
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
2 participants