Voovan 正在参加 2021 年度 OSC 中国开源项目评选,请投票支持!
Voovan 在 2021 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
2021 年度 OSC 中国开源项目评选 正在火热进行中,快来投票支持你喜欢的开源项目!
2021 年度 OSC 中国开源项目评选 >>> 中场回顾
Voovan 获得 2021 年度 OSC 中国开源项目评选「最佳人气项目」 !
授权协议 Apache
开发语言 Java 查看源码 »
操作系统 跨平台
软件类型 开源软件
所属分类 程序开发常用工具包
开源组织
地区 国产
投 递 者 红薯
适用人群 未知
收录时间 2015-05-06

软件简介

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

Maven 中央库支持:

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

框架特点介绍:

  • 使用 JDK8 的 lambda 表达式,快速实现 HTTP/WebSocket 服务的开发。

  • 极简单的 HTTPClient 无任何依赖模拟浏览器抓取页面。

  • 异步通信框架解决粘包问题。

异步通信框架特性:

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

  1. 可简单解决Socket通信粘包的问题(代码中包含 HTTP协议、字符串换行、定长报文的粘包实现)。

  2. 支持 SSL/TLS 加密通信

  3. 提供线程池依据系统负载情况自动动态调整。

  4. 同时支持 NIO 和 AIO 特性。

WEB 服务器特性:

  1. 支持 WebSocket Version 13,并且保持 WebSocket 请求参数。

  2. RESTFUL、使用 Lambda 更加方便的 WEB 服务实现。

  3. 支持路径变量自动抽取 当路径定义/:name,在使用/jonh地址访问时,可以通过 name 参数获取 jonh 字符串。

-> 教程入口

HTTP 服务代码举例(Demo入口):

//构造 HttpServer 对象,使用配置文件的配置构造一个 HTTPServer,也可以使用默认构造函数构造.
HttpServer httpServer = HttpServer.newInstance();


//普通 GET 请求样例
httpServer.get("/", (req, resp) -> {
     resp.write("我是测试小消息");
});


//带路径参数的 GET 请求样例
httpServer.get("/:name/:age", (req, resp) -> {
     //req.getParameter("name") 获取请求路径中的name参数
     //req.getParameter("age") 获取请求路径中的age参数
     resp.write("我是测试小消息");
});

//WebSocket请求样例
httpServer.socket("/websocket", new WebSocketBizHandler() {

    @Override
    public ByteBuffer onRecived(HttpRequest upgradeRequest, ByteBuffer message) {
    
        String msg = new String(message.array());  //收到的消息

        return ByteBuffer.wrap(msg.getBytes());    //返回的消息
    }

    @Override
    public void onOpen(HttpRequest upgradeRequest) {
        Logger.info("WebSocket connect!");
    }

    @Override
    public void onClose() {
        Logger.info("WebSocket close!");
    }
});

//HttpServer服务启动
httpServer.Serve();
展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论

点击加入讨论🔥(12) 发布并加入讨论🔥
发表了资讯
2017/06/30 16:31

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

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

12
60
发表了资讯
2017/06/12 12:42

Voovan v2.0 发布,无依赖的AIO/NIO异步通信框架

Voovan 迎来了 2.0 新版本,此版本应广大使用者朋友们的要求将 Voovan 拆分成多个模块: Common模块: 集各种Java工具类于一身,提供JSON,运行时编译,反射,日志对象池,非堆缓冲通道,文件,字符串,日期,流操作等于常用工具类,这些工具类在 voovan 开源的各个项目广泛使用. Database模块: 数据库操作模块,提供最基本的 ORM 操作,方便朋友们基于此封装更高级的 ORM 框架. Network模块: 高性能异步通信框架,同时支持AIO/NIO两种形式,并且...

6
53
发表了资讯
2017/06/01 17:21

Voovan V1.5.3 发布,高性能异步通信框架和工具集

Voovan是一个高性能异步框架和工具集,提供基于 AIO/NIO 的高性能异步通信的支持,为您开发高并发的应用提供基石. Voovan 也附带一个精心设计和调优的 Web 服务器,最后 Voovan也包含众多的工具类(反射,日志,ORM,JSON,日期,文件,字符串等等工具). 应用场景: 物联网服务端开发, Http 服务端(以及嵌入式)开发, 即时通信 等等众多需要网络通信的应用场景. 目前 Voovan 被使用于: JDocker 一款 java 开发 Docker API 封装的框架。 Dock...

8
66
发表了资讯
2017/04/17 17:28

Voovan v1.5 发布,高效堆外内存管理,性能不打折扣

经过不泄努力和无数轮对性能稳定性和功能的测试,Voovan 为您带来了全新的1.5版本.这是 Voovan 具有里程碑意义的版本,经过完成测试,并且已经在多个实际项目中大量的使用,其稳定性和高性能特性已经得到了验证。 在这个版本中大量使用 Unsafe操作和堆外内存,经过测试(代码中的测试用例配合 jvisual查看)堆内的内存使用量控制在25m以内,对堆外的内存的释放支持手工和 jvm 自动释放两种方式。 在socket通信的缓冲区的内存管理上深...

