4、使用 gRPC 提供服务

使用 gRPC 提供服务

1. 从日志库到网络服务

我们已经完成了日志库的编写,但目前这个库只能在单台计算机上由单个人使用。用户需要学习库的 API、运行代码并将日志存储在本地磁盘,这限制了用户群体。为了解决这些问题,我们可以将库转化为网络服务。与单台计算机上运行的程序相比,网络服务有以下优势:
- 可在多台计算机上运行,提高可用性和可扩展性。
- 允许多人与相同的数据进行交互。
- 提供易于使用的接口。

适用于编写服务以获得这些优势的场景包括为前端提供公共 API、构建内部基础设施工具以及创建用于开展业务的服务。我们将借助 Google 的 gRPC 来构建一个允许多人交互并在多台计算机上运行的服务。

2. 什么是 gRPC

在构建分布式服务时,常见的问题是维护客户端和服务器之间的兼容性和性能。为了确保兼容性,我们可以对 API 进行版本控制;为了优化性能,需要优化数据库查询、算法实现,减少请求和响应的序列化开销以及通信开销。

gRPC 是一个开源的高性能 RPC(远程过程调用)框架,它在解决这些问题上很有帮助。以下是构建网络服务时的重要目标以及 gRPC 如何帮助实现这些目标:
|目标|gRPC 的帮助|
| ---- | ---- |
|简单性|gRPC 处于中高级抽象层次,能决定请求和响应的序列化与结构,提供双向流等功能,还可通过中间件扩展,社区编写的中间件能解决很多服务构建中的问题。|
|可维护性|在有重大 API 变更时,可轻松编写和运行不同版本的服务;利用 protobuf 的字段版本控制处理小变更;请求和响应的类型检查可防止引入不兼容的变更。|

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值