-
Notifications
You must be signed in to change notification settings - Fork 11
Description
Is your feature request related to a problem? Please describe.
The current implementation of the TTHeader protocol only supports the PingPong API, which limits its applicability in scenarios requiring streaming capabilities. This limitation necessitates an enhancement to support more complex communication patterns, such as streaming RPC APIs, which are increasingly used in modern distributed systems.
Describe the solution you'd like
The proposed enhancement involves extending the TTHeader protocol to support Streaming RPC APIs, including Bidirectional Streaming, Server Streaming, and Client Streaming. This extension will align the protocol more closely with gRPC-like capabilities while maintaining simplicity by dedicating a connection to each stream. Key changes include:
Utilizing Frame Types (FRAME_TYPE
) to distinguish between MetaFrame, HeaderFrame, DataFrame, and TrailerFrame.
Maintaining compatibility with existing GRPC projects by preserving GRPC-style Header/Trailer.
Proxy handling of Unknown Frame Types to allow future expansion.
Describe alternatives you've considered
Alternatives considered include sticking with the existing PingPong API and managing streaming capabilities at the application level. However, this approach was deemed inefficient and less scalable compared to supporting streaming at the protocol layer.
Additional Context
For detailed information, please refer to ByteDance's internal documentation to unders