-
Notifications
You must be signed in to change notification settings - Fork 42
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
提议分开 http 和 gRPC 的实现代码 #31
Comments
改动的可能有点大,官方的客户端也是分开的 |
这个可以改,但是会造成BC。还有一个,协议混用的场景多吗,我是认为提供过多可以调用的方法,对于使用者来说在协议切换的时候还得改代码,这块也不是很友好 |
相对来说我认为切协议 修改代码是必要的,协议混用的场景我也无法确定多不多,但如果遇到混用的话将会很麻烦,即使切协议也要全部的服务都切,无法实现只切一部分,切部分协议就是混用的场景呀。 |
如果只能使用一种协议,全切的成本也是巨大的,必须全部涉及到的服务协议修改完成才能切,还需要大量的测试。 |
如果切部分协议是混用的场景,越往后切协议的成本就约高,导致很难切最后基本不可能切,不如早早提供混用的场景便与后期可以过渡,代码层面也更友好 |
把两个放一起是故意的设计,我不认为分开更好,会造成很多代码的浪费,PHP 本身可以接受多种参数类型,写成以下的方式即可 public function callBranch(\Google\Protobuf\Internal\Message|array $body, string $tryUrl, string $confirmUrl, string $cancelUrl) |
这块我考虑另外一个问题,就是在协议切换的时候,比如我原本的服务用的是 http协议的,后面在切换GRPC协议,是否会有协议混用的场景,按照目前的做法应该是不支持协议混用的场景的 |
协议混用理论上是可以支持的,就看要不要去做了,我是希望弱化用户对协议层的关注和理解,只通过一个配置值就能内部隐式完成切换 |
例如
The text was updated successfully, but these errors were encountered: