将grpc用作网关,如此处所述-> https://grpc.io/blog/coreos有什么好处?
由于grpc-web还不够成熟(如此处所述-> https://docs.microsoft.com/en-us/aspnet/core/grpc/comparison?view=aspnetcore-3.0),与浏览器进行交互也很重要,因此我只能使用REST API来解决所有问题。
答案 0 :(得分:0)
REST和gRPC都是适合不同用例的工具。如果您有一个足够大的项目可以从微服务体系结构中受益,则gRPC可以提供类型安全的服务间通信,性能提升以及服务器和客户端存根的自动生成。想象一下,再也不必实现HTTP客户端存根了,对我而言,这是使用gRPC的最佳选择。对于REST,有诸如Swagger之类的代码生成工具,但是它们很麻烦,并且当我只是想在服务器上调用函数时,spec文件的一半最终变成了HTTP膨胀。当然,使用gRPC时,假设需要支持基于浏览器的客户端,您仍然需要实现REST API,但是此REST api非常简单,只需要委派正确的gRPC微服务即可。