跳到主要内容

10 篇带有 “Web Messaging” 标签的文章

查看所有标签

介绍 RabbitMQ-Web-Stomp

·4 分钟阅读
Marek Majkowski

在 RabbitMQ 总部,我们长期以来一直在努力寻找一种在 Web 浏览器中公开消息传递的好方法。过去,我们尝试过很多方法,从古老而著名的 JsonRPC 插件(基本上通过 AJAX 公开 AMQP),到 Rabbit-Socks(试图创建一个通用的协议中心),再到管理插件(可用于执行从浏览器发送和接收消息等基本操作)。

随着时间的推移,我们了解到 Web 上的消息传递与我们习惯的消息传递非常不同。我们之前的尝试都没有真正解决这个问题,而且 Web 上的消息传递在一段时间内可能仍然无法完全解决。

话虽如此,RabbitMQ 用户一直在询问一件简单的事情,虽然不完美,但远非在浏览器中进行消息传递的最糟糕方式:通过 Websockets 公开 STOMP。

如何使用 WebSocket 组合应用程序

·4 分钟阅读
Marek Majkowski

或者:如何在 WebSockets 或 SockJS 上正确进行多路复用

您可能知道,WebSockets 是一项很酷的全新 HTML5 技术,它允许您异步发送和接收消息。我们的兼容层 - SockJS - 模拟了它,即使在旧浏览器或代理后面也能工作。从概念上讲,WebSockets 非常简单。API 基本上是:连接、发送和接收。但是,如果您的 Web 应用程序有许多模块,并且每个模块都希望能够发送和接收数据,该怎么办?

AtomizeJS:分布式软件事务内存

·3 分钟阅读
Matthew Sackman

AtomizeJS 是一个 JavaScript 库,用于编写在浏览器中运行的分布式程序,而无需在服务器上编写任何特定于应用程序的逻辑。

在 RabbitMQ 总部,我们花了很多时间争论。偶尔,争论的是重要的事情,例如消息传递的真正含义,以及可用于实现消息传递的不同 API 的范围。RabbitMQ 和 AMQP 为消息传递提供了一个非常明确的接口:您确实有动词发送接收,并且您需要考虑您的消息传递模式是什么。在底层发生了很多(通常是非常聪明的事情),但尽管如此,接口还是相当低级和明确的,这提供了良好的灵活性。但有时,这种 API 风格并不是您尝试解决的问题最自然的匹配 - 您真的会陷入僵局并思考“我这里需要的是 AMQP 消息代理”,还是您从先前的知识中意识到您可以选择使用 AMQP 消息代理来解决您当前的问题?

小马、龙和袜子

·2 分钟阅读
Marek Majkowski

我们一直在想如何向更广泛的受众介绍 SockJS 及其可能性。有一个可用的演示比解释 枯燥的理论更有价值,但是如果你只是一个枯燥的技术专家,没有任何设计技能,你能展示什么呢?

对于这样的问题,最好打开历史书,回顾一下上一代没有艺术技能的计算机极客。他们在做什么?在带有绿色字母的控制台上,他们玩着极客电脑游戏,MUD(多人地下城)尤其受欢迎。

嘿,我们可以做到!

SockJS - WebSocket 模拟

·7 分钟阅读
Marek Majkowski

WebSocket 技术正在迎头赶上,但所有浏览器都支持它还需要一段时间。与此同时,有许多项目旨在替代 WebSockets,并为 Web 应用程序启用“实时”功能。但是所有尝试都只解决了通用问题的一部分,并且没有任何单一的解决方案可以工作、可扩展且不需要特殊的部署技巧。

SockJS - Web 消息传递并非易事

·5 分钟阅读
Marek Majkowski

“实时 Web”或使用 Web 浏览器进行消息传递的想法已经存在很长时间了。最初它被称为“长轮询”,然后是“Comet”,最新的化身被称为“WebSockets”。毫无疑问,它正朝着好的方向发展,WebSockets 是一项很棒的技术。

但是在争取实时功能的过程中,我们已经失去了对真正重要的东西的关注,即如何实际使用消息传递。在 Web 环境中,一切都是请求-响应驱动的,将典型的 Web 堆栈与异步消息传递结合起来并非易事。

© . All rights reserved.