高性能 HTTP 服务器/客户端 http-kit 2.0.0 发布

2013年03月29日

Http-kit 是主要由Java 和Clojure开发,为Clojure定制的零依赖的HTTP lib,仅用3000多行代码,实现了高性能 Server,Client,Timer。代码量少,实现简单,对Hacker友好。

在普通的PC上进行性能测试时,http-kit server每秒能处理数万个请求,并能轻松保持数十万并发,每个连接消耗几k内存,并发数仅与内存大小有关,高并发不影响latency。

2.0.0 版本修改纪录:

  1. 增加了高性能Timer
  2. 重新设计了client的API,支持同步/异步调用,两者API几乎一样,方便切换
  3. Client实现了TCP链路复用(keep-alive),对服务端应用来说,可提高不少性能
  4. 重新设计,统一了WebSocket和HTTP长连/Streaming 的API,可使对不支持WebSocket的客户端,轻松降级到HTTP长连。
  5. WebSocket支持收发二进制帧

http-kit力争做到API友好,性能强悍,实现简单,文档完善。

展开阅读全文
100 收藏
分享
加载中
最新评论 (38)
不知道怎么用。
2013-05-10 19:54
0
回复
举报
太猛了!
2013-03-29 21:59
0
回复
举报
对Hacker友好...
2013-03-29 18:19
0
回复
举报

引用来自“Tom.Lin”的评论

引用来自“fshen”的评论

引用来自“懵懂一时”的评论

引用来自“Tom.Lin”的评论

这个东东如何安装?如何配置?如何使用?没看到这方面的文档

同问!~ 可以和PHP结合使用么?

它是一个lib,安装使用需要Clojure,可以通过lein:
[http-kit "2.0.0"] ; Add to your project.clj.
(:use org.httpkit.server)
就行。

lein的文档在: https://github.com/technomancy/leiningen

其实它就提供了一个函数 run-server ,可以启动一个server,他能接受http请求, 配置文档: http://http-kit.org/server.html#options

和PHP结合起来还是有些困难,毕竟它是为另外一门语言写的

apache、nginx 等服务器都是 配置转发来实现 和其它语言(php/javaee 等)的结合的,这个 不能实现这个功能吗?单纯地提供 http 有什么意义?如何实现一些动态功能?

这里可能能介绍一点:
http://http-kit.org/server.html#routing

其实http-kit是因为rssminer[1] 需要一个强悍得HTTP server/client, 我才写的。它就是一个实际的程序啊。

[1] http://rssminer.net/demo
2013-03-29 17:15
0
回复
举报
clojure 代码实在是太难读了,不习惯。
2013-03-29 16:54
0
回复
举报

引用来自“fshen”的评论

引用来自“懵懂一时”的评论

引用来自“Tom.Lin”的评论

这个东东如何安装?如何配置?如何使用?没看到这方面的文档

同问!~ 可以和PHP结合使用么?

它是一个lib,安装使用需要Clojure,可以通过lein:
[http-kit "2.0.0"] ; Add to your project.clj.
(:use org.httpkit.server)
就行。

lein的文档在: https://github.com/technomancy/leiningen

其实它就提供了一个函数 run-server ,可以启动一个server,他能接受http请求, 配置文档: http://http-kit.org/server.html#options

和PHP结合起来还是有些困难,毕竟它是为另外一门语言写的

apache、nginx 等服务器都是 配置转发来实现 和其它语言(php/javaee 等)的结合的,这个 不能实现这个功能吗?单纯地提供 http 有什么意义?如何实现一些动态功能?
2013-03-29 16:47
0
回复
举报

引用来自“arden”的评论

引用来自“fshen”的评论

引用来自“arden”的评论

这跟Netty有什么不一样~

功能少,但轻量,专注(仅HTTP),性能好,从零开始写,易于维护,仅3000来行代码。 曾经在netty基础上封装过:https://github.com/shenfeng/async-ring-adapter
也用C写过,最后还是这个最满意。

我看这东西都没什么例子哦~

这东西,花了很多时间把他设计得简单,容易理解,总共就几个函数。文档就: http://http-kit.org/
2013-03-29 16:43
0
回复
举报

引用来自“用户名已存在”的评论

每秒数万请求,轻松10万并发,java的web框架这么给力?

10万并发有没有不清楚,但Java的性能不用怀疑
2013-03-29 16:31
0
回复
举报

引用来自“fshen”的评论

引用来自“arden”的评论

这跟Netty有什么不一样~

功能少,但轻量,专注(仅HTTP),性能好,从零开始写,易于维护,仅3000来行代码。 曾经在netty基础上封装过:https://github.com/shenfeng/async-ring-adapter
也用C写过,最后还是这个最满意。

我看这东西都没什么例子哦~
2013-03-29 16:30
0
回复
举报

引用来自“Bond zhan”的评论

说的是完全free的最佳状态吗???

对啊,完全free。代码在github上,有独立的网站介绍:http://http-kit.org/
2013-03-29 16:30
0
回复
举报
更多评论
38 评论
100 收藏
分享
返回顶部
顶部