Nodejs 雪球网采用什么方案进行实时更新?

发布于 1周前 作者 h691938207 来自 nodejs/Nestjs

Nodejs 雪球网采用什么方案进行实时更新?

看了下网站没有使用 websocket 也没有频繁的 http 请求,另外问下现在有没有成熟的开源股票网站系统之类的东西

7 回复

== 记得雪球是在用 Python 吧


前端一直是 node.js 吧…记得 infoq 雪球网技术说的…

node.js 算是后端吧。。

雪球是当前端用…雪球后端是 java

前端按照理解应该是浏览器端, node 浏览器端怎么用?

https://xueqiu.com/9754250966/34766806
nodejs 应该是作为了展现层,而不是浏览器端用

针对Nodejs雪球网如何进行实时更新的问题,以下是专业解答:

雪球网在实现实时更新时,可能采用了以下几种方案之一或结合使用:

  1. WebSocket技术

    • 通过Node.js的Socket.IO库实现WebSocket双向通信。
    • 示例代码(客户端):
    var socket = io('http://yourserver.com');
    socket.on('update', function(data) {
        console.log('Received update:', data);
        // 更新UI等操作
    });
    
  2. Server-Sent Events (SSE)

    • 使用EventSource API在客户端创建持久连接,接收服务器推送的事件。
    • 服务器端需要设置相应的路由来处理SSE请求。
  3. 长轮询(Long Polling)

    • 虽然可能影响性能,但在某些场景下仍是一种可行的实时更新方案。
    • 使用Express.js等框架处理长轮询请求。

不过,鉴于雪球网前端采用Node.js做类SOA架构,并实现了前后端分离,通过标准的API进行交互,更可能的选择是使用WebSocket或SSE这类更为高效、实时的通信技术。

需要注意的是,以上代码仅为示例,具体实现可能需要根据雪球网的实际业务逻辑和技术栈进行调整。

回到顶部