HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

使用 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:30877
用户头像

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

关注

评论

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

强大好用的shell:shell的工作原理

小齐写代码

观测云产品更新 | 数据转发、监控器告警策略等优化

观测云

监控告警 日志备份

如何在本地运行稳定扩散模型

3D建模设计

Stable Diffusion Ai绘图 文本到图像

线上SQL超时场景分析-MySQL超时之间隙锁 | 京东物流技术团队

京东科技开发者

MySQL 数据库 间隙锁 企业号11月PK榜 SQL超时

《央国企数字化产业赋能图谱》编制及申报开启

信通院IOMM数字化转型团队

IOMM 央国企数字化转型 央国企数字化产业赋能图谱

2024杭州国际智慧城市与安防产品展览会

AIOTE智博会

智慧城市展 安防展

使用VUE开发有什么好处呢?

Onegun

Vue 前端框架

前端安全沙箱技术会不会成为安全的标配?

Onegun

小程序 小程序容器 安全沙箱

stable diffusion为什么能用于文本到图像的生成

3D建模设计

Stable Diffustion 文本到图像 AI 绘图

百度CTO王海峰:文心一言用户规模已达7000万

飞桨PaddlePaddle

文心一言4.0

提示找不到某些组件?

矩视智能

深度学习

数智化竞价, 企业数智化助力企业实现增收增利

用友BIP

降本增效 数智营销

另辟蹊径者 PoseiSwap:背靠潜力叙事,构建 DeFi 理想国

鳄鱼视界

SAM + 用于文本到图像修复的稳定扩散

3D建模设计

Stable Diffustion 稳定扩散 文本生成图像

直播实时数仓基于DataLeap开放平台在发布管控场景的业务实践

字节跳动数据平台

大数据 数据中台 数据安全 数据研发 企业号11月PK榜

另辟蹊径者 PoseiSwap:背靠潜力叙事,构建 DeFi 理想国

威廉META

远程运维的定义以及优点详细讲解-行云管家

行云管家

运维 IT运维 远程运维 运维软件 协同运维

阿里Java一面,难度适中!(下篇)

王磊

Java 面试

凡泰极客亮相香港金融科技周,投身大湾区数字化建设

FinClip

私人服务器有什么用?

Geek_f19a80

服务器

定制开发软件的步骤

Geek_16d138

软件定制 app定制开发 软件开发定制

为什么在财务共享中心建设初期人员不降反增?

用友BIP

财务共享

微服务架构下的调试进阶:多环境多服务调试实践与策略

Apifox

架构 微服务 后端 多服务 多环境

分布式数据库 GaiaDB-X 与宝兰德应用服务器完成兼容互认

Baidu AICLOUD

分布式数据库

谈谈压测方案的那点事 | 京东物流技术团队

京东科技开发者

测试 性能测试 压力测试 企业号11月PK榜 大促备战

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