客户端大概有1000多个的系统 做一个系统,客户端大概有1000多个,这样的系统,用什么架构才保证了数据能够快速传递和数据的安全性问题呢??用c/s架构的话,数据库应该放在哪里呢??如果说主要的数据库放入服务器中,并且在每个客户端上面也放入一个次要数据库的话,再用定时器来将服务器的数据拷贝到客户端的数据库里面,这样的话,会不会对数据库的安全有很多的帮助呢?? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 三层,数据传输用socket,后台运算程序使用线程池,每个线程分批处理请求,不过服务器性能也是有要求的 我之前做过一个简单的三层的例子,可是那个客户端有限制,一旦到了8个左右就出错了,不知道是什么原因?报错信息是:“cannot find engine configuration file”,这个是什么问题呢?? 使用ADO,并发问题ADO都会自动处理好。两层,在无论在开发效率和行动效率上,都要快于三层。当然,很多并发连接,其性能主要决定于数据库 如果支持1000客户端,服务器是个考验,这个也无法表达,需要你仔细调试,然后找出问题的根源,提高性能。一般三层很难支持到1000,用INDY可以,如果追求更高就自己写SOCKET用完成端口 如果是c/s,后台就是数据库,通信不用你担心,但是安全(基本无解)、限制(如果用户位于互联网,只能开放数据库服务端口)、数据库的许可费(通过连接池解决)是个问题如果采用b/s,开发起来比较累(使用c#可能会方便一些),用户的使用效果也差一点如果采用client/webserver,楼上的担心也可以不用了:现成的webserver比你自己写的socket服务稳定、高效的多 数据库效率不用担心,倒是重点放在安全上偶公司就七八百台电脑,数据库Session 2500个左右 如果数据库不是mssql,c/s还需要安装数据库驱动,有些是很讨厌的(如db2的驱动是按光盘计算的) 1000多个客户端,用三层根本就是不可能的,可以用二层,那就不存在服务器端了,客户端直接连数据就是了,这样估计对数据库的压力也是很大的通过SOCKET是个不错的选择,当然1000多个客户端同时连接服务器端的话,INDY10以前的版本也不大好办,如果数据量不大,且不是长连接,INDY也是可以考虑的或者你直接调用API来实现也行,直接非阻塞模式就可以了,IOCP不是必须的,但IOCP效率会更高些,可喜的是INDY10开始,已经支持IOCP了,楼主自己研究下吧 直接用API?winsocket?可能会把自己累跛的。如果你的客户端界面不是很复杂,可以考虑这样的方案:数据库使用oracle,用intraweb开发,编译成dll方式在iis中发布,速度会非常的快。 只能输入数字的edit框 的验证方法 请问这个效果是如何做出来的 如何显示许多文字的内容 父窗口定义为应用程序的主窗体,否则程序编译会出错。 幂、指数、对数运算? 求Indy最新版本 how can I kill a person 高分寻求多国语言源码! 大家需要Delphi学习工具吗? 求一可用的自更新源码(C/S)局域网 如何让我写的程序在任务栏显示我想要的名字而不是文件名 我想做一个功能,把我窗体上Edit1里的内容复制到网站上
两层,在无论在开发效率和行动效率上,都要快于三层。当然,很多并发连接,其性能主要决定于数据库
但是安全(基本无解)、限制(如果用户位于互联网,只能开放数据库服务端口)、数据库的许可费(通过连接池解决)是个问题如果采用b/s,开发起来比较累(使用c#可能会方便一些),用户的使用效果也差一点如果采用client/webserver,楼上的担心也可以不用了:现成的webserver比你自己写的socket服务稳定、高效的多
偶公司就七八百台电脑,数据库Session 2500个左右
如果你的客户端界面不是很复杂,可以考虑这样的方案:
数据库使用oracle,用intraweb开发,编译成dll方式在iis中发布,速度会非常的快。