12
48
发表了资讯
2017/02/08 12:21

Voovan V1.0-RC-1 发布,持续优化性能和稳定性

经过近两个月的不泄努力,Voovan 终于到达了 RC 版本,距离正式版本的发布已经很近了。 本次更新带来47项优化、bug 修复、新增等内容。 本次更新主要对异常进行了修复,并且重点优化了 JSON 和 Socket 通信的性能.可以说相当优秀. JSON 没有采用常规的 Token 形式的解析,减少内存占用,并且直接解析成 Map 或者 List 等大家熟悉的形式. Socket 性能优化,优化了 MessageLoader 和 ByteBufferChannel的性能,采用接近于零拷贝来提升性能...

1
6
发表了资讯
2017/01/24 17:33

JDocker 0.1.3 发布支持 Docker API 1.25

JDocker 基于 Docker1.12+ (Docker API 1.24+) 封装的开发Docker包,通过封装 Docker API 使开发者可以快速的使用 Java 开发出控制和操作 Docker 的应用,使用流式操作,简单明了。 完善的测试用例覆盖率达87%。 JDocker 是 Voovan 开源项目的一个子项目,自然是依赖于 voovan开源项目的。 自从 Docker1.24 发布以来,其功能和API的支持已经逐渐趋于完善,同时也有了更加高的可用性.JDocker 项目将持续跟随 Docker API的更新,为各位...

1
35
发表了资讯
2017/01/04 21:21

Voovan 参照 Jetty 的性能测试,中国框架一样很优秀

Voovan是一个综合框架,当然也有他的主打内容,今天,对就是今天,在这里给各位看官汇报一下他的并发测试能力. 测试对象:Voovan WebServer / Jetty9 测试工具: Apache bench (ab) Voovan WebServer 的底层是使用 Voovan aio 异步通信框架实现的.所以这个结果也同样可以认为是 Voovan aio 异步通信框架的测试结果. GIT地址: https://git.oschina.net/helyho/Voovan 因为 CPU 并不很优秀,同时由于手头资源有限,所以使用的是虚拟机,对网...

2
13
发表了资讯
2016/12/01 12:53

Voovan V1.0 (Beta.3.2) ,增加 UDP 异步通信

Voovan V1.0 (Beta.3.2) 发布了,增加 UDP 异步通信。 主要更新内容: 增加 UDP 异步通信支持 HttpServer 增加 命令参数,以便在 Docker 环境中部署可以灵活配置 Usage: java -jar voovan-framework.jar [Options]      Start voovan webserver      Options:     -p                               Webserver bind port number     -t                ...

4
9
发表了资讯
2016/09/07 00:00

Voovan v1.0.beta.1 文档丰富/性能优异

Voovan 开源框架V1.0.beta.1发布 Voovan 框架和 Netty 以及 Mina 框架类似,同样是提供了异步通信的支持,但相比的不同是 Voovan 框架采用 Aio 和 Nio 模型,框架内部解决了日常开发一些常遇到的困难例如:SSL 通信,Socket 通信粘包的问题等等,框架设计极其精炼。使用 Voovan开源框架可以快速直接的开发出高性能的异步通信服务。 同时 Voovan 开源框架也在内部提供了对文件、时间、JSON、反射、ORM 等常用功能支持。 最后 Vo...

0
6
发表了资讯
2016/07/01 00:00

Voovan V1.0-alpah-2 发布,并发性能大幅度提升

Voovan V1.0-alpah-2 发布l了,本次版本以Socket 异步通信的性能优化为主,经过1个多月的分析\优化\调试等工作,目前基于 Voovan 异步通信框架的 HTTP 服务的并发能力已经达到了 Jetty 并发的水平。 相信已经使用了 Voovan 异步通信作为开发框架的朋友又有一个新的惊喜。 测试命令参数: ab -n 1000 -c 100 http://xxx.xxx.xxx.xxx:ooo/ VoovanHttpServer 测试结果: Jetty 测试结果: 更新记录: 1.0-alpha-2: BUG修复: 修复关闭 JD...

4
13
发表了资讯
2016/05/10 00:00

Voovan framework v1.0-alpha 释出

经过长时间的努力,Voovan 开源项目终于接近1.0首个版本的发布,今天放出的是 v1.0-alpha。 在这段时间内项目经历了:压力测试,性能优化,以及部分模块的重构.同时也为大家带来的基于 Voovan HttpServer 的性能监控模块(基于目前项目的性能分析)为运行在 Voovan 服务上的应用调优做了一个初步的铺垫. 本次 alpha 版本重大更新: Aio/Nio 异步通信框架性能的优化. HttpServer 基于 HTTP1.1 对 HTTPS 的支持 JDBCOperate 类对存储过程...

1
29
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了博客
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
发表了问答
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
暂无内容
12 评论
230 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部