De tre dominerende muligheder er REST (HTTP/JSON), gRPC (HTTP/2 + Protobuf) og message queues (Kafka/RabbitMQ). REST og gRPC er synkrone; køer er asynkrone.
De tre dominerende muligheder er REST (HTTP/JSON), gRPC (HTTP/2 + Protobuf) og message queues (Kafka/RabbitMQ). REST og gRPC er synkrone; køer er asynkrone.
| Aspekt | REST | gRPC | Message Queue |
|---|
| Stil | Synkron | Synkron | Asynkron |
| Payload | JSON (tekst) | Protobuf (binær) | Vilkårlig (ofte binær) |
| Ydeevne | God | Høj | Høj gennemstrømning |
| Kontrakt | OpenAPI (løs) | .proto (streng) | Schema/event |
| Streaming | Begrænset | Nativ (tovejs) | Pub/sub |
| Bedst til | Offentlige API'er, browsere | Interne kritiske stier | Afkobling, begivenheder |
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)
Brugen af synkron gRPC/REST overalt genskaber stram kobbling; brug af asynkron til en brugers øjeblikkelige læsning tilføjer unødvendig latens.
Transportvalget sætter koblingen og ydeevneloftet for hver interaktion, så valg pr. use case — ikke globalt — er det, der holder systemet både hurtigt og modstandsdygtigt.
Modne systemer blander bevidst alle tre: gRPC på interne kritiske stier, REST ved kanten og køer til arbejdsprocesser.
Et bibliotek af IT-interviewspørgsmål med detaljerede svar — fra Junior til Senior.
Donér