Tri prevladujoče možnosti so REST (HTTP/JSON), gRPC (HTTP/2 + Protobuf) in message queues (Kafka/RabbitMQ). REST in gRPC sta sinhrana; vrste so asinhrana.
Tri prevladujoče možnosti so REST (HTTP/JSON), gRPC (HTTP/2 + Protobuf) in message queues (Kafka/RabbitMQ). REST in gRPC sta sinhrana; vrste so asinhrana.
| Vidik | REST | gRPC | Message Queue |
|---|
| Slog | Sink | Sink | Asink |
| Breme | JSON (besedilo) | Protobuf (binarna) | Poljubno (pogosto binarna) |
| Zmogljivost | Dobra | Visoka | Visoka prepustnost |
| Pogodba | OpenAPI (ohlapna) | .proto (stroga) | Schema/event |
| Pretakanje | Omejeno | Nativno (bidi) | Pub/sub |
| Najboljša za | Javni API, brskalniki | Notranji vroči poti | Decoupling, dogodki |
service OrderService {
// strongly-typed RPC, generated client + server stubs
rpc GetOrder (OrderId) returns (Order);
}
message OrderId { string id = 1; }
message Order { string id = 1; double total = 2; }
Order Service ─publish→ [ "OrderPlaced" topic ] ─▶ Inventory
└────▶ Notifications
(producer doesn't know or wait for consumers)
Uporaba sinhronega gRPC/REST povsod ponovno ustvari tesno povezanost; uporaba asinkrinosti za takoj branje uporabnika dodaja nepotrebno zakasnitev.
Izbira transporta nastavi povezanost in mejna hitrost zmogljivosti za vsako interakcijo, zato je izbira po primeru uporabe — ne globalno — tista, ki sistem drži hitrega in odpornega.
Zrela sistema namerno mešajo vse tri: gRPC na notranjih vročih poteh, REST na robu in vrste za potek dela.
Knjižnica IT vprašanj za razgovore s podrobnimi odgovori — od začetnika do izkušenega.
Doniraj