`
siuying
  • 浏览: 91572 次
  • 性别: Icon_minigender_1
  • 来自: 香港
最近访客 更多访客>>
社区版块
存档分类
最新评论

AjaxMessaging - bring realtime messaing to Ruby on Rails

    博客分类:
  • Tech
阅读更多

Proudly present my new plugins for Ruby on Rails! This is based on my previous post on Juggernaut and ActiveMQ Ajax Web Demo. ( More details include tutorial coming! Meanwhile, please try the example ;-) )

DESCRIPTION

AjaxMessaging, or a11g, is a plugin to provide real time messaging for Ruby on Rails.

ABOUT

DETAILS

Using AjaxMessaging, Rails view can receive real time update from back-end Messaging Oriented Middleware (MOM).

What Happens:

  1. Client open a AJAX connection to Rails
  2. Rails connect to MOM using STOMP, listening for specific channels, if there are incoming messages, they are sent to client.
  3. If no message for a short period (~30s), the ajax connection return and client try again.

Features:

  1. Message sent to client at realtime
  2. Only regular HTTP connection is required. No socket server, no hacks on HTTP Pushing. Therefore, most firewall and browser supports it.
  3. Subscription to multiple channels. Message can sent to either user or channels.
  4. Integrated plugin, simple helper functions.

Requirements:

  1. Rails 1.2+
  2. json gem (gem install json)
  3. stomp gem (gem install stomp)
  4. Mongrel (gem install mongrel), you must use mongrel as web server as AjaxMessaging use Mongrel custom HttpHandler
  5. MOM supports STOMP, e.g. ActiveMQ

INSTALLATION

  1. Enter following command in your project:
  2.     script/plugin install http://ajaxmessaging.googlecode.com/svn/trunk/plugins/ajaxmessaging
  3. Edit config file:
  4.     config/mongrel_conf.yml
  5. Start your MOM server. If you are using ActiveMQ, go to AMQ directory and enter following command:
  6.     ./bin/activemq  
  7. Start rails by enter following command:
  8.     mongrel_rails start -C config/mongrel_conf.yml

EXAMPLES

You may get an example project at:

   svn checkout http://ajaxmessaging.googlecode.com/svn/trunk/examples/ajaxmessaging-examples ajaxmessaging-examples

 

分享到:
评论

相关推荐

    tuned-profiles-realtime-2.11.0-10.el7.noarch.rpm

    官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装

    前端项目-leaflet-realtime.zip

    【压缩包子文件的文件名称列表】"leaflet-realtime-master" 暗示了项目的源代码结构,可能包含以下几个部分: 1. **index.html**:主入口文件,通常包含了地图的基本设置和页面结构。 2. **style.css**:用于定义...

    js-realtime-sdk, LeanCloud实时消息 JavaScript SDK.zip

    js-realtime-sdk, LeanCloud实时消息 JavaScript SDK LeanCloud实时 SDK npm install leancloud-realtime --savenpm install leancloud-realtime@next

    tuned-profiles-realtime-2.8.0-5.el7.noarch.rpm

    官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装

    asterisk-1.8 realtime涉及到的几个表的SQL(修订过了)

    5. **musiconhold.sql**: `musiconhold`表可能用于管理等待音乐。Asterisk允许自定义等待音乐,这个表可能包含音乐文件名、描述、分类等,使得系统可以根据需要播放不同的音乐。 6. **voicemail_data.sql**: 另一个...

    mysql-binlog-in-realtime 源代码包

    "mysql-binlog-in-realtime"源代码包就是针对MySQL binlog进行实时处理的一个工具,它允许开发者在事务发生时立即读取和解析binlog事件,从而实现对数据变更的实时响应。 1. **MySQL Binlog简介** MySQL的binlog是...

    tuned-profiles-realtime-2.11.0-5.el7fdp.1.noarch.rpm

    官方离线安装包,测试可用。使用rpm -ivh [rpm完整包名] 进行安装

    laravel-realtime-chat, 实时聊天w/Laravel + Redis + node.js + socket.io.zip

    laravel-realtime-chat, 实时聊天w/Laravel + Redis + node.js + socket.io Laravel 实时聊天 用 Laravel 4.2 + node.js + + Socket.io. 编写的实时聊天示例Live: http://chat.guilhermeslk.com.br: )##Requirem

    kafka-and-strom-event-processing-in-realtime-131023085422-phpapp01.pdf

    kafka-and-strom-event-processing-in-realtime-131023085422-phpapp01.pdf

    Laravel开发-laravel-realtime

    在"laravel-realtime-master"这个压缩包中,可能包含了实现以上步骤所需的所有源代码、配置文件和示例。解压并研究这些文件,可以帮助你更好地理解如何在实际项目中使用"laravel-realtime"库。通过阅读文档、查看...

    Storm - Distributed and fault-tolerant realtime computation

    Storm是一个由Nathan Marz开发的开源实时计算系统,旨在实现分布式和容错的实时计算。Storm项目在2011年9月19日开源,其代码实现大约有15,000行,目前已被25家公司采用,并且在GitHub上拥有超过2400个关注者,成为最...

    loopback-component-realtime:LoopBack组件,可将出色的框架转变为强大的实时平台

    $ npm install --save @mean-expert/{loopback-sdk-builder,loopback-component-realtime} 设置后端模块 如下更新server/component-config.json : { " loopback-component-explorer " : { " mountPath " : " /...

    Storm:distributed and fault-tolerant realtime computation

    ### Storm: 分布式与容错实时计算 #### 概述 Storm 是一款开源的分布式实时计算系统,由 Twitter 的流处理技术创始人 Nathan Marz 开发,并于2012年发布。它能够处理大量的数据流,实现低延迟的数据处理,并提供...

    Realtime-Voice-Clone-Chinese.zip

    本文将以“Realtime-Voice-Clone-Chinese.zip”为切入点,深入探讨中文实时语音克隆模型的相关知识,包括其原理、实现方法以及在各领域的应用。 一、语音克隆技术概述 语音克隆,顾名思义,是指通过技术手段复制一...

    藏经阁-BUILDING REALTIME DATA PIPELIN.pdf

    《构建实时数据管道》是关于如何使用Kafka Connect和Spark Streaming构建大规模实时数据处理系统的专业文档。阿里云作为中国领先的云计算服务提供商,提供了丰富的数据处理工具和技术,其中Kafka Connect和Spark ...

    Apache Pinot - A realtime distributed OLAP datastore.zip

    Apache Pinot是一个实时分布式在线分析处理(OLAP)数据存储系统,专为大规模数据集提供低延迟查询而设计。它最初由LinkedIn开发,并在2015年贡献给了Apache软件基金会,成为顶级项目之一。Pinot的目标是实现亚秒级的...

    Ajax-codeigniter-realtime-chat-pusher.zip

    Ajax-codeigniter-realtime-chat-pusher.zip,codeigniter实时聊天推送器,ajax代表异步javascript和xml。它是多种web技术的集合,包括html、css、json、xml和javascript。它用于创建动态网页,其中网页的小部分在不...

    藏经阁-Building realtime BI Systems with Kafka, Spark and Kudu.pdf

    4. **数据新鲜度(Data Freshness)和分析时间(Time to Analytic)**:实时BI系统的两个关键指标是数据新鲜度,即数据从生成到可供分析的时间,以及分析时间,即用户从提出问题到获取答案的速度。Kafka和Spark的...

    pm2-realtime-源码.rar

    在本篇中,我们将重点探讨"pm2-realtime"模块的源码,这个模块是PM2的一部分,用于提供实时的应用性能监控数据。 首先,我们需要理解PM2的工作原理。PM2通过创建守护进程来运行Node.js应用,确保即使在应用程序崩溃...

Global site tag (gtag.js) - Google Analytics