dubbo-go
dubbo-go copied to clipboard
Go Implementation For Apache Dubbo .
### Environment - Server: java提供的dubbo服务, dubbo版本2.7.3 - Client: Dubbo-go, v1.5.8 - Protocol:dubbo - Registry: zookeeper ### Issue description 通过dubbo-go客户端调用java提供的dubbo服务,报“No provider is available because can't connect server” 这种奇怪错误(偶现的,感觉机器负载压力高的时候会出现),查不到相关资料,在容器内部 telnet 命令访问目标dubbo服务的ip和端口是能正常通信的,dubbo管控台也正常体现provider的服务 ###...
The following snippet has been removed from ProviderConfig and needs to be supported in the new triple implementation. ```go for k, v := range rc.Protocols { if v.Name == tripleConstant.TRIPLE...
- RestConfig 需要 options 包一层,用户使用 client/server 层,结合当前API做到类似其他rest框架的使用体验; - 和triple协议的关系?rest更多是编码、规范层,其实通信能力上和triple http是对等的,但是triple的 rest 风格服务怎么对外发布是个问题。如果没有好的方案的话,用 rest 作为补充也不是不行,正好dubbo有多协议模式支持 - 单端口多协议?表面上会是 RestProtocol 和 TripleProtocol 用同一个端口发布,做到终态,可能会是triple协议如何内置支持rest模式。
triple/internal 下面的示例,是不是后续想办法移出去:一部分被helloworld等示例取代,一部分放到集成测试目录
https://github.com/apache/dubbo-go/pull/2454
triple协议非proto模式的支持,比如一个是 * 完全无proto * 一个是client侧无proto
当前版本的healthcheck设计和能力与grpc是对等的,但dubbo作为一个微服务实例的生命周期,需要对外透露出更多的状态,我们预计在下个版本为healthcheck添加更多的状态,使healthchaek服务透露的状态能与dubbo服务生命周期对齐
Check discussion left in https://github.com/apache/dubbo-go/pull/2484
``` 刘军:imports dubbo.apache.org/dubbo-go/v3/protocol/triple imports dubbo.apache.org/dubbo-go/v3/server 刘军:@王宇轩 这个triple依赖server的依赖关系合理吗? 刘军:是不是应该server不被其他package依赖 王宇轩:@刘军 是的,应该是server依赖下层 王宇轩:triple应该提供自己的info struct,client info和server info属于更高层次的info,用它们转化成协议各自需要的info 刘军:我今天做一些调整时发现有这个反向依赖问题,这块好改吗?serverinfo挪个位置能不能解决 王宇轩:我觉得最好是triple定义自己需要的info,server层或者invoker链上的protocol_filter_wrapper根据具体协议将serverInfo进行转化 王宇轩:那么triple就能做到完全不感知上层,我们把triple所有可能的输入通过test进行覆盖,由这些用例来确定triple的边界。我觉得这应该是我们的一个目标,让其它那些需要通过config.Load启动的用例都变成这种形式 刘军:@王宇轩 听起来没问题[赞]。咱们这个版本的目标那,先保持不动吧,这个记一个issue,下一个版本来迭代 ```