gRPC in ASP.NET Core 3.0 -- Protocol Buffer(1)
2024-10-20 11:36:38
现如今微服务很流行,而微服务很有可能是使用不同语言进行构建的。而微服务之间通常需要相互通信,所以微服务之间必须在以下几个方面达成共识:
- 需要使用某种API
- 数据格式
- 错误的模式
- 负载均衡
- 。。。
现在最流行的一种API风格可能是REST,它主要是通过HTTP协议来传输JSON数据。
但是现在我们可以看看gRPC(https://grpc.io/),它来自Google,并且支持众多主流的语言包括Go,Dart,C#,C/C++,Nodejs,Python等等。
下面就学习一下gRPC。
gRPC能解决哪些问题?
构建(Web)API是挺麻烦的,因为构建API时我们得考虑:
- 数据的格式是JSON、XML还是二进制的;
- 端点地址以及GET还是POST等;
- 如何调用API以及对异常的处理规则;
- API的效率:一次调用读取多少数据?是否太多了或太少了?太少的话可能会导致多次API的调用;
- 延迟;
- 扩展性,是否能支持成上千个客户端
- 负载均衡
- 与其他语言的互操作性
- 如何处理身份认证、监控、日志等等
以上这些问题据说gRPC都能解决。。
最新文章
- TAG-9F10 发卡行相关数据(转)
- 解决duplicate symbols for architecture x86_64错误
- tomee 消息持久化
- php 图片上传 使用微秒做文件名
- U型进度条
- JavaScript引用方法说明
- 为android项目集成maven
- Linux下Find命令的使用
- SublimeText更换皮肤
- Sublime Text 2结合VS2010配置C C++编译
- 如何定位到div滚动条的最底端
- GPIO
- ios Object Encoding and Decoding with NSSecureCoding Protocol
- 突然想写点东西,关于web新人的。采用问答方式
- keil c51 本變數型態(Variable Type)
- orientationchange
- Docker学习笔记【二】
- 小米平板7.0系统如何不root激活Xposed框架的方法
- [lua][openresty]代码覆盖率检测的解决方式
- RabbitMQ是如何运转的?
热门文章
- serverless 项目配置及创建helloworld应用(二)
- 使用nodejs-koa2-mysql-sequelize-jwt 实现项目api接口
- Spring cloud stream【入门介绍】
- appium入门篇之desired capabilities(2)
- 01 Django基础
- Django 你需要掌握的模型层(标签、过滤器、模板的继承与导入)
- 移动IM开发指南3:如何优化登录模块
- 【python3两小时快速入门】入门笔记01:基础
- 使用git提交时报错:error: RPC failed; HTTP 413 curl 22 The requested URL returned error: 413 Request Entity Too Large
- Linux服务器使用Docker部署.net Core项目