Skip to content

dubbogo/triple

Folders and files

NameName
Last commit message
Last commit date
Nov 6, 2021
Sep 4, 2021
May 3, 2021
Nov 7, 2021
Dec 2, 2024
Jan 12, 2022
May 3, 2021
May 3, 2021
Sep 26, 2022
May 3, 2021
Jun 26, 2021
Jun 26, 2021
Mar 16, 2022
Mar 16, 2022

Repository files navigation

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