Kafka and RabbitMQ, ActiveMQ protocol differences

For Kafka and RabbitMQ, ActiveMQ protocol, their specific differences are as follows:

ActiveMQ:
        ActiveMQ support replication from the master cluster. But the cluster function looks very weak, and only failover function, that I could not even a failure, you can switch to another broker. This seemingly unscientific. Suppose there are three Broker, wherein a consumer is not above, but the other two hung up, the message will go to the top, piled up. It appears activemq still upgrade.
        activemq working model is relatively simple. Only two modes Queue, Topics

RabbitMQ:
        RabbitMQ with erlang written. After installing just less than 10m, for use on windows is also very convenient, at this point after blasting the activemq, java long and boring no way ah. rabbitmq I feel like oracle, very powerful. After installing, there are instances of concept, can be like to build databases, build instance, plans to build user permissions. At the same time monitoring system is also very easy to use. These are benefits, but also cumbersome, too complicated a whole rabbitmq than ActiveMQ

Kafka used to live:
        Kafka used to live is known as a distributed born. And in terms of activemq and rabbitmq these enterprise-class queue really an advantage of distributed systems
        kafka advantages: traditional message queues only two modes, either queue, either publish-subscribe publish and subscribe. In the queue mode, a set of consumer spending a queue, wherein each message is sent to a consumer. In the publish-subscribe model, the consumer is broadcast to all consumers. Benefits queue mode is that he can be distributed to a consumer group of consumers, enabling consumers to scale (scale); The problem is that such a message can only be consumed by a group of consumers, once the consumer, there is no news . Benefits publish-subscribe is that a message can be consumed multiple groups of consumers; the problem is that your customers can not scale, that is impossible with more consumers subscribe to a topic, but it only deals with part of each consumer message

summary:
        system throughput: 
                Kafka used to live> RabbitMQ> ActiveMQ

        persistent messages (down the message is not lost):
                RabbitMQ> ActiveMQ

        high concurrency:
                RabbitMQ (Erlang language development)> ActiveMQ

        cluster load balancing:
                Kafka used to live> the Rabbit

        compatibility:
                ActiveMQ (and perfectly compatible with Java)> RabbitMQ

More technical information may be concerned about: itheimaGZ get

Guess you like

Origin www.cnblogs.com/zhuxiaopijingjing/p/12297834.html