Very Good.~ Best wishes!
Yu Xiao Apache ShenYu Kunshuai Zhu <jo...@apache.org> 于2022年9月14日周三 20:04写道: > > Hi community, > > Triple is a new rpc protocol defined by dubbo3. Its principle is > similar to grpc, it is a streaming rpc protocol based on http2, and is > compatible with grpc. It is recommended by Apache Dubbo community > after dubbo 3.0 version. > > For more introduction to the triple protocol, please refer to the > following link (sorry for no English version, because Apache Dubbo > community does not seem to provide it for the time being): > [1] proposal: > https://github.com/apache/dubbo-awesome/blob/master/proposals/D0-triple.md > [2] Usage example: > https://dubbo.apache.org/zh/docs3-v2/java-sdk/reference-manual/protocol/triple/guide/ > > Regarding the Triple protocol, I want to implement two plugins. > > First, we can provide an http to triple plugin, which is similar to > our current grpc plugin. (Client -> [http msg] -> shenyu -> [triple > msg] -> triple server) In shenyu, we need to serialize json messages > into protobuf messages. This is mainly used for the scheduling of > north-south traffic, we can call it "Http-To-Triple Plugin" > > Second, I want to provide a plugin that directly proxy triple. (Client > -> [triple msg] -> shenyu -> [triple msg] -> triple server) In shenyu, > we do not need to do serialization and deserialization, and directly > perform triple protocol according to metadata and http2 header > Forward. This is an important benefit of the triple protocol for > gateway scenarios. This is mainly used for the scheduling of east-west > traffic, we can call it "Triple-Proxy Plugin" > > For the second plugin, grpc can also implement a similar grpc-proxy > plugin. The specific implementation may be similar to our mqtt > plug-in, which opens a triple service on a certain port to handle > triple rpc requests with unknown paths. > > Do you have any thoughts or suggestions about these two plugins? If > there is no problem, I will provide a more detailed proposal later.