本文共 1021 字,大约阅读时间需要 3 分钟。
常见的消息队列
需要JAVA Spring Cloud大型企业分布式微服务云构建的B2B2C电子商务平台源码
目前业界有四款常用的消息队列,它们分别是RabbitMQ、RocketMQ、ActiveMQ和Kafka。
RabbitMQRabbitMQ在2007年发布,是一个在AMQP(高级消息队列协议)基础上完成的,可复用的企业消息系统,是当前最流行的消息中间件之一。 RabbitMQ的主要特性有:可靠性: RabbitMQ提供了多种技术可以让你在性能和可靠性之间进行权衡。这些技术包括持久性机制、投递确认、发布者证实和高可用性机制;
灵活的路由:消息在到达队列前是通过交换机进行路由的。RabbitMQ为典型的路由逻辑提供了多种内置交换机类型。如果你有更复杂的路由需求,可以将这些交换机组合起来使用,你甚至可以实现自己的交换机类型,并且当做RabbitMQ的插件来使用;消息集群:在相同局域网中的多个RabbitMQ服务器可以聚合在一起,作为一个独立的逻辑代理来使用;队列高可用:队列可以在集群中的机器上进行镜像,以确保在硬件问题下还保证消息安全;多种协议的支持:RabbitMQ支持多种消息队列协议;多语言支持:RabbitMQ的服务器端用Erlang语言编写,其客户端支持基本所有编程语言;管理界面: RabbitMQ有一个易用的用户界面,使得用户可以监控和管理消息Broker的许多方面;跟踪机制:如果消息异常,RabbitMQ提供消息跟踪机制,使用者可以跟踪发现异常;插件机制:提供了许多插件,来从多方面进行扩展,也可以编写自己的插件;RabbitMQ的优点有:
由于erlang语言的特性,mq 性能较好,高并发;
健壮、稳定、易用、跨平台、支持多种语言、文档齐全;有消息确认机制和持久化机制,可靠性高;高度可定制的路由;管理界面较丰富,在互联网公司也有较大规模的应用;社区活跃度高;RabbitMQ的缺点有:
尽管结合erlang语言本身的并发优势,性能较好,但是不利于做二次开发和维护;
实现了代理架构,意味着消息在发送到客户端之前可以在中央节点上排队。此特性使得RabbitMQ易于使用和部署,但是使得其运行速度较慢,因为中央节点增加了延迟,消息封装后也比较大;需要学习比较复杂的接口和协议,学习和维护成本较高;微服务java b2b商城系统_java商城源码100%开源适合2次开发,
转载地址:http://opjil.baihongyu.com/