Kubernetes微服务实战
上QQ阅读APP看书,第一时间看更新

2.6 使用客户端库

接口使用起来非常方便。在你的编程语言环境中,可以使用本地数据类型调用方法。然而,使用网络API的方式有所不同,你需要使用网络库(具体取决于传输方式)。你需要序列化有效负载和响应,并处理网络错误、断开连接和超时。客户端库模式封装了远程服务和所有这些决策,并提供了一个标准接口,你可以调用该接口作为服务的客户端。后台的客户端库将负责所有与调用网络API有关的事情。抽象漏洞定理(https://www.joelonsoftware.com/2002/11/11/the-law-of-leaky-abstractions/)提到,你无法真正地隐藏网络。但是,你可以非常有效地向服务消费者隐藏它,并使用有关超时、重试和缓存的策略对其进行正确配置。

gRPC的最大卖点之一是它可以生成一个客户端库。