简单了解如何在春天中使用RabbitMQ

  

这篇文章主要介绍了简单了解如何在春天中使用RabbitMQ,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

  

常见的消息中间件产品:

  (1)ActiveMQ

  

ActiveMQ是Apache出品,最流行的,能力强劲的开源消息总线.ActiveMQ是一个完全支持JMS1.1和J2EE 1.4规范的JMS提供者实现。

  

(2) RabbitMQ

  

AMQP协议的领导实现,支持多种场景淘。宝的MySQL集群内部有使用它进行通讯,OpenStack开源云平台的通信组件,最先在金融行业得到运用。我们在本次课程中介绍RabbitMQ的使用。

  (3)ZeroMQ

  

史上最快的消息队列系统

  (4)卡夫卡

  

Apache下的一个子项目。特点:高吞吐,在一台普通的服务器上既可以达到10 w/s的吞吐速率;完全的分布式系统。适合处理海量数据。

  

(5) RocketMQ阿里巴巴

  

消息中间件利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成。通过提供消息传递和消息排队模型,它可以在分布式环境下扩展进程间的通信。对于消息中间件,常见的角色大致也就有生产商(生产者),消费者(消费者)。

  

消息队列中间件是分布式系统中重要的组件,主要解决应用解耦,异步消息,流量削锋等问题,实现高性能,高可用,可伸缩和最终一致性架构。

  

& # 8203;Spring-amqp是对AMQP协议的抽象实现,而spring-rabbit是对协议的具体实现,也是目前的唯一实现。底层使用的就是RabbitMQ。

  

已经配置好了ssm的开发环境

  

<强> 1。导入依赖
  

        & lt; dependencies>   & lt; dependency>   & lt; groupId> com.rabbitmq   & lt; artifactId> amqp-client   & lt; version> 5.5.3   & lt;/dependency>   & lt; dependency>   & lt; groupId> org.springframework.amqp   & lt; artifactId> spring-rabbit   & lt; version> 2.1.3.RELEASE   & lt;/dependency>      & lt; dependency>   & lt; groupId> com.fasterxml.jackson.core   & lt; artifactId> jackson-databind   & lt; version> 2.9.5   & lt;/dependency>   & lt;/dependencies>      

<强> 2。编写生产者
  

  

2.1配置文件
  

        & lt;豆类xmlns=" http://www.springframework.org/schema/beans "   xmlns:上下文=" http://www.springframework.org/schema/context "   xmlns: xsi=" http://www.w3.org/2001/XMLSchema-instance " xmlns:兔子=" http://www.springframework.org/schema/rabbit "   xsi: schemaLocation=" http://www.springframework.org/schema/rabbit   http://www.springframework.org/schema/rabbit/spring-rabbit-1.4.xsd   http://www.springframework.org/schema/beans   http://www.springframework.org/schema/beans/spring-beans-4.1.xsd   http://www.springframework.org/schema/context   http://www.springframework.org/schema/context/spring-context.xsd”比;      & lt;上下文:component-scan基础包=" cn.test.rabbitmq.spring "/比;      & lt; !——配置连接工厂——比;   & lt;兔子:连接工厂id=" connectionFactory "虚拟主机="/saas”   主机=?27.0.0.1”端口=" 5672 "用户名==皊aas”/皊aas”密码比;   & lt; !——定义mq管理——比;   & lt;兔子:管理连接工厂=" connectionFactory "/比;      & lt; !——声明队列——比;   & lt;兔子:队列名称=" spring.test。队列”auto-declare=" true "持久=" true”/比;      & lt; !——定义交换机绑定队列(路由模式)——比;   & lt;兔子:直接交换name=皊pring.test.exchange”比;   & lt;兔子:bindings>   & lt;兔子:绑定队列=" spring.test。队列”键="用户。插入“/比;   & lt;/兔子:bindings>   & lt;/兔子:direct-exchange>   & lt; !——定义交换机绑定队列(路由模式)使用匹配符   & lt;兔子:topic-exchange id=" springTestExchange " name=" spring.test.exchange祝辞   & lt;兔子:bindings>   & lt;兔子:绑定队列=" spring.test。队列”模式=" #。#”/比;   & lt;/兔子:bindings>   & lt;/兔子:topic-exchange>   ——比;   & lt; !——消息对象json转换类——比;   & lt; bean id=" jsonMessageConverter "   类=" org.springframework.amqp.support.converter。Jackson2JsonMessageConverter”/比;      & lt; !——定义模版——比;   & lt;兔子:模板id=" rabbitTemplate "连接工厂=癱onnectionFactory”   交换=" spring.test.exchange "   消息转换器=" jsonMessageConverter "/比;      & lt;/beans>

简单了解如何在春天中使用RabbitMQ