Now service meshes strongly focus on synchronous request/reply (request driven) interactions. Their data plane is based on advanced usage of proxies, Envoy in case of Istio. Primarily protocols are HTTP 1.1 and 2.0, with some gRPC.
But a micro services architecture also requires event driven communication. Some question/idea that came up: why not use a messaging solution (pub/sub and/or queuing) as the data plane of a service mesh?
Multiple types of messaging systems exist: compliant with the JMS API, compliant with the AMQP protocol or modern incarnations such as Kafka or NATS.
Event Mesh (source: Solace.com) |
Strange that no other vendors or initiatives talk about using a Message Oriented Middleware (MOM) as the data plan of a service mesh. It is common practice in the integration world to switch from http to messaging inbound. And leverage light weight integration platform as ingress for a service mesh?