一个基于Guile的超小型web-framework

107 views
Skip to first unread message

Nala Ginrut

unread,
Feb 21, 2013, 1:46:24 AM2/21/13
to lis...@googlegroups.com
为了庆祝Guile2诞生,每年初举办一次hacking盛会,每个人都可以自由参与,在
1~2周内做一次quick hack(要从0开始哦),把自己认为最炫最牛的技巧展现出
来,然后做成一个足以惊艳的项目发布出来。最终的奖励是,你可以获得其他
hacker
的赞美。

artanis是一个web-framework,它非常简单,核心代码300行左右,但是完成了如
下功能:
1、类似于sinatra的路由功能(熟悉ruby的同学应该知道,或者您熟悉web开发,
这就是个url remap的效果);
2、完整的webserver,包括错误页面处理,静态页面传输,动态页面渲染
3、html模板
4、10K并发的内置服务器(足够你建个人站点用了)
5、三种主流数据库支持(mysql/postgresql/sqlite3)
6、session功能

artanis是我下一个大项目的前期热身项目,这个所谓大项目叫做GLOW(Guile
Launch On Web),简单来说,就是Guile on Rails或者Django for Guile。这类
full-stack的项目牵扯的面实在太广太庞杂,所以先写个核心的超小型prototype
练练手,同时也是给newbie的一个学习项目。

相信信息请看README和examples目录,之后会继续补充文档。不过不会再增加功能
和特性了,
目标是保持核心代码永远不超过500行,方便学习。

pull request/comments are welcome!
happy hacking!

Neil Chen

unread,
Feb 21, 2013, 3:04:04 AM2/21/13
to lis...@googlegroups.com
10K并发是什么意思,每秒?能不能详细介绍下是在什么配置以及环境下测出来的结论?

谢谢!



--
--
Lisp-cn(Lisp中文用户组)
CLUG http://lisp.org.cn

---
您收到此邮件是因为您订阅了 Google 网上论坛的“Lisp-cn(Lisp中文用户组)”论坛。
要退订此论坛并停止接收此论坛的电子邮件,请发送电子邮件到 lisp-cn+u...@googlegroups.com
要查看更多选项,请访问 https://groups.google.com/groups/opt_out



Nala Ginrut

unread,
Feb 21, 2013, 4:12:45 AM2/21/13
to lis...@googlegroups.com
On Thu, 2013-02-21 at 16:04 +0800, Neil Chen wrote:
> 10K并发是什么意思,每秒?能不能详细介绍下是在什么配置以及环境下测出来的结论?
>
> 谢谢!
>

ab -n 100000 -c 100 http://localhost:8080/
测下来9K多请求每秒,不过都是短连接。一般我们谈服务器的并发性能都要考虑长
连接,不过对于一个小型web-framework的内置server来说,给一般爱好者建立个
人站点应该是足够了。

我个人不会拿这个数据跟生产环境服务器相比较。;-p

机器配置:
x86-64, i7 2.4 Ghz, 2 cores, 2 threads/core, 8 GB ram
OS是debian
> --


Neil Chen

unread,
Feb 21, 2013, 7:08:37 AM2/21/13
to lis...@googlegroups.com
Cool~

Nala Ginrut

unread,
Mar 16, 2013, 7:49:44 AM3/16/13
to lis...@googlegroups.com
最近更新:
1、加入一个新API: emit-response-with-file来方便处理静态页面或传输文件
2、加入了API文档

TODO:
1、添加中文教程
2、让数据库更好用一些

https://github.com/NalaGinrut/artanis

PS: 关于最近有同学把玩的时候遇到无法启动的问题,这里建议使用Guile-2.0.7
以上的版本,因为artanis用了很多新东西。如果有编译不通过的问题可以发信到
guile...@gnu.org

如果你直接用的git repo,请先git checkout stable-2.0,虽然最近master分支
可以正常编译通过并且有许多新特性,但master从来不保证可以正常编译。

Regards.

Nala Ginrut

unread,
Mar 18, 2013, 12:29:01 AM3/18/13
to lis...@googlegroups.com
抱歉,居然把MIME给忘了,那简直就没法用了。。。
现在已经加上了,有兴趣的同学试试吧~
https://github.com/NalaGinrut/artanis
Reply all
Reply to author
Forward
0 new messages