> Why are micro-services only defined by synchronous/socket communication?
In the name is the word "service", which means a process that waits and responds to a client's request. This act of request followed by response is fundamentally synchronous.
In the name is the word "service", which means a process that waits and responds to a client's request. This act of request followed by response is fundamentally synchronous.
OASIS defines a service as "a mechanism to enable access to one or more capabilities, where the access is provided using a prescribed interface and is exercised consistent with constraints and policies as specified by the service description". [0]
I see nothing that requires synchronous communication only. Virtually every large micro-service architecture I have ever seen communicates through queues asynchronously.
[0] https://en.wikipedia.org/wiki/Service_(systems_architecture)