一个小项目的技术选型

        帮人做一个小小的在线登陆验证模块。

        需求背景:大约有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线程模式改为多线程,查询的目标数据放在线程安全的列表中即可。

你可能感兴趣的:(一个小项目的技术选型)