今天我发现用ANSI C-G-WAN编写的Web框架。
我喜欢它,但它不是开源的,只由一个开发人员维护。我害怕在生产中使用它。
您是否知道任何更严肃的框架,允许在ANSI C中编写Web服务?
我只对ANSI C感兴趣,而不是C ++。
UPD: 我用Google搜索了Raphters框架。现在我要把它弄清楚了。
答案 0 :(得分:3)
如果您不想使用G-WAN,请试用NGINX,这是广泛部署的,也是最快的网络服务器之一,即使根据G-WAN作者的判断。还有一个很好的howto page。
答案 1 :(得分:1)
在G-WAN上工作,我也重视将C用作服务器的能力。
您的选择Raphters
(顺便说一句Nginx
)也仅由一位开发人员“启动。
但是Raphters
始于2011年(它比2009年开始的G-WAN更成熟吗?)并且最近的更新差不多有一年了(它是否比G-WAN更好维护?)。
The author of Raphters says “G-WAN附带更多”。他可能比我们更清楚。
如果您正在寻找“任何更严肃的框架,允许以ANSI C编写Web服务”,那么请查看由AT& T在20世纪80年代开发的Tuxedo
。 / p>
30年后,Tuxedo
“成熟”,“维护良好”,ORACLE(新主人)很可能会留下来。
但Tuxedo
未提供the performance of G-WAN(850,000 TPS
)。以下是weightp
Tuxedo
(15,000 TPS
在同一台计算机上的 Concurrency / min / average / max
---------------------------------
1, 5477, 6151, 8161
10, 7894, 11416, 15451
20, 8177, 11894, 15578
30, 10064, 13246, 15499
40, 1, 909, 8885
50, 1, 18, 130
60, 1, 1, 1
70, 1, 1, 1
80, 1, 1, 1
90, 1, 1, 1
100, 1, 1, 1
测试,并且尽管硬件功能强大,但很快就会死亡:
ApacheBench
Tuxedo
的{{1}}(AB)测试确认了上述测试(AB比上面使用的weighttp
慢):
ab -n 100000 -c 10 -k "http://127.0.0.1:8080/"
Server Software: Oracle
Server Hostname: 127.0.0.1
Server Port: 8080
Document Path: /
Document Length: 266 bytes
Concurrency Level: 10
Time taken for tests: 12.462 seconds
Complete requests: 100000
Failed requests: 0
Write errors: 0
Keep-Alive requests: 0
Total transferred: 48400000 bytes
HTML transferred: 26600000 bytes
Requests per second: 8024.45 [#/sec] (mean)
Time per request: 1.246 [ms] (mean)
Time per request: 0.125 [ms] (mean, across all concurrent requests)
Transfer rate: 3792.80 [Kbytes/sec] received
看看这个,也许你理解为什么G-WAN是由作者创建的:他找不到任何能够将他公司的Windows Desktop applications
移植到Web applications
作为SaaS销售的Web框架。 / p>
答案 2 :(得分:0)
也许,在服务了自己的网站和其他许多网站3年后,你可以停止“害怕”关于G-WAN的。
而且,对于“任何更严重的框架”,选择受到限制:
G-WAN比我目前所看到的(几十个)更快,更具可扩展性
G-WAN以ANSI C,C ++,Objective-C,Java提供(编辑和播放)脚本。
G-WAN包含150 KB的单个可执行文件,无需配置即可使用。
为了解决其中一条评论,Lua,Go,Python,Javascript已经得到了G-WAN的支持,很快就会推出PHP。
答案 3 :(得分:0)
我现在正在研究使用GWAN的不同东西,但环顾四周我也找到了猴子(http://monkey-project.com/)。它的真正缺点似乎是缺乏文档和功能,但除此之外,它还应该能够做你想要的。
不幸的是,我不知道GWAN与Monkey目前的任何基准,只要我继续使用GWAN,我就没有理由自己做,但Monkey的作者似乎认为它甚至比GWAN更快。 / p>
关于脚本,如果需要,应该可以实现自己的管道,因为我找不到关于猴子的任何信息(参见:缺少文档)。
由于这已经得到回答,我只是张贴完整性。
P.S。:如果它看起来很有趣,你可能还想看看http://duda.io/这是一个实现web服务的框架,比如用于猴子的websockets。