websocket应用场景的使用

594zzb 发布于 2017/03/14 00:08
阅读 1K+
收藏 1

我这边目前打算做一个股票行情的网站,技术选型打算使用spring4+websocket+sockjs来达到股票实时数据推送,然后打算通过kafka通知机智,通知消费者有新的数据过来了就及时做处理并用websocket展示到前端。

目前有个业务场景是这样的,我要实时推送的数据是用户请求的处理结果的实时变化推送。即用户在选择了不同下拉筛选条件后,请求后台,得到符合这些筛选条件的股票信息,然后实时展示这些符合条件的股票信息的行情数据变化,如股票的涨跌幅/价格这些高频数据的展示。但是每个用户的筛选结果集是不同的,比如用户A筛选了A1条件后看到了股票A,B,C;然后要求这A,B,C股票的数据实时更新展示;用户B筛选了B1条件看到了股票B,股票D,然后要求股票B,D实时更新展示。每个用户看到的实时数据是不同的,websocket有用户这个概念,那我怎么实现websocket推送给A和B不同的数据,然后实时更新展示,是否用户websockt session要存放每个用户对应的id和对应的股票信息。。。

还有就是实时数据的展示还包括一些其他基本信息的展示,比如某个股票的涨跌幅,价格,公司,上市时间等,其中涨跌幅和价格是一张表获取到的行情高频数据,然后公司名和上市时间又是另一张表的基本数据,展示的时候是这两种数据的结合,有个拼接的过程,这个怎么做合适?

加载中
0
罗格林
罗格林

同问. 我也想知道这个问题用WebSocket如何处理

0
FEINIK
FEINIK

要实现websocket推送给不同的用户数据,应该使用websocket的点对点消息发送模式吧。

5
594zzb
回复 @FEINIK : 那怎么实现后台告诉前台有变更了,让前端自动重新请求。这个引起用户前端重新请求的实现方式可以怎么实现,这个比较疑惑
FEINIK
FEINIK
@594zzb 回复@594zzb : 如果是前端A用户请求一次,让后端一直根据用户A的选择参数返回其对应的实时数据,对于这样的场景,其实可以在服务端如果用户数据发生变化则通过WebSocket发布消息通知客户端所有用户重新加载参数来获取新数据,如果是多系统的话还可以通过WebSocket结合RabbitMQ来实现。
5
594zzb
感觉这种不是通用的数据展示的话,websocket是否不合适,是否还只能用ajax数据请求
5
594zzb
点对点是一种说法,我想要的更具体的。比如A用户和B用户选择的参数不同查看的数据是不同的,怎么能够让后台一直根据用户A的选择参数返回其对应的实时数据,同理也返回用户B选择的参数下的实时数据。这个才是我想要解决的重点
0
MZHS
MZHS

服务器端存放关心数据和用户id 客户端收到关心数据有更新就下载server端最新数据 拼接放到本地

返回顶部
顶部