以gRPC为例,只支持pb生成的类型,不支持pb里定义的原生类型,如int32/string 等。

比如下面的gRPC配置是不合法的,不能返回int32,要定义包装一层:

```
// The test service definition.
service Test {
  // Sends a greeting
  rpc SayHello (HelloReply) returns int32;
}
```


---

目前dubbo里pb支持了原始类型,但 map只支持 `<String,String>` 。

1. 这样子对于用户来说是很困惑的,为啥 map只能是`<String,String>` 。
2. 目前没有太好的办法解决所有的类型问题,可能到最终也没有办法解决

---

所以,建议dubbo里去掉原始类型的支持,和gRPC类似,只支持pb生成的类型。

1. 本质上rpc函数的参数和返回值,都是一个pb定义的对象,它是有tag的,它里面是可以增加/废弃字段的。如果只有原始类型的话,那么就没有tag了
2. gRPC本身不支持pb里的原始类型,说明gRPC本身知道里面的坑
3. 用pb本身的方式来包装一下,对性能来说,没有损失




[ Full content available at: https://github.com/apache/dubbo/issues/5714 ]
This message was relayed via gitbox.apache.org for 
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to