您的位置:首页 > 其它

一个小项目的技术选型

2015-06-15 14:36 232 查看
帮人做一个小小的在线登陆验证模块。

需求背景:大约有200人在线的状况,客户端有个登陆界面。

很简单的一个项目,主要分:通讯模块和服务模块。

客户端采用Delphi开发,通讯方面考虑:Midas技术或Webservice。webservice效率上相比midas要低;抛开WEB防火墙的苛刻要求,midas中的SocketConnection不论是在性能上还是在灵活性上应该说都是比较好的选择。更主要一点,Midas简单易用;至于是否满足需求,这小项目是完全胜任的。

通讯决定采用Midas技术,服务端自然也就需要搭建APServer,但APServer的运行环境内存有点苛刻,才256M。APServer运行模式得调整:进程模式为“单实例”。至于线程模式,需要结合数据库来设定。

假设200人同时上线,需要发起200次验证,那么就有可能同时触发200次查询。这是一个小型的系统,可考虑access或sqllite。

access理论上的连接数是255,显然不利于后续扩展。那可否只保留一个连接,多线程使用呢?答案是否定的,存在线程安全问题。

sqllite,从官方资料看,支持多线程模式。这样只需一个连接即可。看起来应选择sqllite了。

但是,回头看200次请求验证是否都需要查询数据库?用户名及密码是较为稳定的数据,只需取一次,放在内存中即可,定时更新。空间换时间,效率肯定比每次查询数据库快。

从这个角度看,选什么数据库并不是那么重要了。选个简单好用的吧。

APServer线程模式改为多线程,查询的目标数据放在线程安全的列表中即可。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: