Skip to content

xujianhai666/dubbo-go

Repository files navigation

go-for-apache-dubbo


Apache Dubbo Go Implementation.

License

Apache License, Version 2.0

Code design

Based on dubbo's layered code design (protocol layer,registry layer,cluster layer,config layer and so on),

About detail design please refer to code layered design

Feature list

Finished List:

  • Role: Consumer(√), Provider(√)
  • Transport: HTTP(√), TCP(√)
  • Codec: JsonRPC v2(√), Hessian v2(√)
  • Registry: ZooKeeper(√)
  • Cluster Strategy: Failover(√)
  • Load Balance: Random(√)
  • Filter: Echo Health Check(√)

Working List:

  • Cluster Strategy: Failfast/Failsafe/Failback/Forking
  • Load Balance: RoundRobin/LeastActive/ConsistentHash
  • Filter: TokenFilter/AccessLogFilter/CountFilter/ActiveLimitFilter/ExecuteLimitFilter/GenericFilter/TpsLimitFilter
  • Registry: etcd/k8s/consul

Todo List:

  • routing rule (dubbo v2.6.x)
  • monitoring (dubbo v2.6.x)
  • metrics (dubbo v2.6.x)
  • dynamic configuration (dubbo v2.7.x)

You can know more about dubbo-go by its roadmap.

Quick Start

The subdirectory examples shows how to use go-for-apache-dubbo. Please read the examples/readme.md carefully to learn how to dispose the configuration and compile the program.

Benchmark

Benchmark project please refer to go-for-apache-dubbo-benchmark

About go-for-apache-dubbo benchmarking report, please refer to dubbo benchmarking report & jsonrpc benchmarking report

About

Go Implementation For Apache Dubbo

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 100.0%