1. XenForo 1.5.14 中文版——支持中文搜索!现已发布!查看详情
  2. Xenforo 爱好者讨论群:215909318 XenForo专区

新闻 Voovan v2.0.2,高性能异步通信框架和工具库 下载

本帖由 漂亮的石头2017-06-30 发布。版面名称:软件资讯

  1. 漂亮的石头

    漂亮的石头 版主 管理成员

    注册:
    2012-02-10
    帖子:
    487,984
    赞:
    47
    VOOVAN 开源项目介绍

    Voovan 是一个高性能异步网络框架和 HTTP 服务器框架,同时支持 HTTP 采集、动态编译支持、数据库访问封装以及 DateTime、String、Log、反射、对象工具、流操作、文件操作、异步双向通道等功能。旨在提供可靠、方便、可单元测试的代码。它是一个无任何依赖的独立工具包,希望能够方便广大开发者快速的实现应用。自V2.0版本开始应广大使用者朋友们的要求将 Voovan 拆分成多个模块。

    本次更新主要内容:


    • 对 Voovan 的异步性能做了小的优化,并且和 t-io 在并发性能上做了比对。


    • 参考 snowflake 算法新增了 UniqueId 分布式 ID 算法,提供1023个独立节点的支持,同时提供短 ID的支持, 参考 nextString 方法。


    • 修复了大量的 WebSocket 的 bug,为应对主机到客户端的广播功能,提供了主动发送消息的能力。


    • 在WebServerRouter 新增了 isConnected 方法,用于判断连接是否断开。


    • 在WebServer 新增 WebSocket 发送心跳的功能。


    • 在 HttpClient 新增了uploadFile方法哦, 用于快速上传文件至服务器。


    • 在WebServer 的 HttpRequest 新增了 saveUploadedFile用户保存用户上传文件。


    • 增加 t-io 并发性能测试用例.

    本次更新完善了 Voovan WebServer 提供服务的能力,对 HTTP/1.1, WebSocket 提供了完整的支持,为大家快速开发 restful 以及 发布一个全功能的网站 提供了另一个选择.。

    Voovan 典型案例:


    • 商旅行业酒店预订系统,基于 Voovan 开发的后端API服务


    • 基于 Voovan 开发物联网管理服务


    • 基于 Voovan 开发的游戏后端服务


    • 基于 Voovan 开发的 WEB 服务以及手机推送服务


    • 某通信企业基于 Voovan开发日通信10w+ 次的关口机


    • Vestful 一款提供 Restful 服务的框架


    • Dockerfly 一款 Docker web 管理工具


    • JDocker 一款 java 开发 Docker API 封装的框架

    性能报告:


    Maven 中央库支持:




    <dependency>
    <groupId>org.voovan</groupId>
    <artifactId>voovan-framework</artifactId>
    <version>2.0.2</version>
    </dependency>


    更新内容:

    由于v2.0.1标记了版本但未发布,所以一下更新内容包含了 v2.0.1 至 v2.0.2的所有更新内容。

    ----新增----


    • add: 增加 t-io 并发性能测试用例


    • add: 增加WebServerRouter.isConnected 方法


    • add: 为WebSocketRouter类增加 send(ByteBuffer byteBuffer)方法


    • add: 为WebSocketRouter类增加 send(ByteBuffer byteBuffer)方法,用于随时向浏览器发送消息


    • add: 增加了异步通信的 setOption 方法,来指定配置参数


    • add: 增加Cipher类,用于处理消息加密解密


    • add: 增加 HttpRequest.saveUploadedFile方法,用于快速保存上传的文件


    • add: 增加 Part 基于文件对象参数的构造方法


    • add: 增加 HttpClient.uploadFile 方法


    • add: 增加 Body.changeToFile方法,基于文件对象参数

    ----优化----


    • imp: Websocket 不采用 keepalive 控制


    • imp: 优化了WebServerHandler对于, 主动对前段发起 PING 消息


    • imp: 优化了WebServerHandler对于 WebSocket PING-PONG的逻辑


    • imp: WebSocketRouter增加了persistent方法,可获得WebSocketRouter对象.可用来做群发广播等操作


    • imp: 优化 异步通信中在发送消息是判断是否 rewind bytebuffer 的问题


    • imp: 优化 DataBase 在 Debug 模式下输出完整的被调用的 SQL 信息


    • imp: 优化 ObjectPool 扫描可移除对象的方法


    • imp: 优化了 Web 的测试代码包的问题


    • imp: 线程池自动管理算法优化


    • imp: 优化了 MessageLoader 对关闭的处理.


    • imp: 优化了 SocketContext 的三个子类中在关闭时对未处理完成消息继续处理的支持


    • imp: 优化了异步通信代码,没有使用 SSL 时,减少内存申请


    • imp: 优化了 ByteBufferChannel 的性能


    • imp: 新增 ID 生成器类, 参考 snowflake 算法,修改后的方法


    • imp: 调整了radixConvert的字符集,默认16进制都是大写


    • imp: 优化 HttpClient.send 方法


    • imp: 优化短 UUID 的算法使用62位方式从32位缩短至24位,并且唯一性效果同 UUID 一致


    • imp: 优化 WebServer 对 gzip 的判断,如果配置中启用了 gzip,则通过请求的Accept-Encoding自动推断是否启动 gzip 以兼容一写老旧的框架.


    • imp: Response 的 isCompress 默认值调整为 false


    • imp: 优化了异步框架send操作改为异步形式


    • imp: 优化了异步框架的性能


    • imp: 优化了 WebServer 的 Session 清理


    • imp: 优化了 Logger.error 的错误输出


    • imp: 优化 SSLParser.doHandShakeUnwarp方法效率


    • imp: 优化了 SSL 连接因 mac 地址不匹配的问题导致 bug


    • imp: 完善 maven 的脚本配置


    • imp: 优化了 Http 消息分割器


    • imp: 优化了Http 消息粘包处理算法

    ----修复----


    • fix: 修复 Cookie 中 URLEncode 的问题


    • fix: tokenReplace增加以 List 为参数的方法


    • fix: 修改基本方法tokenReplace 为 oneTokenReplace


    • fix: 修复线程池无限制增大的 bug


    • fix: 修复前端关闭后段不触发 onClose 的问题


    • fix: 修复 WebSocket 意外关闭还出发 onSent 的问题


    • fix: 修复异步通信意外关闭出发两次 onClose 的问题


    • fix: 修复 WebServer 的 WebSocket 在 onOpen 事件返回的数据不会被返回到前端的问题


    • fix: 修复 WebServer 的 WebSocket 发送后不触发 onSent 的问题


    • fix: 修复WebSocketRouter重复调用导致的session断开的问题


    • fix: 修复WebServer的 WebSocket 在 onOpen 事件返回的数据不会被返回到前端的问题


    • fix: 修复 AioSocket 作为客户端使用时出现的线程未释放的问题


    • fix: 修复了拆分模块后 web 配置文件中 测试 https 的证书路径问题


    • fix: 修复了 MessageLoader.read 在 loadStream 时不处理消息分割默认返回 null, 从而导致连接关闭 的 bug.


    • fix: 修复 ByteBufferChannel.saveToFile 中锁的关闭问题


    • fix: TString.toObject对非范型和标准 java 类型则默认返回当前值


    • fix: TReflect.getObjectFromMap对于没有明确指定范型的采用 Object 作为类型


    • fix: 修复了 Windows 下的操作异常


    • fix: 修复了 MesssageLoader 因 UDP 的 isConnected 始终为 false 导致的 判断连接状态的异常


    • fix: Web服务释放超时 session 时的异常


    • fix: 修复 ByteBufferChannle.getBytebuffer 方法释放所的问题


    • fix: 修复 ByteBufferChannle.compact 方法释放所的问题


    • fix: 修复了 Windows 下的操作异常


    • fix: 修复了 websocket 连续发布无法正常解析的 bug


    • fix: 优化了 MessageLoader 的 STREAM_END 的异常


    • fix: 修复Network测试代码
    Voovan v2.0.2,高性能异步通信框架和工具库下载地址
     
正在加载...