前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >realtime 库和框架概览

realtime 库和框架概览

作者头像
dys
发布2018-04-03 17:44:36
1.3K0
发布2018-04-03 17:44:36
举报
文章被收录于专栏:性能与架构性能与架构

Websocket 库

现在大部分新版浏览器、Android、IOS 都已经支持了 Websocket,直接使用 Websocket 问题不大,那么 Websocket 库的作用是什么呢?

Websocket库提供了不少辅助功能,使开发更简单,例如 心跳检测机制、重连、不支持Websocket情况下的后退方案

engine.io

跨浏览器、跨设备的双向通信层实现,小巧,非常稳定,具有高可用性,而且对负载均衡器友好,易扩展

https://github.com/socketio/engine.io

WS

一个 node.js websocket 库,据说是 node.js 中最快的

https://github.com/websockets/ws

SockJS

一个JS库,提供了清晰的跨浏览器JS API,可以在服务器与客户端间建立低延时、全双工、跨域的通讯

支持丰富的后退机制,例如 websocket 不可用时,会自动后退为 flash 或者 http轮询方式

https://github.com/sockjs/sockjs-client

Primus

不是一个具体实现,而是一个实时框架的外壳

node.js 中有很多实时框架,各有特色,Primus便提供了一个通用接口,方便更换不同框架

https://github.com/primus/primus

Tornado

Python 的实时库,提供了较好的后退机制

http://www.tornadoweb.org/

web-socket-js

基于 flash 的 websocket 实现

https://github.com/gimite/web-socket-js

libwebsocket

C语言的 websocket 实现,以最少的 CPU 和内存资源,实现尽可能快的全双工通讯

https://libwebsockets.org/

Atmosphere

是一个工作于 JVM 的异步 WebSocket/Comet 框架,支持 WebSockets, Server Sent Events (SSE), Long-Polling, HTTP Streaming (Forever frame), JSONP

并且支持非常多的扩展,例如 Redis, Hazelcast, JMS, JGroups

https://github.com/Atmosphere/atmosphere

Java Web Socket

纯 Java 实现的 WebSocket 客户端和服务器

http://java-websocket.org/

发布订阅库

在实时消息中,‘发布订阅’是一个被广泛采用的模式,多个客户端可以订阅一个主题,其他客户端可以向这个主题推送消息,是一个简单而且扩展性极好的多对多沟通模式

socket.io

可以工作于任何平台、浏览器、设备上,速度快、可靠性好

后端使用以了一个 Redis server,可以支持分布式多节点负载

http://socket.io/

socket cluster

Node.js 的实时 WebSocket 框架,具有高度可扩展性,在集群环境中可以很好的处理连接的负载均衡

http://socketcluster.io/

Data-Sync

发布订阅是实时应用最开始就使用的模式,工作过程类似这样:

用户A修改了某些数据,通过ajax提交sever保存到数据库,产生一个事件,其他客户端接收到此事件,发起一个ajax请求,获取新的数据

后来出现了一个更好的处理方式:data-sync

data-sync 可以使任何更改的数据马上同步到所有连接的客户端,减少请求,使应用更快,开发更简便

Horizon

RethinkDB 团队基于 RethinkDB server 开发的,包括 Node.js server 和 JavaScript 客户端,开发简单,运行极快

https://horizon.io/

FeatherJS

是一个 RESTful CRUD 框架,基于 Node 的 express.js,底层使用了 socket.io,当有对象变动后,就会发送事件,主打特点是简单、快速

http://feathersjs.com/

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2016-07-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 JAVA高性能架构 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
负载均衡
负载均衡(Cloud Load Balancer,CLB)提供安全快捷的流量分发服务,访问流量经由 CLB 可以自动分配到云中的多台后端服务器上,扩展系统的服务能力并消除单点故障。负载均衡支持亿级连接和千万级并发,可轻松应对大流量访问,满足业务需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档