利用 gRPC 服务请求
1. 背景与动机
在开发过程中,我们已经搭建了项目、使用了协议缓冲区并编写了日志库。但目前该日志库只能在单台计算机上供单人使用,用户需要学习库的 API、运行代码并将日志存储在本地磁盘,这限制了用户群体。为了解决这些问题并吸引更多用户,我们可以将库转变为 Web 服务。与单台计算机上运行的程序相比,网络服务具有以下三大优势:
- 可跨多台计算机运行,提高可用性和可扩展性。
- 允许多人与相同数据进行交互。
- 提供易于使用的可访问接口。
适合编写服务以获取这些优势的场景包括为前端提供公共 API、构建内部基础设施工具以及创建用于开展业务的服务。
2. 什么是 gRPC
在构建分布式服务时,常见的两个问题是维护客户端与服务器之间的兼容性和性能。为确保兼容性,可通过 API 版本控制来保证旧客户端在服务器有重大更改时仍能正常工作。而在性能方面,主要需优化数据库查询和业务逻辑算法,同时减少请求解组和响应编组的时间以及客户端与服务器通信的开销。
Google 发布的 gRPC 是一个开源的高性能 RPC(远程过程调用)框架,它在构建分布式系统时能有效解决上述问题,简化开发工作。
3. 构建服务的目标及 gRPC 的作用
构建网络服务时,有几个重要目标,gRPC 在实现这些目标方面发挥了重要作用,具体如下:
|目标|gRPC 的作用|
| ---- | ---- |
|简单性|gRPC 是中到高级别的框架,高于 Express 框架,它决定如何序列化和构建端点,并提供双向流等功能;低于 Rails 框架,Rails 处
超级会员免费看
订阅专栏 解锁全文
55

被折叠的 条评论
为什么被折叠?



