服务器如何做到信息更新,分布式应用程序怎样做到服务器数据库数据更新时,客户端数据实时同步更新...

你说的是行情数据吧!

客户端1分钟提交一次请求给socket server,socket server 从本地内存中获取未读取的行情返回给客户端。都是这么做的,跟数据库没关系,行情都记录在文件中,每只券每天一个文件。 行情来源是通过卫星从上交所,深交所等接收来的,每5秒收到一次全市场行情,然后用新数据刷新本地的一个dbf文件。

现在也在考虑使用tcp的服务端push方式推送行情,以前没这么做,是因为push要求的服务器资源比较多,过去的技术架构也难以维持好的性能,所以一直都使用客户端轮询。

另一个问题就是,防火墙可能被规定为禁止inbound的tcp包,这样服务器也无法推送。

你的问题,需要考虑你的数据更新频率和大小,在服务端,你可以建立一个发布-订阅总线,一个发布系统。发布系统从数据库订阅相关更新,使用SqlDependency和OracleDependency,并将更新发布到发布-订阅总线上。然后客户端向发布-订阅总线订阅更新,客户端的订阅可以是轮询查询,也可以使用tcp的双向通讯功能。客户端接收更新的方式,可以是更新的数据,也可以是更新的主题,然后再通过主题去服务器获取相关主题的更新。后一种方式,可以参考微软的Direct Push技术,这样可以使用无状态的http,以规避防火墙的限制。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值