什么框架适合传递通常在几秒钟内发生变化且由很多人评估的数据(类似于股票报价)?

什么框架适合传递通常在几秒钟内发生变化且由很多人评估的数据(类似于股票报价)?

我只熟悉 php 和 javascript,我猜 php 不擅长处理大量并发请求。如果有人能给我介绍更合适的框架,我将不胜感激,因为我现在真的不知道该用什么关键字来谷歌搜索。非常感谢。

答案1

多播和发布/订阅 (pub/sub) 消息传递框架,具体取决于数据源、您的网络以及您的听众所在的位置。

答案2

这个问题无法回答——你从“我是一个小网络狂人”的角度提出一个人们已经花费数百万来回答的问题。

首先,什么是“类似于股票报价”。说真的。我跟踪 5 家交易所 - 芝加哥商品交易所集团提供的所有交易所。我跟踪超过 25 万个符号,大多数是不活跃的。活跃的符号每秒有数百次更新(顺便说一下,这些是我真正感兴趣的)。

第二,什么是“许多人”?100人?100,000人?

什么是 deliver。内部网?互联网?内部网,你真的想研究一下多播之类的东西。互联网多播不存在。

框架?嗯,有著名的 TIBCO。实施价格 7 位数。Rithmic 使用了一些内部开发的东西,该领域的许多其他提供商也是如此。

更新?你对传输延迟有什么看法?我的意思是,在家里,我进行交换后有 129 毫秒。在关键时刻,我距离它只有 1 毫秒。这很重要 - 因为你不能依赖“拉动”,你必须推送更新。

这确实是一个很复杂的话题。任何主流语言(C#、Java、C++)和一些不太常见的语言都有可用的绑定。预算和实际用途将开始决定您的决策矩阵。

答案3

当然,这取决于“大量”和“几秒钟内更改的数据”对您意味着什么。要处理大量并发用户,最好不要让用户频繁访问您的动态应用服务器。

使用 Varnish + CDN 之类的强力缓存和一些快速后端存储(这里有很多选择)会有很大帮助。

就动态后端本身而言,Erlang 已被证明具有大量并发能力,而且使用 Java/Scala 也能获得出色的结果。

但重要的是不要过度设计,因为您可能会构建比问题实际需要更复杂的解决方案。

相关内容