MicroServices Mesh Communication (Master Service => Satellite Micro Services)
MD
R
MarkdownCollection 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