(7)muduo介绍

文章目录

    • 1.muduo的介绍的总结
    • 2.muduo的安装的总结

1.muduo的介绍的总结

  • 不支持 UDP,只支持 TCP。
    UDP适合音视频
  • 支持使用模式: non-blocking IO + one event loop per thread和thread poll,不支持阻塞 IO
  • API 简单易用,只暴露具体类和标准库里的类。 API 不使用 non-trivial templates(有用的构造函数),也不使用虚函数
  • 只做 library,不做成 framework。
    muduo库具有框架的特征,可以实现:控制翻转
    (1)库中的类相对独立,编写应用时,需要编写一些 胶水代码来粘合。
    框架是能够应用于特定领域的,不需要胶水代码来粘合。
    (2)框架为用户提供一些注册回调函数,使得框架能够调用我们所编写的回调函数,及:控制反转(框架调用回调函数)

2.muduo的安装的总结

  • 参考,这里仅仅总结一些重点
  • 安装过程:
$ sudo apt-get install cmake
$ sudo apt-get install libboost-dev
$ tar zxf muduo-0.9.1-beta.tar
$ cd muduo/
$ ./build.sh


说明:
(1./build.sh -j2表示使用2个线程来编译
(2./build,sh install,会将muduo头文件和静态库文件(muduo只提供了静态库)安装到与muduo文件夹同级
的../build/debug-install/(include,net,lib):
include是muduo的头文件,net是网络的头文件,lib是静态库文件
(3)g++ -I 指定头文件的路径 -L 指定库的路径
  • 按照(1)build的结果是:
    (7)muduo介绍_第1张图片
  • 运行示例:
$ ./inspector_test
在网页上输入:http://192.168.244.100:12345/proc/status

说明:
(1)运行的路径:不在muduo中的,与muduo目录同一级的build/debug/bin中,
编译的http库在build/debug/lib/libmuduo_http.a中;
build/debug/lib/libmuduo_base.a是基础库
build/debug/lib/libmuduo_net.a是网络库,其依赖于基础库

(2)前面是虚拟机的IP地址,12345是http的端口

(3)http的接口,先到任务服务器,再把任务服务器分配到后端的应用服务器,后端的应用服务器暴露一个端口给任务服务器
(任务服务器通过该接口可以查询后端的状态),让任务服务器可以起到负载均衡的作用
  • 对于上述(2),其结果如下所示:
    在这里插入图片描述
    (7)muduo介绍_第2张图片

你可能感兴趣的:(开源代码学习)