C++跨平台(二):grpc和zmq的方案预研

本文探讨了在C++跨平台开发中,针对跨进程通讯的需求,对gRPC和ZeroMQ两个方案进行了预研。gRPC基于HTTP2.0,支持protoBuf进行数据交换,适合严格接口约束和高性能场景;ZeroMQ提供类似Socket的接口,支持多种通信模式,适用于进程间通信。目前作者倾向于在本地进程间通信时选用ZeroMQ。
摘要由CSDN通过智能技术生成

前言

在进行跨平台开发中,跨进程通讯或者服务器通讯是必不可少的一环,在开发中,我们会选择成熟的第三方库来进行开发。
今天就对跨平台的grpc和zmq进行方案预研
我的需求是:跨进程通讯

gRpc

grpc是什么?

gRPC是Google开源的RPC实现,基于最新的HTTP2.0协议,并支持常见的众多编程语言。gRPC客户端和服务端可以在多种环境中运行和交互,并且可以使用任何gRPC支持的语言来编写,支持跨平台、跨语言调用。

使用的时候客户端调用server端提供的接口就像是调用本地的函数一样。如下图所示就是一个典型的RPC结构图。
在这里插入图片描述

protoBuf

protoBuf是Google开源的一套成熟的结构数据序列化机制,gRPC默认使用的数据交换格式就是protoBuf。

  1. 优点:
    (1)序列化后体积比Json和XML都小,适合网络传输。
    (2)支持跨平台多语言。
    (3)消息格式升级和兼容性还不错。
    (4)序列化反序列化速度很快,快于Json的处理速度。
  2. 缺点:
    (1)功能简单,无法用来表示复杂的
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值