RabbitMq使用demo[通俗易懂]

RabbitMq使用demo[通俗易懂]1.为什么使用mq2.常见的mq有哪几种3.RabbitMq使用配置4.RabbitMq使用demo4.总结5.参考

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

1. 为什么使用mq

        我们平时的程序多数都是同步的,常见的RestApi,都是同步的调用。在处理异步的请求时,适合采用消息中间件。特别是涉及到一些跨系统的调用,而且在处理一些高并发问题的时候,也可以采用mq队列的串行特征,使得开发简单。此外,mq的订阅模式,适用于在消费生产者发出信息时不知道有多少消费者时,这种模式完美适用。

2. 常见的mq有哪几种

        常见的mq主要有activemq,rabbitmq,rocketmq

        activemq

        是Apache出品的,是一个完全支持JMS规范的JSMProvider实现。提供客户端支持跨语言和协议。它能够以代理人和点对点的技术实现队列。

        rabbitmq

        是使用Erlang编写的一个开源的消息队列,本身支持很多协议AMQP,XMPP,SMTP,STOMP,也正是因为支持这么多的协议,使得它很重量级,更适合企业级的开发。它采用经纪人(broker)架构,这意味着消息在发送给客户端时,先在中心队列排队。对路由(routing)和负载均衡(load balance)和数据持久化都有很好的支持。

        rocketmq

        是阿里巴巴开源的一个消息中间件框架(阿里内部称为MetaQ),于2012年开源,并在2017年正式成为Apache的顶级项目。

3. RabbitMq使用配置

rabbitmq(安装)。

RabbitMq使用demo[通俗易懂]

安装好后默认的web访问地址是

http://127.0.0.1:15672

使用java连接的默认端口是5672

默认的用户名和密码是:guest/guest

4. RabbitMq使用demo

添加pom配置

		<!-- rabbitMq -->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-amqp</artifactId>
		</dependency>

修改配置文件application.yml

spring:
  rabbitmq:
    host: 127.0.0.1
    port: 5672
    username: guest
    password: guest
    publisher-confirms: true

新增配置类

@Configuration
public class RabbitConfig {

    @Bean
    public Queue Queue() {
        return new Queue("logOper");
    }

}

生产者

@Service
@Slf4j
public class LogProducer {
	
	@Autowired
	private AmqpTemplate rabbitTemplate;

	public void send(LogOper logOper) {
		log.info("Sender logOper: " + logOper.toString());
		rabbitTemplate.convertAndSend("logOper", logOper);
	}

}

消费者

@Slf4j
@Component
@RabbitListener(queues = "logOper")
public class LogConsumer {

	@Autowired
	private LogOperDao logOperDao;

	@RabbitHandler
	public void process(LogOper logOper) {
		log.info("Receiver logOper : " + logOper);
		logOperDao.addLogOper(logOper);
	}

}

4. 总结

        上面只是简单的一对一形式的使用,rabbitmq实际上是支持多种模式比如一对多,多对一,多对多模式的场景。只需修改少量的配置就可以完成,后面再具体进行分析。

5. 参考

RocketMQ实战(一)

RabbitMQ学习笔记

springboot+rabbitmq整合示例程

spring boot实战(第十二篇)整合RabbitMQ

RabbitMQ 使用参考

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/186196.html原文链接:https://javaforall.net

(0)
上一篇 2022年10月4日 上午6:16
下一篇 2022年10月4日 上午6:36


相关推荐

  • OpenClaw 龙虾必装技能(skill)指南

    OpenClaw 龙虾必装技能(skill)指南

    2026年3月12日
    4
  • 创客基地oDrive第一课 入门配置

    创客基地oDrive第一课入门配置第1部分硬件准备oDriveV3.6-56V主板 1块12V2.0A电源适配器 1个microUSB线 1条oDriveV3.6主板相关硬件资料可从Q群(732557609)下载。欢迎使用Markdown编辑器你好!这是你第一次使用Markdown编辑器所展示的欢迎页。如果你想学习如何使用Markdown编辑器,可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。新的改变我们对Markdown编辑器进行了一些功能拓展与

    2022年4月13日
    264
  • django分页器的用法_佳能分页器使用

    django分页器的用法_佳能分页器使用前言当后台返回的数据过多时,我们就要配置分页器,比如一页最多只能展示10条等等,drf中默认配置了3个分页面PageNumberPagination:基础分页器,性能略差LimitOffsetP

    2022年8月7日
    5
  • PostgreSQL索引类型

    PostgreSQL索引类型PostgreSQL有很多索引类型。每种索引类型都有各自适用的情景,具体使用哪一种索引取决于数据类型、表中的底层基本数据和执行的查询类型。接下来简单看一下PostgreSQL中可用的索引类型有哪些,以及各种情况下适合使用哪个索引。1、B-treePostgreSQL中,B-tree索引是最常用的一种索引类型。用索引扫描比顺序扫描速度快,因为它可能只需要读取少部分页面,而顺序扫描可能读取几千个页面。…

    2022年6月2日
    112
  • IP地址范围

    IP地址范围ip 地址的分类与范围 A 类 IP 地址一个 A 类 IP 地址由 1 字节的网络地址和 3 字节主机地址组成 它主要为大型网络而设计的 网络地址的最高位必须是 0 地址范围从 1 0 0 0 到 127 0 0 0 可用的 A 类网络有 127 个 每个网络能容纳个主机 其中 127 0 0 1 是一个特殊的 IP 地址 表示主机本身 用于本地机器的测试 注 A 0 127 其中 0 代表任何地址 127 为回环测试地址 因此 A 类 ip 地址的实际范围是 1 126 默认子网掩码为 255 0 0 0B 类 IP 地

    2026年3月26日
    3
  • ElasticSearch入门介绍之会当凌绝顶(一)

    ElasticSearch入门介绍之会当凌绝顶(一)

    2021年9月2日
    55

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号