一起养成写作习惯!这是我参与「掘金日新计划 · 4 月更文挑战」的第12天,点击查看活动详情。
本章节介绍了gRPC与传统HTTP API方式对比的优缺点
背景介绍
如今,软件开发过程严重依赖API(应用程序编程接口)。API 是一组代码,允许 2 个或更多软件相互通信。API可以通过降低其复杂性来简化和加速软件开发过程。此外,开发人员可以使用 API 将其他软件中的功能添加到其现有解决方案中。他们不必处理源代码,试图弄清楚其他解决方案是如何工作的。他们只是将他们的软件链接到另一个。换句话说,API 充当 2 个系统之间的抽象层,隐藏了它们工作方式的复杂性和细节。
REST介绍
REST(具象状态传输)是开发人员用于生成 Web API 的一种软件体系结构。REST API 提供了简单而统一的接口,您可以实现这些接口,以便通过 Web URL 提供数据和数字资产。除了 REST 之外,另一个流行的 API 设计模型是 gRPC。Google创建了gRPC作为RPC(远程过程调用)结构的扩展,以加快微服务和其他系统之间的数据传输速度。gRPC 使用 Protobuf(协议缓冲区)来克服速度和权重限制,并在使用其轻量级消息传递格式传输消息时提供更高的效率。
gRPC介绍
gRPC(Google Remote Procedure Call)是RCP架构的扩展。此技术遵循使用 HTTP 2.0 协议的 RPC API 的实现,但是,HTTP 对 API 开发人员或服务器不可见。因此,高级别的抽象可以防止用户担心将 RPC 概念映射到 HTTP。 gRPC 模型提高了微服务之间的数据传输速度。它确定服务,建立方法和参数以允许远程调用和返回类型。此外,它以接口描述语言(IDL)表示API RPC模型,从而简化了远程确定过程的任务。
总结
通过本节我们对gRPC服务有了一个大致的了解,远程调用的方法多种多样,因为有google的加持,使用gRPC的企业非常之多,因为其有良好的的跨平台支持,因此编程语言不受限制,非常适合不同部门之间的协作。使用gRPC结合protobuf使用,又可以将安全提升一个等级,protobuf生成的对象,通过private属性提供了自我保护的能力,字段必须要要在发送前明确,所以对于信息的传递是安全的。