
- 加为好友
- 发送私信
- 在线聊天
|
| 发表于:2008-04-15 09:16:187楼 得分:0 |
人是自自寻烦恼,层越多越烦越不稳定 看来有些人是没有亲身体验过三层 我使用过RamObject与IdTcp后的感受: 供大家参考 1\连接过程的区别: 两层:Ado直接连接Dbms,进行查询和更新 三层:客户端加密SQL指令---发送---服务端接受解密----通过线程进行临时连接DBMS----查询到结果---转换成流并加密压缩---发送---客户端接受解密解压----恢复到db控件中 三层比两层多出了若干中间的环节,所以肯定了三层的速度没有两层的快,这是早就定论的. 对查询后得到的本地数据集进行更新时,不能像两层直接更新了,三层除了更新本地的,同时还得发出指令更新远程数据库. 2\Adocon容易出现的问题 三层中使用Adoconneciton,通过多个线程建立连接,在使用同一个ADocon时是不稳定的,必须为每个线程建立一个adocon,这样由于登录验证的时间,所以更加影响了执行速度.而两层是早已连接上了的,且不会出错. 3\数据库安全问题 两层是通过加密符对Ado访问口令的加密 三层因为不涉及到数据库口令,但TCP通讯时少不了加密,否则,只要连接上IP:PORT,就可以发送指令执行了, 两种加密都在客户端中,对于反汇编来说,安全性是差不多的了 4\经常谈到的维护问题 提到三层,多数人认为可以减少维护量,把所有的业务逻辑放在中间层,便于集中维护. 大家想一下,现在有多少人真正做到客户端无逻辑运算的,这种做法只是学着B/S,而浪费客户机的资源. 对于C/S的,他与B/S有着很大的区别,就像QQ也不可能做到逻辑在服务器,维护更新可以通过自动升级来完成. 5\开发周期 三层必竟是多了一层,好多内容都是拆分开在两端同时开发,代码的完整性及维护没有两层简单,开发周期也长 6\三层的优势 由于我水平有限,至目前所理解的三层优势,只是可以减少 两层adocon连接的个数,从而减少服务器需分配的资源,对于两层,当连接数过多时,数据库是承受不了的,三层调用数据后可以释放连接,不像两层始终占着. 说了这么多,不是为了说三层不好,而是两层当数据环境在一定范围内是有优势的,而三层则是突破这个数据环境的优势. 就好比,一共有10个客户端,三层的优势是绝对不会超过两层 这个是要看环境进行权衡 | | |
修改
删除
举报
引用
回复
| |