内容简介:更新日志 修复httpc的timeout字段错误的问题. 修复getsockopt在windows平台的莫名其妙段错误. 修复了MacOSX默认不使用kqueue的问题. 优化now函数的实现方法, 使用更加简单的函数实现. 优化了core.c对各种后端选择...
更新日志
-
修复
httpc
的timeout
字段错误的问题. -
修复
getsockopt
在windows
平台的莫名其妙段错误. -
修复了
MacOSX
默认不使用kqueue
的问题. -
优化
now
函数的实现方法, 使用更加简单的函数实现. -
优化了
core.c
对各种后端选择的优先级判断. -
优化一大部分 C 代码, 更加清晰的代码流程管理.
-
优化 crypt 库代码, 增加 md5、hmac_md5、sha512、hmac_512 等算法.
增加支持平台
分离出一个 win32 的分支仅用于支持windows
系统原生进行开发与调试, 编译代码支持 windows 7 或更高版本.
cf 介绍:
cf 全称为: CoreFramework. 一个基于 Reactor 事件驱动与协程的 Lua 高性能网络框架, 目前主要面向 HTTP Application 开发.
cf 内部主要实现了包括 HTTP 与 HTTP Over Websoket 协议的 Server, 利用轻量级协程可以很轻松保持成千上万的长连接.
cf 内置了丰富的开发库与常见的第三方协议, 目前在快速开发业务原型上有不可比拟的优势.
cf 的 C 代码与lua封装的框架内部实现源码仅几千行,同时在源码包含了一系列中文注释方便大家阅读与code review.
优点:
-
cf 实现了高性内的异步协程、定时器等库, 简化异步代码编写难度;
-
cf 底层实现了自己的 lua 版的 Socket(TCP与UDP), 支持 IPv4 与 IPv6 性能更高并且速度更快;
-
cf 为 socket 添加了 ssl 支持(openssl/libressl), 在使用 https 等协议时不依赖第三方进行代理请求;
-
cf 实现了 lua 版的非阻塞 DNS 解析与缓存, 解决了 libev 没有内置 dns 库的问题并优化缓存读取提升解析速度;
-
http 协议基于目前业界最快的 picohttp 解析器, 手动开启 -msse4 后速度更快;
-
httpd 库支持自动判断、多 file 上传、multi-part/form-data 多参数上传;
-
实现了非常实用的 httpc 库, 非常方便请求第三方接口进行数据交互(支持自定义 header); 并且支持多个请求并发执行, 同域名、端口链接复用减少 http 每次请求带来的连接消耗以此提升性能;
-
内置 redis/mqtt/stomp 协议并实现了订阅/发布 MQ 库使用更加简单、高效;
-
集成了 admin 库并且内置 lua template 模板语法,
-
实现了 SMTP 协议的, 支持发送 text/html 邮件;
-
提供了 crypt 库, 并且内置了常见的加密与编码方式;
-
提供了一份较为详细的基准测试数据用来打消您的顾虑;
-
其它...
使用场景:
cf 目前支持多种多样的使用场景:
-
基于容器技术的微服务场景(Swarm/Kubernetes); —— 推荐
-
游戏服务器的前端代理层; —— 推荐
-
内存/CPU 资源较为紧缺的云服务器; —— 推荐
-
对性能要求较高的无状态集群; —— 推荐
-
海量长连接(Websocket)Agent 集群; —— 推荐
-
其它...
你不仅可以在短时间内(time < 0.1s)就能启动一个制作好的 docker 镜像, 也可以在集群内部轻易地扩展多个部署副本. 如果你的内存与 CPU 资源都非常紧张! 那么不妨考虑在不影响业务的情况下使用 cf 进行开发, 也许它可以有效帮助你减少一些成本。
其它
以上所述就是小编给大家介绍的《core_framework 0.4 发布,提供 windows 平台支持》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- Microsoft Edge 更新,提供暗黑模式支持
- 微软为Azure Cognitive服务提供容器支持
- repmgr 4.2 发布,对 PostgreSQL 11 提供支持
- 微软宣布提供 Azure Cognitive Services 容器支持
- Ubuntu Core 给物联网提供更多安全支持
- GoLand 2018.1 EAP 5 发布,提供 dep 支持
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。