Tiga pilihan dominan yaiku REST (HTTP/JSON), gRPC (HTTP/2 + Protobuf), lan jalur pesen (Kafka/RabbitMQ). REST lan gRPC iku sinkron; jalur iku asinkron.
Tiga pilihan dominan yaiku REST (HTTP/JSON), gRPC (HTTP/2 + Protobuf), lan jalur pesen (Kafka/RabbitMQ). REST lan gRPC iku sinkron; jalur iku asinkron.
| Aspek | REST | gRPC | Jalur Pesen |
|---|
| Gaya | Sinkron | Sinkron | Asinkron |
| Payload | JSON (teks) | Protobuf (biner) | Apa wae (kadhang biner) |
| Performans | Apik | Dhuwur | Throughput dhuwur |
| Kontrak | OpenAPI (kendor) | .proto (ketat) | Skema/acara |
| Streaming | Winates | Nativ (bidireksi) | Pub/sub |
| Paling cocok kanggo | API publik, browser | Jalur internal panas | Decoupling, acara |
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)
Gunakan gRPC/REST sinkron ngendi-mana nyiptaake maneh sambungan rapat; gunakan asinkron kanggo maca langsung pengguna nambah latensi sing ora perlu.
Pilihan transport menetapkan sambungan lan ambang performans kanggo saben interaksi, dadi milih saben kasus panggunaan — ora global — inilah sing nggawe sistem cepet lan tangguh.
Sistem yenu menggabungake kabeh telu kanthi sengaja: gRPC ing jalur internal panas, REST ing pinggir, lan jalur kanggo alur kerja.