1,MQ的引入

使用场景,将耗时的通知业务交给消息中间件【业务逻辑进行解耦】

使用消息中间件的逻辑交互

2,MQ的应用场景

首先消息中间件是一个异步处理

有两个关键点:①耗时;②业务的耦合度

案例1:注册某网站会员成功,短信通知成功,这个就可以直接交给消息中间件

案例2:注册某网站会员,需要使用手机验证码,这个就不能使用消息中间件,业务必须使用【原因:消息中间件是异步执行的,可能导致收不到验证码】

3,MQ的消费类型

4,消息中间件类型

redis、ActivityMQ、RocketMQ(nameSrv)【阿里巴巴使用】、Kafka【zookeeper】、RabbitMQ、ZerOMQ

5,ActivityMQ安装与使用

http://activemq.apache.org/components/classic/download/

在浏览器中登录localhost:8161 初始账号:admin,密码:admin

查看端口:8161;消息服务端口:61616

6,MQ点对点通信

7,MQ发布订阅

8,MQ的签收模式

自动签收、手动签收【massage.acknowledge()】、事务签收【session.commit()】、

9,SpringBoot操作ActiveMQ

10,ActiveMQ冥等性

防止信息重复消费

11,注意事项

①消费者代码不要抛出异常,否则activeMQ默认有重试机制;

②如果代码发生异常,需要发布版本才可以解决问题,不要使用重试机制,采用日志记录方式,定时Job进行补偿;

③如果不需要发布版本解决的问题,可以采用重试机制进行补偿。

参考链接:https://www.bilibili.com/video/av45541255/?p=11

ActivityMQ消息中间件【待完成】的更多相关文章

  1. Windows环境下消息中间件RabbitMq的搭建与应用

    前言 消息中间件目前已经在很多大型的项目上得到了运用,我们常见的有 RabbitMq, activitymq,kafka,rocketmq,其中rocketmq是阿里自己在kafka的基础上用java ...

  2. ActivityMq的使用(小例子)

    一.ActivityMq的介绍: 1.什么是消息中间件?与传统的传输通讯有什么区别? 异步,无需等待,消息存放在队列里面. 2.为什么要使用消息中间件? 消息中间件可以解决高并发. 两种通讯方式:01 ...

  3. Kafka、RabbitMQ、RocketMQ消息中间件的对比 —— 消息发送性能-转自阿里中间件

    引言 分布式系统中,我们广泛运用消息中间件进行系统间的数据交换,便于异步解耦.现在开源的消息中间件有很多,前段时间我们自家的产品 RocketMQ (MetaQ的内核) 也顺利开源,得到大家的关注. ...

  4. 消息中间件MetaQ高性能原因分析-转自阿里中间件

    简介 MetaQ是一款高性能的消息中间件,经过几年的发展,已经非常成熟稳定,历经多年双11的零点峰值压测,表现堪称完美. MetaQ当前最新最稳定的稳本是3.x系统,MetaQ 3.x重新设计和实现, ...

  5. 阿里开源消息中间件RocketMQ的前世今生-转自阿里中间件

    昨天,我们将分布式消息中间件RocketMQ捐赠给了开源软件基金会Apache. 孵化成功后,RocketMQ或将成为国内首个互联网中间件在Apache上的顶级项目. 消息一出,本以为群众的反应是这样 ...

  6. 消息中间件:RabbitMQ基本探索

    RabbitMQ是一个基于AMQP协议(Advanced Message Queuing Protocol,一个提供统一消息服务的应用层标准高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中 ...

  7. kafka与传统的消息中间件对比

    RabbitMQ和kafka从几个角度简单的对比 业界对于消息的传递有多种方案和产品,本文就比较有代表性的两个MQ(rabbitMQ,kafka)进行阐述和做简单的对比, 在应用场景方面, Rabbi ...

  8. C++ 消息中间件(MQ4CPP)

    MQ4CPP支持: MultiThreading Sockets Cluster Encription Compression Service lookup Message routing 看到MQ4 ...

  9. 消息中间件与JMS标准

    初识消息中间件 维基百科上对于消息中间件的定义是"Message-oriented middleware(MOM) is software infrastructure focused on ...

随机推荐

  1. php Class 'ZipArchive' not found怎么解决?

      情况1: 服务器php zip模块没有安装 情况2: Php.ini 中Php zlip扩展没有开   文章来源:外星人来地球 欢迎关注,有问题一起学习欢迎留言.评论

  2. JavaScript WebSocket 使用总结

    翻看之前写的 Highcharts使用总结  和 前后台交互之传参方式,想对 WebSocket 单独写一个使用总结. 一.认识 WebSocket . WebSocket 是 H5 新出的一种协议, ...

  3. React拾遗(上)

    JSX代表Objects Babel转义器会把JSX转换成一个名为React.createElement()的方法调用. 下面两种代码的作用是完全相同的: const element = ( < ...

  4. patch工具的使用

    1. 最简用法 patch -p1 < jello.patch

  5. 建站之星v2.7快速更换模版

    网站建设很多人使用建站之星因为它的拖拽功能非常友好.但是很多人不会使用建站之星更换模版,网上的教程又复杂难懂,现在教大家一个简单快捷的办法. 方法/步骤     废话不多说,从模版目录找到你喜欢的模版 ...

  6. 阶段5 3.微服务项目【学成在线】_day18 用户授权_02-方法授权-需求分析

    2 方法授权 2.1需求分析 方法授权要完成的是资源服务根据jwt令牌完成对方法的授权,具体流程如下: 1.生成Jwt令牌时在令牌中写入用户所拥有的权限 我们给每个权限起个名字,例如某个用户拥有如下权 ...

  7. 编译安装python3事出错:

    configure: error: no acceptable C compiler found in $PATH 问题解决 解决方法: yum intall gcc -y

  8. Python之queue模块以及生产消费者模型

    队列 队列类似于一条管道,元素先进先出,进put(arg),取get() 有一点需要注意的是:队列都是在内存中操作,进程退出,队列清空,另外,队列也是一个阻塞的形态. 队列分类 队列有很多中,但都依赖 ...

  9. POPUP_GET_VALUES 金额字段不可编辑

    转自:https://blog.csdn.net/huanglin6/article/details/102733845 当在POPUP_GET_VALUES函数中参考的字段是个货币或者金额字段的话, ...

  10. 【计算机视觉】Objectness算法(一)---总体理解,整理及总结

    1.源码下载及转换为VS2012 WIN32版本. http://www.cnblogs.com/larch18/p/4560690.html 2.原文: http://wenku.baidu.com ...