All Projects → dubbogo → triple

dubbogo / triple

Licence: other
triple-go (dubbo3) network protocol package

Programming Languages

go
31211 projects - #10 most used programming language
Makefile
30231 projects
shell
77523 projects
java
68154 projects - #9 most used programming language

Triple-go

dubbo protocol v3 (alias: triple) in Go

中文版README

Summary

Triple-go is a golang network package that based on http2, used by Dubbo-go 3.0.

It is an amazing (grpc+) protocol, compatible with Dubbo 3.0 and grpc-go. has great interoperability with grpc-go and Dubbo 3.0.

Feature

  • Use standard proto IDL to define your dubbo-go service and realize cross-language intercommunication with dubbo-java.
  • Perfect interoperability with your existing grpc services, allowing you to experience a framework with both dubbo service management capabilities and grpc compatibility.
  • Provide two-way streaming RPC calls and communicate with grpc.

Architecture

triple-go-arch

Triple Protocol

  • Alibaba Cloud official introduction article: 《Dubbo 3.0-Open the next generation of cloud-native microservices》

  • Http2 protocol header extension fields:

    • Requeset header

      tri-service-version: dubbo app version

      tri-service-group: dubbo app group

      tri-req-id: request id

      tri-trace-traceid: trace id

      tri-trace-rpcid: span id

      tri-trace-proto-bin: trace context binary data

      tri-unit-info: cluster information

    • Response header(trailer fields)

      grpc-status: grpc status code

      grpc-message: error message

      trace-proto-bin: trace binary data

Docs

Triple-go docs

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].