JDK 1.7 jar size 497K

Voovan 是一个高性能异步网络框架和WEB服务器框架,同时支持HTTP客户端抓取、动态编译支持、数据库访问封装以及DateTime、String、Log、反射、对象工具、流操作、文件操作、异步双向通道等功能。旨在提供可靠、方便、可单元测试的代码。它是极少依赖的独立工具包,希望能够方便广大开发者快速的实现应用。

开源协议: Apache v2 License

极简并且优雅的编码是 Voovan 的宗旨和目标


传送门 链接
外媒新闻 Naked Performance With Clojure 重点在第七页
TFB 性能测试 Round 19 2019-10-24
文档入口 Voovan 开发手册
入门教程 Voovan 一步步入门

联系我们 链接
QQ Group: 454201740
Issues GitHub Gitee

Maven中央库支持:

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

Voovan 4.2.0 新特性: - 详情 -

Web模块:

Network 模块:

Common 模块:


典型案例:


Voovan 相关新闻

日期 标题
2017-06-28 t-io 和 Voovan 并发性能测试
2017-06-02 Netty、t-io、Voovan 框架浅谈
2017-02-21 Netty与Voovan并发性能对比
2017-01-04 Voovan 参照 Jetty 的性能测试

JDK支持:


框架特点介绍:


一、高性能异步通信(NIO异步通信) [voovan-network]

类似 Netty 和 MINA 的异步 Socket 通信框架.但有有所不同。

  1. 可灵活解决Socket通信粘包的支持(源码中包含 HTTP协议,字符串换行,定长报文的粘包实现)。
  2. 支持 SSL/TLS 加密通信。
  3. 提供线程池依据系统负载情况自动动态调整。
  4. 采用非阻塞方式的异步传输。
  5. 事件驱动(Connect、Recive、Sent、Close、Exception),采用回调的方式完成调用。
  6. 可灵活的加载过滤器机制。

二、HTTP客户端和WEB服务器[voovan-web] HTTP客户端特性:

  1. 基于 Voovan 异步通信框架实现。
  2. 客户端可以灵活自定义请求报文。
  3. 同步实现 HTTP请求(需要同步实现可参考)。
  4. 实现 WebSocket 客户端调用,可以连接任何支持 WebSocket Version 13的 WebSocket 服务。

    WEB服务器特性:[voovan-web]

  5. 支持 WebSocket Version 13,并且保持 WebSocket请求参数。
  6. 使用 Lambda 实现更加方便的 Http 响应实现。
  7. 支持路径参数自动抽取 当路径定义/:name,在使用/jonh地址访问时,可以通过 name 参数获取 jonh 字符串。
  8. 重定向支持。
  9. 可灵活实现session共享。
  10. 异常统一展示支持。
  11. MIME 配置支持。
  12. 支持基于 HTTP1.1 的 HTTPS 访问,默认采用TLS模式.
  13. 支持性能监控. [HTTP服务端性能监控演示]

三、动态编译支持 [voovan-common]

在内存中编一个保存有 java 代码的字符串,并将编译后的 byte 字节加入到 classloader 中,可灵活的动态定义类和使用。


四、数据库操作帮助类 [voovan-database] 提供类似Spring JDBCTemplate 的数据访问支持,但提供了更好更灵活易用的函数设计。


五、DateTime、String、Log、反射、对象工具、流操作、文件操作、异步双向通道等 [voovan-common]

  1. 简单的 JSON 序列化和反序列化,效率比不过专业的序列化工具(如:FastJson),但重在轻量级好用。
  2. 日期类型和字符串和日期类型互转,日期类型加减操作。
  3. 反射的快捷实现,可直接通过反射取属性值,调用方法,实例化对象,判断类的继承及实现
  4. 简单的日志记录类,支持指定输出流,日志报文自定义等。
  5. 简单的自推导的对象类型强制转换,根绝参数类型,运算类型自动退定强制转换类型。
  6. 流操作,读取定长、按行读取、基于byte的split操作等。
  7. 使用 ByteBuffer 实现的一个双向通道。
  8. 属性文件操作。
  9. 文件路径拼接、从绝对路径读取、从相对路径读取、从包路径读取、指定起始和结束位置内容读取等。
  10. List 和 Map 的快速初始化。
  11. 热部署
  12. 动态函数和类

包结构说明

包名 名称
org.voovan.db 数据库操作类
org.voovan.http HTTP工具包
org.voovan.dynamicComplier 动态编译包
org.voovan.network 网络异步通信包
org.voovan.tools 基本工具包

Voovan 在异步通信的范畴内的同类框架有:

大家可以根据自己的需要适应的场景选择不同框架.