gRPC和WCF有什么区别?

Jon*_*nna 12 wcf grpc

我知道我们正在比较两种不同的技术,但我想知道两者的优缺点.WCF现在已经存在了将近十年.到目前为止,java世界中没有类似的东西吗?

tom*_*ern 16

在很高的水平上,它们似乎都可以解决相同的工具空间问题.

但是,我可以接受的差异:

  • 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核心上)

  • @tomredfern-https://github.com/dotnet/wcf仅包含.NET Core客户端库,因此您可以使用.NET Core中的WCF。但是您不能从.NET Core托管WCF服务,您需要完整的.NET框架。更多信息:https://github.com/dotnet/core/issues/130和https://github.com/dotnet/wcf/issues/1200 使用gRPC,客户端和服务器端库对于所有语言都是开源的。在WCF中,只有.NET Core客户端库是开源的。 (4认同)
  • WCF现在也是开源的,但没有人关心. (3认同)
  • 整个WCF都不是开源的。仅仅是用于.NET Core的WCF客户端库。 (3认同)