mikebolshakov
Jan 20, 2021

--

Thanks for the post, nice reading.

Patterns you describe are normally used when services do work independently, but in real life most of the interactions are request/response, i.e. calling service expects some result from other service.

So, I wonder how do you deal with request/response pattern.

By my experience there are following approaches:

1) if your queue vendor allows, a publisher sends a request to queue and does blocking wait until a response came back. So, this is hardly better than gRPC-like approach (or REST at the end). But here we have mutually dependent services what we are trying to avoid.

2) Another way is an async interaction when a publisher posts a command with some correlationId and gets response some time later and process it in async manner. But implementing all complex interactions in such a manner will be a pain in the neck.

--

--

mikebolshakov
mikebolshakov

Written by mikebolshakov

Golang developer & system architect

Responses (1)