brpc 介绍 百度开源的RPC框架

本文介绍brpc,百度研发的RPC框架,支持protobuf和json序列化,提供短链接、连接池和长连接方式,利用DNS、ZooKeeper和etcd进行命名服务与负载均衡。brpc在连接断开时自动重试,若server未在规定时间内响应,client将收到超时错误。
摘要由CSDN通过智能技术生成
brpc

brpc又称为baidu-rpc,是百度开发一款“远程过程调用”网络框架。

  • 数据序列化方式:protobuf、json(http使用)
  • 连接建立方式:短链接、连接池、长连接
  • 命名服务与负载均衡:DNS、ZooKeeper、etcd等
  • 连接断开时重试
  • server在给定时间内没有回复,client会返回超时错误

github地址:https://github.com/apache/incubator-brpc

文档:https://github.com/apache/incubator-brpc/tree/master/docs

rpc

Remote Procedure Call,远程过程调用。

简单来说,就是A主机上的进程的方法去调用B主机上的进程的方法。传统的,我们需要学习网络编程,协议解析等等才能去完成这样的代码。但是有了rpc框架,这些重复的工作就可以省略了。我们就可以更多的关注我们业务的真实代码,提高开发效率。

安装
:git clone git@github.com:apache/incubator-brpc.git
### 回答1: 目前常见的Apache RPC框架有:Apache Thrift、Apache Avro、Apache Qpid、Apache HBase、Apache ActiveMQ和Apache Axis2。 ### 回答2: Apache bRPC是一个基于C++的远程过程调用(RPC框架,与其他类似的RPC框架相比,它具有以下特点和优势: 1. gRPC:gRPC是一个由Google开发的开源RPC框架,支持多种编程语言,包括C++。与bRPC类似,它也基于Protocol Buffers和HTTP/2,提供高性能和可靠的跨网络通信。 2. Thrift:Apache Thrift是一个多语言的跨平台RPC框架,可以生成不同语言的代码。它支持C++、Java、Python等多种编程语言,具有广泛的应用领域和丰富的特性。 3. Dubbo:Dubbo是阿里巴巴开源的分布式服务框架,主要用于Java语言。它支持服务治理、服务注册中心等功能,并且具有较高的性能和可靠性。 4. Apache Thrift:Apache Tooth是由 Facebook 开发的一个高效的远程服务通讯框架,其可传递的数据类型: 再Python中:bool, byte, i16, i32, i64,内建字符串,列表和map 再C++中:bool. tropical,byte,short.int.long.字符串.数组和实体。 5. Cap'n Proto:Cap'n Proto是一个高效的RPC和序列化框架,设计目标是提供高性能和低延迟的数据通信。它支持C++、Python、Java等多种编程语言,可以用于构建分布式系统。 总结:以上所列举的框架都是流行且功能强大的RPC框架,虽然有些框架可能在具体实现细节上有所差异,但它们都提供了便捷的远程服务通信和跨语言的支持。根据具体的需求和项目背景,可以选择合适的RPC框架来实现分布式系统。 ### 回答3: Apache bRPC是一个基于Apache Avro协议的分布式RPC框架,它主要用于构建高效、易于扩展的分布式系统。 除了Apache bRPC,还有一些类似的RPC框架可供选择,如下所示: 1. Apache Dubbo:Dubbo是一种高性能、轻量级的分布式服务框架,支持面向接口的远程方法调用。Dubbo具有灵活的服务治理和负载均衡策略,可实现服务的快速扩展和集群部署。 2. gRPC:gRPC是一个高性能、开源的通用RPC框架,由Google开发并采用Protocol Buffers作为IDL。它支持多种编程语言,提供强大的流控、认证和负载均衡功能。 3. Thrift:Thrift是一种可伸缩、跨语言的RPC框架,最初由Facebook开发。它支持多种数据编码格式,包括二进制、JSON和压缩格式。Thrift适用于复杂数据结构和大规模分布式系统。 4. MessagePack-RPC:MessagePack-RPC是一个高性能、轻量级的RPC框架,使用了MessagePack作为序列化协议。它支持多种编程语言,具有简单易用的API和低延迟的性能特点。 尽管这些框架都可以实现RPC通信,但它们在协议、性能、语言支持和功能方面有所不同。选择合适的RPC框架应根据项目的需求、开发团队的熟悉程度和系统的规模来决定。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值