真正做到把云端的技术移植到嵌入式设备上运行。
适用于嵌入式几大特点:
1、支持多平台、多体系结构
2、编译快
Workflow除OpenSSL以外不依赖其他库,且在接口层是没有模版的,因此编译速度常快,不到一分钟即可编出一个可的lib。
3、体积小、支持编译剪裁
Workflow的Kafka协议默认是不编译的,除此之外,还可以裁剪掉其他不常的模块。
并且可以通过strip命令去掉符号链接,即可让库件缩到400k左右。
4、运行时内存小、调度快
作为一个异步调度的库,Workflow调度性能一直是常好的。另外运时内存占也常的小。
5、自定义协议非常方便
社区活跃以及项目负责人积极回复问题也是一个亮点,如果在框架搭建和移植上出现问题,在社区上提问都会得到快速响应。
移植到嵌入式设备的开源支持
据悉前已经有许多户到了嵌式上了。github官方也做出了耐心的解释。
框架能做什么
1、轻松的搭建server
2、轻松高效的发起客户端请求
以往的C++server需要访问mysql时,可能使用的是传统的客户端。在一个线程下以同步阻塞的方式等待数据到来。如果有多个网络请求希望并发,那么用户需要管理好多个mysqlcli对象。
workflow完美的解决了这一系列问题,把所有这种用户请求交给内部的poller线程统一管理,实现了高效的非阻塞IO行为,提升了server作为客户端请求数据时的性能表现。再也不用担心这种客户端行为影响server整体的性能。
支持自定义协议client/server:用户可构建自己的RPC系统,搜狗有个开源项目srpc就是以这个框架为基础实现的。
3、可建构异步任务流
支持串联,支持并联,支持串并联的组合体,也支持复杂的DAG结构。
4、异步IO
在Linux系统下可作为文件异步IO工具使用,性能超过任何标准调用。
任务流框架设计
在作者的设计理念中,一切业务逻辑皆是任务,多个任务会组成任务流,任务流可组成图,这个图可能是串联图、并联图,也可能是串并联图,类似于这种:
或者是这种复杂的DAG图:
当然图的层次结构可由用户自定义,很牛的一点是支持动态创建任务流。
最近很多小伙伴领取了程序员知识图谱,反馈很好。我们知道每一个技术领域都有它完整地知识体系,而良好的知识体系有助于技术人员的发展和成长,减少学习过程中所走的弯路。所以还没有领取的小伙伴赶紧领取起来吧!(底部有领取入口哦)
长沙市望城经济技术开发区航空路6号手机智能终端产业园2号厂房3层(0731-88081133)