对于Apache Camel和ActiveMQ有些困惑

3

我对Apache Camel和ActiveMQ还不太熟悉,发现很难理解它们的概念。实际上,我对JMS的整个概念也很陌生。我真的不明白Apache Camel与ActiveMQ有什么不同,因为据我所知,两者都可以将消息从一个系统路由到另一个系统并反之亦然。有没有人能提供一个现实生活中的例子,而不仅仅是书本知识,以便更好地理解这些内容呢?

1个回答

3
JMS、ActiveMQ和Apache CAMEL在分布式应用程序中具有重要作用。
Apache Camel和ActiveMQ参与将消息从一个系统路由到另一个系统的过程,但它们在此过程中扮演不同的角色。它们解决两个不同的问题:
1.基础设施:如何连接这两个系统?如何将消息传输到其目的地?
2.路由:如何为消息设计路线? ActiveMQ处理基础设施部分。它提供队列、主题来连接分布式系统。一旦消息进入队列或主题,ActiveMQ负责确保消息到达指定的目的地。 Camel帮助您设计消息应该经过哪些路线才能到达最终目的地。您可以选择通过多个系统发送消息以到达最终目的地系统。它可以帮助您在某些系统上处理消息。它还可以帮助您处理相同消息在不同系统中的可读性(数据格式)。
一个类比可能有助于加强这一点:
您决定去参观几个世界城市,作为您从印度到加拿大的旅程的一部分。
您(类比为消息)决定访问迪拜、西班牙、希腊、美国和加拿大。您带着一位向导,帮助您预订机票,帮助您用当地语言交流(数据格式化)。
这位向导很有经验,可以帮助您购买当地的衣服,参观好的当地景点,品尝当地美食(类比为消息处理)。这个向导就像您的Apache Camel。
然而,您的向导需要搭乘不同的航空公司和飞机类型才能让您到达不同的城市。这些不同的航空公司和飞机,以及它们的所有公司,就像是Apache ActiveMQ。它是您的运输机制。
希望这能传达一些想法。

终于有人能够解释清楚了! - Georgi Peev

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接