Apache Dubbo-go English
Apache Dubbo Go 语言实现
Apache License, Version 2.0
v1.0.0 - 2019年5月29日 兼容dubbo v2.6.5 版本
基于dubbo的extension模块和分层的代码设计(包括 protocol layer, registry layer, cluster layer, config 等等)。我们的目标是:你可以对这些分层接口进行新的实现,并通过调用 extension 模块的“ extension.SetXXX ”方法来覆盖 dubbo-go [同 go-for-apache-dubbo ]的默认实现,以完成自己的特殊需求而无需修改源代码。同时,欢迎你为社区贡献有用的拓展实现。
关于详细设计请阅读 code layered design
实现列表:
- Role: Consumer(√), Provider(√)
- Transport: HTTP(√), TCP(√)
- Codec: JsonRPC v2(√), Hessian v2(√)
- Registry: ZooKeeper(√)
- Cluster Strategy: Failover(√)
- Load Balance: Random(√)
- Filter: Echo Health Check(√)
开发中列表:
- Cluster Strategy: Failfast/Failsafe/Failback/Forking
- Load Balance: RoundRobin/LeastActive/ConsistentHash
- Filter: TokenFilter/AccessLogFilter/CountFilter/ActiveLimitFilter/ExecuteLimitFilter/GenericFilter/TpsLimitFilter
- Registry: etcd/k8s/consul
任务列表:
- routing rule (dubbo v2.6.x)
- metrics (dubbo v2.7.x) waiting dubbo's quota
- dynamic configuration center & metadata center (dubbo v2.7.x)
- tracing (dubbo ecosystem)
你可以通过访问 roadmap 知道更多关于 dubbo-go 的信息
这个子目录下的例子展示了如何使用 dubbo-go 。请仔细阅读 examples/README.md 学习如何处理配置并编译程序。
性能测试项目是 go-for-apache-dubbo-benchmark
关于 dubbo-go 性能测试报告,请阅读 dubbo benchmarking report & jsonrpc benchmarking report