不懂就问 交易所的 k 线是怎么做到实时?

2020-11-27 14:16:46 +08:00
 qdzzyb

现在有个类似 k 线的需求 有点不知道从何下手 数据都在 mysql

3648 次点击
所在节点    问与答
14 条回复
libasten
2020-11-27 14:25:13 +08:00
监听数据写入 mysql 的事件?触发了就绘制一下线图?
VVVV7
2020-11-27 14:28:20 +08:00
websockect 长连接能做到 服务端主动推送到网页上
toma77
2020-11-27 14:31:39 +08:00
websocket
checkzhzzzzz
2020-11-27 15:06:31 +08:00
redis+websocket
newbieRenew
2020-11-27 15:26:57 +08:00
可以用 Server-Sent Events
tairan2006
2020-11-27 15:28:43 +08:00
binlog 解析,然后长连接推送
hronro
2020-11-27 15:56:14 +08:00
你应该把你的需求具体描述出来,比如你希望知道是前端部分何如实现还是后端部分如何实现?
还有你的数据量有多大,数据库查询需要花多久?

如果数据量很小的话,很好实现,直接前端每隔 1s 轮询一次接口就行了。
如果数据量很大,每次查询数据库需要花费几十秒甚至更多的话,那就要上一套更复杂的方案了。
qdzzyb
2020-11-27 16:48:55 +08:00
@hronro 感谢 我应该说详细一点的
hehe12980
2020-11-27 17:36:03 +08:00
正常的交易所都是 前端用 node.js 对接 redis 采用消息订阅模式 再加 websocket 如果直接后台 推的话 数据量大 占用带宽
shm7
2020-11-27 19:11:12 +08:00
是一个离散统计表示
hellsnow
2020-11-27 19:47:40 +08:00
sse
jones2000
2020-11-27 23:00:25 +08:00
tcp 或 ws 长连接订阅推送, 数据存内存,1 台机器有压力, 就由主数据服务器推送到 2 级数据服务器,由 2 级数据服务器推送给客户端。 用户多了,多部署几台 2 级数据服务器就可以, 一般实时行情系统不从 mysql 或 redis 里面取,慢慢慢。
black11black
2020-11-28 02:41:50 +08:00
@libasten 差太远了兄弟,关系型数据库首先顶不住这种压力,还加事务更顶不住了。。大券商每天 9 点半 QPS 可能两三百万,mysql+事务估计能同时负载 20-30 人?
nl101531
2020-11-28 13:12:38 +08:00
这种都时序数据库,背后有实时降采样聚合,数据算的很快。前端和后端就 ws 实时推送

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/729862

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX