如何在Mac上安装BRPC

简介: 如何在Mac上安装BRPC

BRPC是百度内最常使用的工业级RPC框架, 有1,000,000+个实例(不包含client)和上千种多种服务, 在百度内叫做"baidu-rpc",是一个非常有价值的战斗级RPC框架。


BRPC的优势


过多优势的介绍不是本文的重点,以下提供几个链接作为参考:




BRPC的安装


由于brpc是使用C++编写的,目前官方并没有提供比较友好的安装方式,需要clone官方提供的源码进行编译安装才可以运行。


先给出官方文档-macos,供大家参考。


虽说官方文档写得确实不错,在C++老手看来是非常简单的,但是对于我这个Android出身,C++水平一般的人而言,光是编译安装就花了近3个小时才安装成功,下面我将一步一步讲解如何在Mac安装BRPC以及中间遇到的各种坑。


安装前的准备工作


在安装前,百度也事先提醒了,当前Mac版本的性能比Linux版本差2.5倍,建议不要使用MacOS用作生产环境,不过这应该不影响我进行开发吧,哈哈~~


  1. 安装通用的开发工具


执行下面的命令,安装openssl、git、gnu-getopt、coreutils


brew install openssl git gnu-getopt coreutils


  1. 安装BRPC依赖的工具


执行下面的命令,安装gflags, protobuf, leveldb


brew install gflags protobuf leveldb


  • gflags:google的命令行参数解析工具


  • protobuf:google公司发布的一套开源编码规则,基于二进制流的序列化传输工具。


  • leveldb:google实现的非常高效的kv数据库。


  1. 安装性能检测工具gperftools(可选)


brew install gperftools


  1. 安装单元测试工具googletest(可选)


git clone https://github.com/google/googletest && cd googletest/googletest && mkdir bld && cd bld && cmake -DCMAKE_CXX_FLAGS="-std=c++11" .. && make && sudo mv libgtest* /usr/lib/ && cd -


开始编译安装


这里我使用的是执行config_brpc.sh脚本进行编译安装。


  1. clone brpc


git clone https://github.com/apache/incubator-brpc.git


  1. cd进入源码目录,执行如下命令


$ sh config_brpc.sh --headers=/usr/local/include --libs=/usr/local/lib --cc=clang --cxx=clang++
$ make


在mac上编译遇到的坑


执行后你会发现编译各种报错。好了,下面我开始讲解编译过程中遇到的各种坑:


  • 检查一下你安装的protobuf的版本,如果>3.6.1,请先进行降级处理。


至于如何使用homebrew安装指定版本的程序,我提供如下两种方法:


(1)通用方法


(2)终极方法


  • 检查openssl版本,如果是1.0.2r版本,那么请你修改config.mk文件,手动添加openssl的目录:


HDRS=/usr/local/Cellar/openssl/1.0.2r/include /usr/local/include/ /usr/local/include/node/
LIBS=/usr/local/Cellar/openssl/1.0.2r/lib /usr/local/lib


解决了以上两个大坑后,基本是也就能编译成功了。


测试程序运行


$ cd example/echo_c++
$ make
$ ./echo_server &
$ ./echo_client


执行后,打开浏览器,输入localhost:8000就可以看到服务器的状态了,如下图


微信截图_20220515222246.png

相关文章
|
4月前
|
NoSQL 数据可视化 Redis
Mac安装Redis
Mac安装Redis
91 3
|
3月前
|
iOS开发 MacOS Windows
Mac air使用Boot Camp安装win10 ,拷贝 Windows 文件时出错
Mac air使用Boot Camp安装win10 ,拷贝 Windows 文件时出错
|
4月前
|
数据安全/隐私保护 iOS开发 MacOS
Mac安装Navicat Premium 16.3.5
Mac安装Navicat Premium 16.3.5
339 3
|
1月前
|
开发工具 git 开发者
「Mac畅玩鸿蒙与硬件3」鸿蒙开发环境配置篇3 - DevEco Studio插件安装与配置
本篇将专注于如何在 DevEco Studio 中安装和配置必要的插件,以增强开发功能和提升效率。通过正确配置插件,开发流程能够得到简化,开发体验也会更加顺畅。
114 1
「Mac畅玩鸿蒙与硬件3」鸿蒙开发环境配置篇3 - DevEco Studio插件安装与配置
|
2月前
|
机器学习/深度学习 Python
【10月更文挑战第5天】「Mac上学Python 6」入门篇6 - 安装与使用Anaconda
本篇将详细介绍如何在Mac系统上安装和配置Anaconda,如何创建虚拟环境,并学习如何使用 `pip` 和 `conda` 管理Python包,直到成功运行第一个Python程序。通过本篇,您将学会如何高效地使用Anaconda创建和管理虚拟环境,并使用Python开发。
80 4
【10月更文挑战第5天】「Mac上学Python 6」入门篇6 - 安装与使用Anaconda
|
2月前
|
IDE 开发工具 iOS开发
【10月更文挑战第3天】「Mac上学Python 3」入门篇3 - 安装Python与开发环境配置
本篇将详细介绍如何在Mac系统上安装Python,并配置Python开发环境。内容涵盖Python的安装、pip包管理工具的配置与国内镜像源替换、安装与配置PyCharm开发工具,以及通过PyCharm编写并运行第一个Python程序。通过本篇的学习,用户将完成Python开发环境的搭建,为后续的Python编程工作打下基础。
243 2
【10月更文挑战第3天】「Mac上学Python 3」入门篇3 - 安装Python与开发环境配置
|
2月前
|
iOS开发 MacOS Python
【10月更文挑战第1天】「Mac上学Python 1」入门篇1 - 安装Typora与Markdown编辑技巧
本篇将详细介绍如何在Mac系统上安装Typora这款简洁高效的Markdown编辑器,并学习Markdown常用语法。通过本篇,用户能够准备好记录学习笔记的工具,并掌握基本的文档编辑与排版技巧,为后续学习提供便利。
166 1
【10月更文挑战第1天】「Mac上学Python 1」入门篇1 - 安装Typora与Markdown编辑技巧
|
2月前
|
NoSQL Shell MongoDB
Mac OSX 平台安装 MongoDB
10月更文挑战第11天
28 4
|
2月前
|
应用服务中间件 Linux nginx
Mac os 安装 nginx 教程(success)
这篇文章是关于如何在Mac OS系统上使用Homebrew安装nginx及其依赖,并解决安装过程中可能出现的权限问题。
238 0
Mac os 安装 nginx 教程(success)
|
3月前
|
项目管理 Python
如何在Mac上安装多个Python环境
在你的Mac上使用多个Python环境可以对项目管理很有帮助,特别是在同时处理不同Python版本或不同的包需求时。在这篇文章中,我们将向你展示如何在Mac上轻松地安装和管理多个Python环境。
104 5
 如何在Mac上安装多个Python环境