一个小项目的技术选型
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线程模式改为多线程,查询的目标数据放在线程安全的列表中即可。
需求背景:大约有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线程模式改为多线程,查询的目标数据放在线程安全的列表中即可。
相关文章推荐
- AIX NFS 挂载
- LR(0)和SLR分析表的构造
- 将Hadoop中SequenceFile,MapFile转换为文本文件
- Servlet--HttpServlet类
- BZOJ 1576: [Usaco2009 Jan]安全路经Travel( 树链剖分 )
- express4学习文档
- C++中struct与class的区别
- win7和win8没有数字签名安装驱动的方法
- “远程计算机需要网络级别身份验证,而您的计算机不支持该验证..."解决办法...
- spring ldap demo
- 修改mysql数据库的 datadir
- Java NIO系列教程(七) FileChannel
- 5种服务器网络编程模型讲解
- 《大话设计模式》--其实你不懂老板的心--解释器模式<Interpreter>(27)
- Android编程之ButterKnife
- 如何将Eclipse下的maven项目上传到github
- 互联网程序的发展前景
- 求第K大的问题
- VS2010不能引用System.Data.OracleClient解决方法
- OJ对象数组求最大值