protobuf使用详解_BRPC详解(一)——概述

作为一个C++新人,打算在2020年认真学习一个质量优秀的C++开源框架,BRPC应该是非常不错的一个。本篇文章作为BRPC详解的第一篇,也只是结合官方github的文档来对BRPC做一个比较简单的介绍,后续该系列的文章会对BRPC的各个部分做一些总结,希望能够和大家一起学习交流。

首先先给出几篇参考的博客、文档链接

戈神知乎链接:

戈君:深入brpc​zhuanlan.zhihu.com
5f3484e54d308611edeb52dc4c009492.png

官方github:

https://github.com/apache/incubator-brpc​github.com

官方文档:

https://github.com/apache/incubator-brpc/tree/master/docs/cn​github.com

注:本博客主要摘要自BRPC的官方github介绍

一、什么是RPC:

RPC把网络交互类比为“client端访问server端上的函数”:client向server发送request后开始等待,知道server收到请求后,处理、回复client,client又再度恢复并根据response做出反应

171714ef292da748020e24b20b8fc632.png
RPC通信过程

数据序列化方式:protobuf、json(http使用)

连接建立方式:短链接、连接池、长连接

命名服务与负载均衡:DNS、ZooKeeper、etcd等

连接断开时重试

server在给定时间内没有回复,client会返回超时错误

二、RPC使用场景:

几乎所有的网络应用,在绝大部分网络交互中,RPC技能解决问题,又能隔离更底层的网络问题

三、什么是BRPC

百度内最常使用的工业级RPC框架, 有1,000,000+个实例(不包含client)和上千种服务, 在百度内叫做"baidu-rpc”。具体可以使用BRPC做如下

  • 搭建能在一个端口支持多协议的服务, 或访问各种服务
  • Server能同步或异步处理请求
  • Client支持同步、异步、半同步,或使用组合channels简化复杂的分库或并发访问
  • 通过http界面调试服务, 使用cpu, heap, contention profilers
  • 获得更好的延时和吞吐
  • 把你组织中使用的协议快速地加入brpc,或定制各类组件, 包括命名服务 (dns, zk, etcd), 负载均衡 (rr, random, consistent hashing)

四、BRPC的优势

  1. 更友好的接口
  2. 服务更加可靠
  3. 更好的延迟和吞吐

感兴趣的小伙伴可以关注专栏:

独立团丶​zhuanlan.zhihu.com
70a23637bc2a5c21e61ffae8452f43b1.png

感兴趣的小伙伴可以关注公众号:

b836cc86a0aed66309c59bba4db4abc6.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值