Go问答 兼容dubbo的微服务框架dubbogo;dubbo的完整go语言实现

alexstocks · 2016年10月17日 · 最后由 zzhua 回复于 2016年10月18日 · 942 次阅读

1 说明

一个支持 dubbo 协议的 go 微服务框架;dubbo 的完整 go 语言实现dubbogo,以及其代码示例dubbogo-examples

2 feature

v0.2 feature list:

  1. 基于 dubbo(hessian2.0) + tcp 实现的 go client 以阻塞并行方式调用 dubbo(hessian2)原生协议的 java server 的服务;

v 0.1.2 feature list:

  1. 基于 jsonrpc 2.0 + http 实现的 go client 可以调用基于 dubbogo(jsonrpc 2.0)实现的 go server 的服务;
  2. 基于 jsonrpc 2.0 + http 实现的 go client 可以调用基于 dubbo(jsonrpc 2.0)实现的 java server 的服务;
  3. 基于 jsonrpc 2.0 + http 实现的 java client 可以调用基于 dubbogo(jsonrpc 2.0)实现的 go server 的服务;

v 2.6.5.0 feature list:

Role: Consumer(√), Provider(√);

Transport: HTTP(√), TCP(√);

Codec: JsonRPC v2(√), Hessian v2(√);

Registry: ZooKeeper(√);

Cluster Strategy: Failover(√);

Load Balance: Random(√);

Filter: Echo Health Check(√);

2.1 补充

将近两年【2016/10/07 ~ 2018/05/18】的多次延期后,v0.2.0 于今日发布,目前仅仅在 client 层面支持了 dubbo 原生协议。

v0.1.2 其实现基于 http + jsonrpc2.0.

v 2.6.5.0 作为一个大版本迭代,对之前版本的代码进行了重构。基于 dubbo 的 extension 模块和分层的代码设计 (包括 protocol layer, registry layer, cluster layer, config 等等)。我们的目标是:你可以对这些分层接口进行新的实现,并通过调用 extension 模块的 “ extension.SetXXX ” 方法来覆盖 dubbo-go [同 go-for-apache-dubbo ] 的默认实现,以完成自己的特殊需求而无需修改源代码;

项目已经合并进 dubbo 社区,详情请查看最新项目地址: https://github.com/dubbo/go-for-apache-dubbo

3 代码示例

  1. 在 dubbogo-examples 的示例user-info下面添加了 client & server & java-client & java-server 四个示例,完整演示了上面 v0.1.2 所示的三个 featrue;
  2. 在 dubbogo-examples 的示例user-info下面添加了 client & java-server 两个示例,完整演示了上面 v0.2.0 所示的 featrue;
  3. 最新 v2.6.5.0 的 example 请查看:https://github.com/dubbo/go-for-apache-dubbo/tree/master/examples 配合代码重构做了一个比较大的变更。
更多原创文章干货分享,请关注公众号
  • 加微信实战群请加微信(注明:实战群):gocnio

帮你修改了一下格式,现在好看多了,:)

目前公司主要业务都是基于 dubbo/java 的,所以这个如果稳定了一定很有实用价值,关注。

关注一下,之前就想找这类的工具😄

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册