我知道我们正在比较两种不同的技术,但我想知道两者的优缺点。WCF 已经存在将近十年了。到目前为止,Java世界中还没有类似的东西吗?
问问题
10961 次
3 回答
30
在非常高的水平上,它们似乎都针对相同的工具空间。
但是,我可以了解的差异:
- GRPC 不使用 SOAP 通过 http 在客户端和服务之间进行调解。WCF 支持 SOAP。
- GRPC 只关心 RPC 风格的通信。除了 RPC,WCF 还支持和促进 REST 和 POX 样式的服务。
- GRPC 提供对多种编程语言的支持。WCF 支持 C#(和其他 .net 语言)。
- GRPC 使用 protobuf 进行在线序列化,WCF 使用 XML/JSON 或 windows 二进制文件。
- GRPC 是开源的
简而言之:
GRPC 似乎是一个更加专注的服务框架,它可以在多个平台上很好地完成一项工作。
WCF 更通用,但暂时仅限于 .net(WCF 正在移植到 .net 核心,但在撰写本文时只有客户端功能在 .net 核心上)
于 2016-02-29T09:31:27.133 回答
3
除了上面提到的答案,我想补充一点,gRPC 不支持 windows/kerberos 身份验证,这是企业界事实上的身份验证模式。
因此,从 WCF 迁移到 gRPC 非常困难。
于 2020-10-29T11:44:44.817 回答
2
正如汤姆已经提到的:
WCF 使用 XML/JSON 或 windows 二进制文件
而 gRPC 使用二进制,这使得消息在客户端/服务器端点上反序列化更加精简和快速。只需放弃人类可读性功能即可。
另外,请注意,WCF
需要额外的配置(和麻烦)才能HTTP2
获得利润,例如:更短的 header 和 body(这意味着更快的传输)、更安全和可靠的连接以及多路复用(也就是并行的多个请求/响应) ), server-push 等等......,虽然gRPC
已经接受了它。
于 2020-07-17T11:22:52.287 回答