MicroServices Mesh Communication (Master Service => Satellite Micro Services)

MD
R
Markdown

Collection of commonly/standard protocols for communication within services.

// IDEAL FOR HIGH PRESSURE SCENARIOS

  • HTTP/2 is an updated version of the HTTP protocol, designed to address some of the performance limitations. Includes: multiplexing, header compression, and server push, which can help improve the efficiency and latency of communication between microservices.
  • gRPC: high-performance Remote Procedure Call (RPC) framework built on top of HTTP/2. It uses Protocol Buffers for serialization and allows for efficient, low-latency, and language-agnostic communication between microservices.
  • NATS or MQTT: Lightweight messaging protocols designed for high-performance, low-latency, and low-resource usage.

// IDEAL FOR NORMAL SCENARIOS

  • HTTP/1.1 RESTful APIs
  • WebSockets: Bi-directional, full-duplex communication channels over a single, long-lived TCP connection. This can be especially useful for real-time applications or situations where low-latency communication is required.
  • Message Brokers: RabbitMQ, Apache Kafka, or Amazon SQS provide asynchronous communication between microservices using message queues. These can help decouple services, improve fault tolerance, and enable better scalability.
  • GraphQL: Query language for APIs, allowing clients to request only the data they need from the server. It can be an alternative to REST, providing a more flexible and efficient way of querying data between microservices.

Created on 3/24/2023