实时同步方式

实时同步方式有以下几种:

  1. 轮询(Ajax polling/Ajax long polling)
  2. WebSocket
  3. Socket.io
  4. Wilddog(野狗)
  • WebSocket协议

    1. HTML5新增的一种协议方式
    2. 主要特点:是建立客户端与服务端的长连接,从而实现实时数据传输
  • 其他实现实时化的方式
    1. Ajax polling:客户端使用Ajax每隔一定时间向服务端发起一次数据请求。实时性取决于请求的频次,而性能也决定于请求的频次
    2. Ajax long polling:跟Ajax polling的方式类似,不同之处是需要服务端keep-alive的支持。客户端不再定时发送数据请求,而是发送一个请求后一直等待,直到这个请求返回数据再发起下一次请求。比起polling进步的一点是可以做到真正的实时,而且性能明显提高,但依然不够高
  • WebSocket的优势
    1. WebSocket的传输其实并不依赖于HTTP协议,且不需要重复建立TCP连接
    2. WebSocket只使用HTTP协议作为握手协议,当长连接建立之后就再也不需要传输庞大的HTTP头了
    3. WebSocket协议头基于二进制,非常小,跟HTTP协议头相比可以忽略不计
  • WebSocket存在的问题
    1. 浏览器兼容性
    2. 断线重连,会话维持
    3. 需要写服务端逻辑
  • Socket.io解决了WebSocket存在的问题
    1. Socket.io解决了浏览器兼容性问题,提供了会话层,同时有基于Node.js的服务端逻辑
  • Socket.io的缺陷
    1. 你需要关注数据发给谁
    2. 你需要关注连接状态,在线与离线需要两套不同的处理机制
    3. 手动处理数据权限问题,Socket.io 是无权限机制的
  • Wilddog(野狗)的实时同步机制恰好的解决了Socket.io的缺陷
    1. Wilddog的实时同步机制包含云端的NoSql数据库和客户端的Nosql数据库。
    2. 因为有数据存储,所以不需要关注对方的连接状态,只需要修改相应位置的数据就可以,数据同步可以让应用离线可用,而且离线与在线可以共用一套逻辑
时间: 2024-10-12 05:07:10

实时同步方式的相关文章

基于OGG的Oracle与Hadoop集群准实时同步介绍

Oracle里存储的结构化数据导出到Hadoop体系做离线计算是一种常见数据处置手段.近期有场景需要做Oracle到Hadoop体系的实时导入,这里以此案例做以介绍.Oracle作为商业化的数据库解决方案,自发性的获取数据库事务日志等比较困难,故选择官方提供的同步工具OGG(Oracle GoldenGate)来解决. 安装与基本配置 环境说明 软件配置 角色 数据存储服务及版本 OGG版本 IP 源服务器 OracleRelease11.2.0.1 Oracle GoldenGate 11.2

rsync结合inotify实现实时同步

背景介绍 中小企业的web应用场景中,web服务器可能是由2台服务器组成,通过DNS的轮询作为负载均衡,此时就需要对2台服务器之间同步的实时性有较高的要求,上一篇文章所介绍的rsync+crontab就不能满足此需求,本章就来介绍使用rsync+inotify完成服务器之间的实时同步 实验说明 操作系统:CentOS6.8,inotify要求内核版本必须为2.6.13以上 源服务器:172.16.10.10/24 目标服务器:172.16.10.20/24 实验目的:将源服务器上的/rsync目

Sersync实时同步

sersync利用inotify与rsync对服务器进行实时同步,其中inotify用于监控文件系统事件,rsync是目前广泛使用的同步算法,其优点是只对文件不同的部分进行操作,所以其优势大大超过使用挂接文件系统的方式进行镜像同步.由金山的周洋开发完成,是目前使用较多的文件同步工具之一.该工具和其他的工具相比有如下优点: sersync是使用c++编写,由于只同步发生更改的文件,因此比其他同步工具更节约时间.带宽: 安装方便.配置简单: 使用多线程进行同步,能够保证多个服务器实时保持同步状态:

rsync+inotify 实现服务器之间目录文件实时同步(转)

软件简介: 1.rsync 与传统的 cp. tar 备份方式相比,rsync 具有安全性高.备份迅速.支持增量备份等优点,通过 rsync 可 以解决对实时性要求不高的数据备份需求,例如定期的备份文件服务器数据到远端服务器,对本地磁盘定 期做数据镜像等. 随着应用系统规模的不断扩大,对数据的安全性和可靠性也提出的更好的要求,rsync 在高端业务系统中 也逐渐暴露出了很多不足,首先,rsync 同步数据时,需要扫描所有文件后进行比对,进行差量传输.如 果文件数量达到了百万甚至千万量级,扫描所有

rsync+lsyncd实现文件实时同步

可参考http://seanlook.com/2015/05/06/lsyncd-synchronize-realtime/ 可参考http://openlinuxfly.blog.51cto.com/7120723/1679279 一.环境 lsyncd    192.168.3.71 rsync     192.168.3.72 二.配置rsync服务器 配置rsync以xinetd方式运行 [[email protected] ~]# yum install rsync -y [[emai

烂泥:rsync与inotify集成实现数据实时同步更新

本文首发于烂泥行天下. 上篇文章我们介绍了如何使用rsync同步文件,这篇文章我们再来介绍下,如何把rsync与inotify集成实现数据的实时同步. 要达到这个目的,我们需要分以下几个步骤: 1.rsync的优点与不足 2.inotify是什么 3.检测OS是否支持inotify 4.inotify相关参数详解 5.inotify监控的文件事件类似 6.inotify-tools是什么 7.安装inotify-tools 8.inotifywait使用详解 9.inotifywatch使用详解

Rsync+Inotify-client 实现实时同步

在前面的博文实践记录之-Rsync镜像备份介绍了镜像备份工具Rsync的安装和使用.但在大数据时代,rsync的不足之处也暴露出来. 首先.rsync本身实现不了实时备份.靠系统的crontab实现的话也受限于1分钟.因此这就导致了服务端和客户端数据可能出现不一致,更无法在应用故障时做到数据的完全恢复.其次,rsync在备份时,要扫描所有文件,这样效率就特别低,特别在数据量很大的时候. 不过,结合Inotify可以很好的解决Rsync在这方面的缺陷.基本实现原理是这样:通过使用shell脚本,获

企业实时同步方案----Rsync+Sersync

在博文企业实时同步方案----Sersync介绍中我们详细介绍了Sersync的原理,设计架构以及和 Inotify 等等的优势区别.这里我就带大家一起来做一下 Rsync +Sersync 这个同步分发架构案例. 实验环境介绍: 内核版本:2.6.32-431.el6.x86_64 系统采用最小化安装,系统经过了基本优化,selinux为关闭状态,iptables为无限制模式 源码包存放位置:/root Rsync客户端+Sersync服务器(SERSYNC),承担角色MASTER,IP:17

rsync+inotify实现实时同步

1.数据同步: A服务器的一个目录同步到B服务器上的一个目录 方法是: 可以在A服务器上把这个目录共享(如ftp,http等),然后B服务器上写shell脚本,用crontab做定时任务下载过来(数据同步不实时) 实时同步 方法是: rsync远程目录实时同步 drbd远程存储实时同步(很老的方案) 共享存储,就是同一个磁盘设备同时被很多人用 分布式存储(云存储) 2.同步.异步和远程同步 sync同步 async异步 rsync 远程同步 这里主要说rsync,在开始之前需要了解以下几个问题: