客户端连数据库,是直连还是用socket?
项目要求客户端不能直连远程的数据库,所以要用socket传输dataset或者webservice的方式。以前写过socket传输,但是没接触过webservice,不知道二者有何优劣。
最后还是想问下,大并发和数据量的情况下,是直接连接数据库效率高还是使用网络通信的方式效率高呀?项目对实时性要求较高。
数据库
webservice
dataset
socket
网络
------解决方案--------------------高并发高负载不是直接连数据库去解决的。软件是昂贵的,硬件是廉价的。如果你的程序牺牲一半的性能,但是可以在部署到10个计算机乃至100个计算机上能取得近似线性的加速比,这样可伸缩性的程序,比起一个只能在1、2台计算机上运行,但是快5倍的程序更有效。不要用业余的思维方式去思考程序!
------解决方案--------------------要是对性能要求高,当然是用 socket 了, webservice肯定没有你自己写 socket 来得快,但是这个就比较考验写 socket 的水平了
------解决方案--------------------编程的最终目的,当然是越简单越好。能不写代码就不写代码,能不new什么对象就不new对象。能不设计什么class、interface就不要抽象。能不使用高级的c/s概念来架构时,就直接调用关系数据库的客户端驱动好了。
但是实践中,
需要的时候,这些都会被熟练的设计人员大量使用。
而有些人,自己没有把自己放到那种更高要求的公司或者项目中,仅仅因为时髦而纠结于那些“技术”,就很难体会到实践者的乐趣。