需求:服务器端有许多静态文件,还有许多用c++编写的业务组件,需要对这些功能进行包装对外发布服务,server端需要保存客户端状态(类似session的功能)和一些server端的状态,并且server的功能可能会增强如添加web管理界面等等;
初步设想的解决方案是:用lighttpd+fastcgi来搭建服务器,fastcgi程序可以直接用c++来编写,这样可以直接调用c++编写的业务组件,但是比较麻烦的是server要添加状态维护的功能,因为fastcgi是多进程的实现,要共享状态的话就要进行进程间的通信,初步的想法是引入一个内存数据库,把状态的信息都放到这个里面,如果要添加web管理界面则用php来写,但是整体感觉这种方式实现起来不是很简便,尤其是用c++写的fastcgi程序的后期维护及升级。
还有一种想法是server用java写,用jni调用c++组件,状态管理就不用操心了,但是把c++组件改成jni也是一个不小的工作量,所以都比较麻烦
基本情况大概这样,希望能听听大家建议,多谢
另:lighttpd/Fastcgi方式可以用来部署RoR,不知道这种部署方式的fastcgi是怎么实现的,在server端是如何维护状态的,是否可以借鉴?因为我从来没有用过RoR,所以想问问大家