红帽白皮书新鲜出炉!点击获取,让你的云战略更胜一筹! 了解详情
写点什么

使用 AP4R 在 Ruby 中实现可靠消息传送

  • 2007-06-19
  • 本文字数:870 字

    阅读完需:约 3 分钟

一直以来,篠原俊一(Shunichi Shinohara)和加藤究(Kiwamu Kato)在致力于将可靠消息传送(Reliable Messaging)引入 Ruby。他们以先前设计基于 Java 的高容量消息传送框架的经验为基础,通过他们自主的 API 和协议的项目,试图将这个努力变为现实。 AP4R 这个项目的名称是 Asynchronous Processing for Ruby 的缩写,意即“Ruby 的异步处理”。该项目是一个异步可靠消息处理的实现,提供消息队列和消息分派的功能。篠原和加藤在日本 Ruby 会议 2007(RubyKaigi 2007)上进行了演讲(PDF 幻灯片),介绍了他们的 API,并强调其核心设计哲学:鲁棒性和轻量级。

这个项目问世仅仅一年,但已经能支持:

  1. 不管业务逻辑是非同步调用还是同步调用的,都可以以简单的 Web 应用或者 Ruby 代码的形式实现;
  2. RBMS(MySQL)或者基于文件的消息持久化能力;
  3. 支持在单个或者多个服务器上跨多个 AP4R 进程的负载平衡;
  4. 对以下多个协议的支持:XML-RPC、SOAP 和 HTTP POST 等等。

先前,篠原和加藤已经实现过他们自己的基于 Java 的 API 和协议(称为 RtFA),这项成果被用于一个包含 100 台服务器的大型应用中,该应用每天处理超过 1 亿条消息。篠原和加藤声称,他们已经改进了先前在 AP4R 上的工作,并且也在易用性上花了很大工夫。AP4R 所附带的文档非常完整详尽。

要将 AP4R 整合进 Rails,典型流程如下:

  1. 客户端(如 Web 浏览器)向 Web 服务器(Apache 和 Lighttpd 等)发送请求;(
  2. Rails 应用通过 mod_proxy 或者其它被同步地在 mongrel 上执行;
  3. Rails 应用通过 AP4R 的 API 发送消息,并可以在随后立刻响应给客户端;
  4. AP4R 将消息放入队列,并且异步地将其请求到 Web 服务器;
  5. 异步的业务逻辑(以常见的 Rails Action 的形式实现)被执行。

0.3.x 关注的是后台服务化(Daemonization)、URL 重写过滤器(URL-rewrite filter)、DLQ / SAF 恢复,以及对将 Stomp 和 HTTP 作为底层协议的支持。今后的版本将包含对监控和管理的支持(如线程状态和 Web 前端)、与 Cacti 和 Nagios 等的协作、多进程、动态可配置性、自动恢复和阻塞队列等等。

查看英文原文: Reliable Messaging in Ruby with AP4R

2007-06-19 19:30788
用户头像

发布了 117 篇内容, 共 14.7 次阅读, 收获喜欢 0 次。

关注

评论

发布
暂无评论
发现更多内容

什么是高防IP,该如何选择一个好的高防IP

德迅云安全_初启

graphpad prism 10 for Mac(专业医学绘图分析软件)v10.0.0.3注册激活版

iMac小白

每日一题:LeetCode-62. 不同路径

半亩房顶

Go 面试 算法 LeetCode 动态规划

矩阵起源携手深智城入选中国信通院“星河”案例

MatrixOrigin

分布式数据库 云原生数据库 MatrixOrigin MatrixOne HTAP数据库

堡垒机的演变过程

尚思卓越

堡垒机

第一个程序:HelloWorld——IDEA 使用

小魏写代码

Ubuntu系统内核更新与卸载教程。

百度搜索:蓝易云

云计算 Linux ubuntu 运维 云服务器

Centos7快速在线安装MySQL8.0最新版本教程。

百度搜索:蓝易云

MySQL Linux centos 运维 云服务器

AI和机器学习:探索智能科技的未来

不会算法。

瑞技伙伴 | 举足轻重的IT设备?ServerLIFT 举重若轻!

Bytebridge

数据中心 运维管理 智能升降机

PixelOver for mac(对图像和 3D 模型进行像素化和动画处理)0.14.5激活版

iMac小白

酒店集团推行“共享用工”实现降本增效,单店年省高达30万?!

用友BIP

旅游数智化

分享两种Pulsar消息积压topic级别策略老化办法

华为云开发者联盟

开发 华为云 华为云开发者联盟

AI数字人互动大屏采用什么技术?

青否数字人

数字人

活动回顾 | 云边异构新型数据库在智慧城市的应用实践

MatrixOrigin

分布式数据库 云原生数据库 MatrixOrigin MatrixOne HTAP数据库

Garden Planner for Mac(园林绿化设计软件)v3.8.54注册激活版

影影绰绰一往直前

Garden Planner for Mac注册破解版:为园艺爱好者打造的创意乐园

iMac小白

笔记|关于心流、纯粹与专注

Lotus

个人成长 冥想 科技 心流 瑜伽

性能翻倍!京东亿级体量小程序优化实践 | 京东云技术团队

京东科技开发者

小程序 性能优化 前端

积极推动数字化转型高质量发展,融云获中国信通院致谢

融云 RongCloud

数字化转型 通信 即时通讯 办公 融云

Go应用性能分析实战

俞凡

golang

CVer从0入门NLP——GPT是如何一步步诞生的

秃头小苏

nlp #技术人的2023总结

Sketch for Mac中文激活版:高效的设计工作流程

影影绰绰一往直前

数字货币交易所加密系统开发技术源码搭建

l8l259l3365

代理服务器:保护隐私、突破限制、加速访问的重要工具

服务器 计算机

Serial Box for Mac(软件序列号查询软件)v2023.11激活版

iMac小白

雨雪天气袭来!用华为天气提前掌握未来雨雪势

新消费日报

MySQL运维16-双主双从读写分离

不在线第一只蜗牛

MySQL 数据库 运维

Photomator for mac(强大的修图工具)v3.2.2激活版

影影绰绰一往直前

ICP黑客松四大赛道赛题解析

TinTinLand

苹果专用解压缩软件:BetterZip 5注册码中文版

胖墩儿不胖y

Mac软件 解压缩软件 解压缩工具

使用AP4R在Ruby中实现可靠消息传送_Ruby_Sebastien Auvray_InfoQ精选文章