介绍:
cf
全称为: CoreFramework. 一个基于Reactor
事件驱动与协程的lua高性能网络框架, 目前主要面向HTTP Application开发.
cf
内置了几十种常见的开发库与常见的第三方协议, 目前在快速开发业务原型上有不可比拟的优势.
cf
内部主要实现了包括HTTP与HTTP Over Websoket协议的Server, 利用轻量级协程可以很轻松保持成千上万的长连接.
cf
的框架内部实现源码仅几千行,同时在源码包含了一系列中文注释方便大家阅读与code review
.
优点:
cf
实现了高性内的异步协程、定时器等库用于简化异步代码编写难度;cf
底层重新实现了跨平台的Lua Socket
(TCP
与UDP
), 支持IPv4
与IPv6
性能更高并且速度更快;cf
为socket
添加了ssl
支持(openssl
/libressl
), 在使用https等协议时不依赖第三方进行代理请求;cf
实现了lua
版的非阻塞DNS
解析与域名解析缓存, 解决了没有内置dns库的问题并优化缓存读取提升解析速度;http协议基于目前业界最快的picohttp解析器, 手动开启-msse4后速度更快;
httpd库支持自动判断、多file上传、multi-part/form-data多参数上传;
实现了非常实用的httpc库, 非常方便请求第三方接口进行数据交互(支持自定义header); 并且支持多个请求并发执行, 同域名、端口链接复用减少http每次请求带来的连接消耗以此提升性能;
内置redis/mqtt/stomp协议并实现了订阅/发布MQ库使用更加简单、高效;
集成了admin库并且内置lua template模板语法,
实现了SMTP协议的, 支持发送text/html邮件;
提供了crypt库, 并且内置了24种常见的加密与编码方式;
其它…
使用场景:
cf目前支持多种多样的使用场景:
基于容器技术的微服务场景(
Swarm
/Kubernetes
); —— 推荐游戏服务器的前端代理层; —— 推荐
内存/CPU资源较为紧缺的云服务器; —— 推荐
对性能要求较高的无状态集群; —— 推荐
海量长连接(Websocket)Agent集群; —— 推荐
其它…
你不仅可以在短时间内(time < 0.1s)就能启动一个制作好的docker镜像, 也可以在集群内部轻易地扩展多个部署副本. 如果你的内存与CPU资源都非常紧张! 那么不妨考虑在不影响业务的情况下使用cf进行开发, 也许它可以有效帮助你减少一些成本。
基准
一份较为详细的基准测试来帮助您初步了解cf
的优点.
最后:
如果你尝试使用它或正在使用它, 所有遇到的问题都可以在这里寻求帮助.
如果您想让其它人知道您在使用cf
, 可以联系作者加入Users.