_____ _____ _____
/\ \ /\ \ /\ \
/::\ \ /::\ \ /::\____\
\:::\ \ /::::\ \ /:::/ /
\:::\ \ /::::::\ \ /:::/ _/___
\:::\ \ /:::/\:::\ \ /:::/ /\ \
\:::\ \ /:::/ \:::\ \ /:::/ /::\____\
/::::\ \ /:::/ \:::\ \ /:::/ /:::/ /
/::::::\ \ /:::/ / \:::\ \ /:::/ /:::/ _/___
/:::/\:::\ \ /:::/ / \:::\ \ /:::/___/:::/ /\ \
/:::/ \:::\____\/:::/____/ \:::\____\|:::| /:::/ /::\____\
/:::/ \::/ /\:::\ \ \::/ /|:::|__/:::/ /:::/ /
/:::/ / \/____/ \:::\ \ \/____/ \:::\/:::/ /:::/ /
/:::/ / \:::\ \ \::::::/ /:::/ /
/:::/ / \:::\ \ \::::/___/:::/ /
\::/ / \:::\ \ \:::\__/:::/ /
\/____/ \:::\ \ \::::::::/ /
\:::\ \ \::::::/ /
\:::\____\ \::::/ /
\::/ / \::/____/
\/____/ ~~
定奇蛙(TingChiWa)分布服务框架,不依赖其他库的轻服务框架。
基于 epoll 反应器,由框架负责底层通信,使用者只需要关注业务。
提供面向连接的服务通信。
使用者通过配置文件配置自己的服务,框架提供基于配置的服务注册、发现。
为使用者提供类似于 Windows 消息处理的回调接口,用户在此回调中编写自己的业务。
框架不提供序列化/反序列化,使用者可以自己灵活定义。
为所有的服务提供守护,包括进程的优雅退出和僵尸进程的清理。
Linux OS
>= GUN gcc/g++ 4.8.4 (或者更低版本,支持 C++11 的亦可)
>= cmake 2.8.0 (或者更低版本也能支持)
克隆项目后进入顶层目录,进行 out-of-source 编译
mkdir build && cd bld
cmake ..
make
一般来说,是不会提供日志的。但前期因为调试需要还是增加了日志,后面如果需要扩展功能时可能也会用到日志。
可以通过 -DUSE_LOG=on
开启日志,但想要获得更多的日志信息,还需要开启 Debug
编译
cmake -DUSE_LOG=on -CMAKE_BUILD_TYPE=Debug
这里所提供的日志是同步的,所以效率肯定有些慢。使用者可以不开启日志,同时在业务中加入自己的日志模块。
使用者只需要添加配置、根据回调接口定义自己的服务、编写自己的 main 函数即可。
具体可参考测试目录。
根本就没有什么"食神",或者人人都是"食神"
穿越之海,跳下去就穿越的那种