开源中间件
老张: 今天我们讲讲一些好用的开源中间件, 单个模块开发中用到的数据解析库tinyxml或者jsoncpp, 好用的接口与数据结构boost和stl, 日志模块muduo log4cpp,自己代码库 。 项目开发的中间件: http或者tcp组件muduo网络库、libevent,结构数据存储中间件mysql , 非结构数据存储模块redis, 远程调用rpc模块, 网关代理nginx模块, 消息队列zeromq 和redis模块, 搜索引擎模块es, 分布式锁: zookkeeper , 分布式注册模块:zookkeeper或者etcd 。
项目维护的中间件: 测试模块gtest, 火焰图工具, docker模块, 脚本库。
小飞: 哇, 老张, 你这样分感觉好有道理啊, 之前我对这些中间件基本没有概念, 就是有什么学什么, 但是看了你这个我感觉学习立马有了框架, 知道自己学的东西能用在哪里了。
老张; 那是, 我其实最擅长的不是写代码, 而且将复杂的问题拆解形成可以理解的小问题。 你也是个聪明人, 应该能明白我这样分的道理。 好了我们这就开始讲吧。
模块开发中的需要用到的中间件
老张: 在学习模块开发中, 我们是需要很多东西的, 例如日志模块, 字符串处理函数, stl标准库等等, 有些内容是后端的, 有些内容是语言级别的, 这些东西加上业务会让我们更好的写出来优质的模块代码, 其实这些还是算组件的, 只不过有些是比较大的组件, 有些是一个文件解决的组件。
日志
老张: 今天我们讲讲自己代码中会常常在一个接口和函数中用到日