gRPC in ASP.NET Core 3.0 -- Protocol Buffer(1)
程序员文章站
2023-01-22 16:08:40
现如今微服务很流行,而微服务很有可能是使用不同语言进行构建的。而微服务之间通常需要相互通信,所以微服务之间必须在以下几个方面达成共识: 需要使用某种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都能解决。。
推荐阅读
-
gRPC in ASP.NET Core 3.0 -- Protocol Buffer(1)
-
ASP.NET Core 3.0 上的gRPC服务模板初体验(多图)
-
asp.net core 3.0 gRPC框架小试
-
asp.net core 3.0 选项模式1:使用
-
ASP.NET Core 3.0 gRPC拦截器的使用
-
ASP.NET Core 3.0使用gRPC的具体方法
-
gRPC in ASP.NET Core 3.0 -- Protocol Buffer(1)
-
asp.net core 3.0 gRPC框架小试
-
ASP.NET Core 3.0 上的gRPC服务模板初体验(多图)
-
ASP.NET Core 3.0使用gRPC的具体方法