欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

gRPC in ASP.NET Core 3.0 -- Protocol Buffer(1)

程序员文章站 2022-05-16 11:59:14
现如今微服务很流行,而微服务很有可能是使用不同语言进行构建的。而微服务之间通常需要相互通信,所以微服务之间必须在以下几个方面达成共识: 需要使用某种API 数据格式 错误的模式 负载均衡 。。。 现在最流行的一种API风格可能是REST,它主要是通过HTTP协议来传输JSON数据。 但是现在我们可以 ......

现如今微服务很流行,而微服务很有可能是使用不同语言进行构建的。而微服务之间通常需要相互通信,所以微服务之间必须在以下几个方面达成共识:

  • 需要使用某种api
  • 数据格式
  • 错误的模式
  • 负载均衡
  • 。。。

现在最流行的一种api风格可能是rest,它主要是通过http协议来传输json数据。

但是现在我们可以看看grpc(),它来自google,并且支持众多主流的语言包括go,dart,c#,c/c++,nodejs,python等等。

下面就学习一下grpc。

 

grpc能解决哪些问题?

构建(web)api是挺麻烦的,因为构建api时我们得考虑:

  • 数据的格式是json、xml还是二进制的;
  • 端点地址以及get还是post等;
  • 如何调用api以及对异常的处理规则;
  • api的效率:一次调用读取多少数据?是否太多了或太少了?太少的话可能会导致多次api的调用;
  • 延迟;
  • 扩展性,是否能支持成上千个客户端
  • 负载均衡
  • 与其他语言的互操作性
  • 如何处理身份认证、监控、日志等等

以上这些问题据说grpc都能解决。。