当前位置: 首页 > news >正文

java消息队列ActiveMQ

安装

前置条件

  • activemq的运行依赖于jdk,需要提前安装jdk
  • 如果已经安装了jdk,需要根据jdk的版本来选择对应的版本进行安装activemq
  • 版本对应在官网上,使用java -version 看jdk的版本
  • 注意:jdk和mq的版本不一致会报错,电脑的命名不能用中文

启动

  • 有的版本bin目录会有2个目录win32和win64,有的只有win64
  • 打开bin目录
  • 点击activemq.bat,访问网址 http://127.0.0.1:8161/admin/

在这里插入图片描述

使用服务进行启动

  • 上述方式使用bat文件启动,只要cmd窗口一关,就会关闭
  • 自带安装服务和卸载服务的bat文件(使用管理员权限运行)

在这里插入图片描述

消息中间件的应用场景

  • 异步处理
  • 应用解耦
  • 流量削峰

场景

用户注册需要三个功能:写数据库、发送邮件、注册短信

异步处理

串行

在这里插入图片描述

并行

在这里插入图片描述

消息中间件

在这里插入图片描述

对比

在这里插入图片描述

应用解耦

在这里插入图片描述

流量削峰

在这里插入图片描述

中间件对比

  • activemq:java、万级吞吐量、毫秒级响应速度、可用性高(主从架构),很多公司在用
  • rabbitmq:erlang,其他同上,管理界面丰富
  • rocketmq:java,10万级别,可用性很高(分布式)
  • kafka:消息查询和追溯没有提供,大数据应用广泛

jms消息模型

  • 两种模型
  • P2P(point to point):点对点模型(queue模型)
  • P/S(publish/subscribe):发布订阅模型(topic模型)

点对点

生产者消费者之间的消息往来

在这里插入图片描述

特点

  • 每个消息只能被一个消费者消费,消费之后就直接消失了
  • 生产者和消费者没有直接依赖关系,不管消费者有没有运行,都不妨碍生产者将消息发给队列
  • 消费者成功接受消息之后需要向队列回应应答成功

在这里插入图片描述

发布订阅模型

三个角色

  • 发布者
  • 订阅者
  • 主题
  • 发布者将消息发布到主题,只有订阅了主题的订阅者才能接收到消息
  • topic来实现消息的发布
  • 当一个消息被发布,n个订阅者都可以得到消息的拷贝

在这里插入图片描述

特点

  • 一个主题可以被多个订阅者订阅
  • 存在时间的先后顺序,消费者需要先订阅,生产者才能发布消息
  • 订阅者必须保持持续运行状态,才能接收到生产者的消息

JMS API

在这里插入图片描述

在这里插入图片描述

http://www.lryc.cn/news/419386.html

相关文章:

  • Android SurfaceFlinger——信号同步原理(五十一)
  • html+css网页制作 博云丝网5个页面 无js ui还原度100%
  • Docker Hub 镜像代理加速
  • 矩阵:消除冗余
  • 【AWS账号解绑关联】Linker账号解绑重新关联注意事项
  • 入门学习使用overleaf和latex
  • 后端调优——分布式锁选型——入门
  • k8s集群管理 Pod管理命令
  • Java 并发(二)—— AQS原理
  • Maven插件:exec-maven-plugin-代码执行或者直接输出内置变量信息
  • https://ffmpeg.org/
  • linux 源码部署polardb-x 错误汇总
  • vscode用快捷键一键生成vue模板
  • ARM 架构硬件新趋势:嵌入式领域的未来
  • 星戈瑞-二油酰磷脂酰乙醇胺标记荧光素 DOPE-FITC
  • 堆的实现(偷懒版)
  • 一键启动,智能分拣:3D视觉系统赋能多SKU纸箱高效混拆作业
  • unity草体渲染方案 GPU Instaning
  • 最近在西安召开的学术会议:EI检索超快,信息系统与计算技术领域!
  • sRGB和伽马矫正
  • Summer School science communication project--Laptop Selection Suggestion
  • 网络编程概念详解模拟回显客户端服务器
  • 代码随想录第二十四天|动态规划(8)
  • 编程-设计模式 3:单例模式
  • Kaniko 构建 Docker 镜像
  • Javascript常见算法(每日两个)
  • Spring -- 事务
  • 生命密码的破译者:AI如何学会读懂DNA语言?
  • 大数据信用报告查询哪家平台的比较好?
  • Java高级Day24-集合最后补充