Chaguo tatu kuu ni REST (HTTP/JSON), gRPC (HTTP/2 + Protobuf), na message queues (Kafka/RabbitMQ). REST na gRPC ni za synkroni; orodha ni asynchronous.
Chaguo tatu kuu ni REST (HTTP/JSON), gRPC (HTTP/2 + Protobuf), na message queues (Kafka/RabbitMQ). REST na gRPC ni za synkroni; orodha ni asynchronous.
| Ujumbe | REST | gRPC | Message Queue |
|---|
| Mtindo | Synk | Synk | Async |
| Mzigo | JSON (maandishi) | Protobuf (binary) | Yoyote (mara nyingi binary) |
| Utendaji | Nzuri | Juu | Umeme wa juu |
| Mkataba | OpenAPI (nzuri) | .proto (kali) | Schema/event |
| Mtiririko | Mdogo | Native (bidi) | Pub/sub |
| Bora kwa | API za umma, vifungua | Ndani joto moto | Kutenganisha, matukio |
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)
Kuwa na gRPC/REST synkroni kila mahali kujenga upya muunganisho wenye nguvu; kuwa na asynchronous kwa kuoma haraka kwa mtumiaji kuongeza latency isiyo na haja.
Chaguo la usafiri linaweka muunganisho na dari ya utendaji kwa kila mwingiliano, hivyo kuchagua kwa kila hali ya matumizi — si kwa pandekta nzima — ndilo kile kinachopaaza mfumo kuwa wa haraka na wenye upinzani.
Mifumo inayokomaa sawa kuchanganya zote tatu: gRPC juu ya barabara moto za ndani, REST kwenye makali, na orodha kwa mtiririko wa kazi.
Maktaba ya maswali ya mahojiano ya IT yenye majibu ya kina — kutoka Junior hadi Senior.
Changia