现实世界中的使用JMS /消息队列的? [关闭] 现实世界中的使用JMS /消息队列的? [关

2019-05-13 17:04发布

我只是读有关JMS和Apache ActiveMQ的升技。 和不知道什么是真正的世界中使用已经在这里的人使用JMS或类似的消息队列技术?

Answer 1:

JMS(ActiveMQ是一个JMS代理实现)可以被用作一种机制,允许异步请求处理。 您可能希望这样做,因为该请求需要很长时间才能完成,或因为几方可能有兴趣在实际的请求。 另一个原因使用它是允许多个客户端(可能不同语言编写)通过JMS访问信息。 ActiveMQ是一个很好的例子,因为你可以使用STOMP协议,以允许从一个C#/的Java / Ruby的客户端访问。

一个真实世界的例子是用来订购特定客户的Web应用程序的。 由于放置的顺序(并将其存储在数据库中),你不妨随身携带一些额外的任务的一部分:

  • 在某种第三方后端系统(如SAP)存储顺序
  • 发送电子邮件给客户告知其已下订单

要做到这一点您的应用程序代码会发布消息到一个JMS队列,其中包括订单ID。 您的应用程序听队列可以通过采取订单ID,在数据库中查找顺序到事件作出回应,然后其中一部分地方,以便与其他第三方系统。 你的应用程序的另一部分可能是负责采取OrderID和发送确认电子邮件给客户。



Answer 2:

用他们所有的时间来异步处理长时间运行的操作。 网络用户会不愿意等待超过5秒来处理请求。 如果你有一个运行都比较长,一个设计是将请求提交到队列,并立即发回用户可以检查作业完成时的URL。

发布/订阅是从多个接收者解耦发件人另一个很好的技术。 这是一个灵活的架构,因为用户可以来,并根据需要去。



Answer 3:

我有这么多惊人的用途JMS:

  • 为客户服务的网络聊天通讯。

  • 在后台调试日志记录。 所有的应用服务器在各级广播调试消息。 然后,JMS客户端可以推出来监视调试消息。 当然,我也用过类似的syslog ,但这给了我各种方式来过滤基于上下文信息输出(EQ由应用服务器名称,API调用,日志级别,用户ID,消息类型等)。 我也着色输出。

  • 调试记录到文件。 同上,只是某些片段被掏出使用过滤器,并记录到文件一般日志记录。

  • 警报。 同样,类似的设置上面的日志,看具体的错误,并通过各种方式提醒人们(电子邮件,短信,IM,低吼弹出...)

  • 动态配置和控制软件集群。 每个应用程序服务器将播出“我的配置”的消息,则配置后台驻留程序,将包含各种配置信息的消息做出回应。 以后,如果所有的应用服务器需要它们的配置在更换一次,也可能是从配置守护进程来完成。

  • 和往常一样 - 对于延迟的活性排队事务,如计费,订单处理,供应,电子邮件代...

这是伟大的任何地方,你要保证信息的传送异步。



Answer 4:

分布式的(a)同步计算。
甲现实世界的例子可以是一个应用程序范围内通知框架,应用程序的使用的过程中,发送邮件到不同点处的利益相关者。 因此应用程序将作为Producer通过创建一个Message对象,把它在一个特定的Queue ,并向前移动。
将会有一组Consumer小号谁还会订阅Queue中的问题,并会照顾处理Message跨发送。 请注意,本次交易的过程中,对Producer s是给定的如何逻辑分离Message会被处理。
消息框架(ActiveMQ的和喜欢)充当骨干,以促进这种Message通过提供交易MessageBroker秒。



Answer 5:

我用它不同的资金管理系统之间发送盘中交易。 如果您想了解更多关于一项伟大的技术消息是什么,我能彻底推荐这本书“ 企业集成模式 ”。 有喜欢的事情请求/应答和发布/订阅JMS的一些例子。

消息是整合的优秀工具。



Answer 6:

我们用它来发起,我们不希望使用现有的交易中断或冲突异步处理。

例如,假设你有一个像“买东西”,团购的东西的重要组成部分,是“通知东东店”昂贵的和非常重要的一块逻辑。 我们做电话通知异步,使得参与该通知调用不会阻塞或与团购业务逻辑资源争什么逻辑/处理。 最终的结果,购买完成后,用户是幸福的,我们得到了我们的钱,因为队列是有保证的传递,因为它打开或只要有一个在队列中的新项目的商店,即会收到通知。



Answer 7:

我已经用了我的学术项目,这是网上类似亚马逊零售网站。 JMS是用来处理以下特点:

  1. 更新所下订单的客户的立场,把快件从一个位置移动到另一个。 这是通过不断地发送消息给JMS队列完成。
  2. 警报对任何不寻常的事件,如装运得到延迟,然后发送电子邮件到客户。
  3. 逾期交货的,到达了目的地,发送交付事件。

我们必须连接到主服务器多个还实施了远程客户端。 如果连接可用,他们用来访问主数据库,或者不使用自己的数据库。 为了处理数据的一致性,我们实施了2PC机制。 对于这一点,我们使用JMS来交换这些系统之间的消息,即一个充当协调员谁将会通过队列等发送消息将在队列上再次发回的消息作出相应的响应启动过程。 正如其他人已经提到,这是类似于pub / sub模型。



Answer 8:

我已经看到了不同的商业和学术项目中使用JMS。 JMS可以很容易地进入你的图片,只要你想拥有一个完全分离的分布式系统。 一般来说,当你需要从一个节点发送请求,并有人在网络中需要照顾它无/有给发送方关于接收的任何信息。

在我的情况下,我在我的论文中,其中特定类型的面向对象的物体的一侧上产生的作为请求,并编译和在另一侧上作为响应执行显影一个面向消息的中间件(MOM)使用JMS 。



Answer 9:

Apache的骆驼与ActiveMQ的配合使用是伟大的方式做企业集成模式



Answer 10:

我们已经用短信来生成在线行情



Answer 11:

我们正在使用JMS与远程站点在不可靠的网络数量庞大的系统进行通信。 与可靠的消息传递组合松耦合产生一个稳定的系统环境:每个消息将尽快在技术上可以被发送,在网络中更大的问题不会对整个系统的影响景观...



文章来源: Real world use of JMS/message queues? [closed]