跳过正文
  1. Posts/

gRPC学习笔记

·2 分钟
目录

gRPC 是 google 最新发布的开源 RPC 框架, 声称是"一个高性能,开源,将移动和HTTP/2放在首位的通用的RPC框架.". 技术栈非常的新, 基于HTTP/2, netty4.1, proto3, 拥有非常丰富而实用的特性, 堪称新一代RPC框架的典范.

//上面这段话是我抄的,其实我之前连RPC是什么都不知道,

关于RPC,如果你和我一样根本不知道是什么,请参考这里 

我对RPC的理解就是,一层封装,使得不在同一个机器上的程序A可以一个调用另一个程序B,而不需要考虑这两台机器,以及这两个程序使用的语言的不同。

而gRPC是诸多RPC框架中比较新,也比较好用的一个。

学习gRPC需要会使用protobuf3,关于protobuf,可以参考protobuf学习笔记

官方文档 还是要给出的,虽然我没怎么看就是了orz

gRPC的安装
#

参考这个,从源码编译安装

1 $ [sudo] apt-get install build-essential autoconf libtool pkg-config
2 $ [sudo] apt-get install libgflags-dev libgtest-dev
3 $ [sudo] apt-get install clang libc++-dev
4 $ git clone -b $(curl -L https://grpc.io/release) https://github.com/grpc/grpc
5 $ cd grpc
6 $ git submodule update --init
7 $ make
8 $ [sudo] make install

如果出现

configure: error: cannot find install-sh, install.sh, or shtool <span class="pl-k">in</span> <span class="pl-s"><span class="pl-pds">"</span>.<span class="pl-pds">"</span></span> <span class="pl-s"><span class="pl-pds">"</span>./..<span class="pl-pds">"</span></span> <span class="pl-s"><span class="pl-pds">"</span>./../..<span class="pl-pds">"</span></span>

参考

Compile fails on Ubuntu 14.04 ?  发现是protobuf的锅,需要手动编译一下:

1cd third_party/protobuf
2sudo ./autogen.sh (not sure why this requires sudo - maybe it has been
3fixed now)
4sudo ./configure CC=clang CXX=clang++ (requires sudo because previous step
5polluted things) (clang is optional)
6sudo make (requires sudo because previous step polluted things)
7sudo make install
8sudo ldconfig

gRPC的使用
#

grpc/examples下有一些例子,自己搞搞就会写基本的了。(已经硬着头皮用gRPC写了一个项目的通信部分了orz…其实还挺容易的。但是项目的代码没办法放上来。。。所以。。直接看examples的代码就好了。

相关文章

8102年了,来更新一波vim配置

·3 分钟
现在用的vim配置还是2015年7月的时候写的。 三年过去了,vim到了8.0,很多功能也有了更多选择。因此打算来更新一波vim配置。目前还在更新过程中。。。等差不多折腾完再来记录一些信息。

protobuf学习笔记

·4 分钟
Protobuff 是一种轻便高效的结构化数据存储格式,可以用于结构化数据序列化。它很适合做数据存储或 RPC 数据交换格式。可用于通讯协议、数据存储等领域的语言无关、平台无关、可扩展的序列化结构数据格式。

Eigen: C++开源矩阵学习笔记

·2 分钟
接触Eigen的原因是最近在看caffe/caffe2源码,caffe2中使用了Eigen库. Eigen 是一个基于C++模板的线性代数库,直接将库下载后放在项目目录下,然后包含头文件就能使用,非常方便。对于Linux用户,只需要把头文件放到/usr/include 下即可此外,Eigen的接口清晰,稳定高效。