Some service calls need one answer, while others need a series of messages. A warehouse application might read one stock record, export many records, or review counts as workers scan products. These tasks exchange different amounts of information at different times. Forcing all of them into one large request and response can delay useful results or require unnecessary buffering.
gRPC supports four interaction patterns.
This chapter explains their message shapes, completion rules, and practical trade-offs, including what happens when a stream is slow or ends before all expected work finishes.