问题描述
我以前没有使用* MQ的经验,我希望在一般情况下建立有关JMS和消息队列的知识.这样,我想知道我应该从ActiveMQ开始还是完全忽略"它,然后从教自己Apollo开始. Apollo是否像ActiveMQ一样功能完善?它是否实现了JMS 2.0(我看到ActiveMQ陷入了1.1)?我会错过一些非常重要的东西吗?
I don't have any previous experience with *MQs and I'm looking to build knowledge on JMS and message queues in general. That way, I wonder whether I should start with ActiveMQ or just "ignore" it altogether and start by teaching myself Apollo. Is Apollo as feature-complete as ActiveMQ? Does it implement JMS 2.0 (I see that ActiveMQ got stuck with 1.1)? Will I be missing something really important?
此外,Kafka与这两种解决方案相比如何?
Also, how does Kafka compare to these two solutions?
推荐答案
Apache ActiveMQ是功能强大且功能强大的强大工具.它不是最快的MQ软件,但是对于大多数用例来说足够快.功能包括灵活的字符串,故障转移,与不同应用程序服务器的集成,安全性等.
Apache ActiveMQ is a great workhorse full of features and nice stuff. It's not the fastest MQ software around but fast enough for most use cases. Among features are flexible clustring, fail-over, integrations with different application servers, security etc.
Apache Apollo尝试为ActiveMQ编写新的内核以应对大量的客户端和消息.它不具有ActiveMQ的所有便捷功能,但扩展性更好.如果为Apache Apollo提供大型多核服务器和成千上万的并发连接,则它是一种非常快速的MQ实现.它具有一个不错的,简单的用户界面,但不是一刀切"的解决方案.
Apache Apollo is an attempt to write a new core for ActiveMQ to cope with a large amount of clients and messages. It does not have all nice and convenient feature of ActiveMQ but scales a lot better. Apache Apollo is a really fast MQ implementation when you give it a large multi-core server and thousands of concurrent connections. It has a nice, simple UI, but is not a "one-size-fits-all" solution.
似乎正在尝试将许多ActiveMQ功能与HornetQ合并为ActiveMQ Artemis. HornetQ具有JMS2.0支持,所以我谦虚的猜测是它很可能会出现在ActiveMQ 6.x中.
It seems that there is an attempt ongoing to merge a number of ActiveMQ features with HornetQ under the name ActiveMQ Artemis. HornetQ has JMS2.0 support, so my humble guess is that it's likely to appear in ActiveMQ 6.x.
卡夫卡是另一种野兽.这是一个非常简单的消息代理,旨在在多个服务器上尽可能快地扩展持久性发布订阅(主题).对于中小型部署,Kafka可能不是最佳选择.它也有做事的方式来实现高吞吐量,因此您必须在灵活性方面进行大量交易才能获得高分布式吞吐量.如果您是MQ和代理领域的新手,我想Kafka太过分了.另一方面-如果您的服务器集群大小合适,并且想知道如何通过它推送尽可能多的消息-请给Kafka旋转一下!
Kafka is a different beast. It's a very simple message broker intended to scale persistent publish subscribe (topics) as fast as possible over multiple servers. For small-medium sized deployments, Kafka is probably not the best option. It also has it's way to do things to achieve the high throughput, so you have to trade a lot in terms of flexibility to get high distributed throughput. If you are new to the area of MQ and brokers, I guess Kafka is overkill. On the other hand - if you have a decent sized server cluster and wonder how to push as many messages as possible through it - give Kafka a spin!
这篇关于ActiveMQ vs阿波罗vs卡夫卡的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!