ActiveMQ介绍

MQ是消息中间件,是一种在分布式系统中应用程序借以传递消息的媒介,常用的有ActiveMQ,RabbitMQ,kafka。ActiveMQ是Apache下的开源项目,完全支持JMS1.1和J2EE1.4规范的JMS Provider实现。 
特点: 
1、支持多种语言编写客户端 
2、对spring的支持,很容易和spring整合 
3、支持多种传输协议:TCP,SSL,NIO,UDP等 
4、支持AJAX

优点:提高数据的安全性,提高资源的使用率

ActiveMQ消息形式:topic(非安全的),queue(安全的)

topic和queue区别:

topic:不安全 、没有状态的、一对多 、数据容易丢失的、传输速率高。

queue:安全、有状态的、一对一、数据不容易丢失的、传输速率低。

工作流程:

a用户把消息发送到 mq的消息池里,mq负责接受这条消息,如果接到消息了,把连接断开了。mq有一个监控的功能,监控b用户是否上线。如果b用户上线了,把a用户的消息发送给b用户。b用户会把消息的返回值告诉连接池,完了b用户和连接池就断开了。mq接受到了b用户给它的返回值。(a用户只是把消息发过去了,还没有接收到信息 )连接池时刻监视a用户是否在线,如果a用户上线了再把返回值发送给a用户。发送完成之后连接断开了。

topic消息形式工作流程:首先用户a把发送消息到消息池里, mq会存放你的消息,监控到b用户上线,将这条消息发过去。发送过去后,mq会把这条消息删掉,(如果b在返回的时候断掉了,那消息就丢了)。如果返回没断监控a用户上线,把消息返回给a。

queue消息形式工作流程:首先用户a把发送消息到消息池里, mq会存放你的消息,监控到b用户上线,将这条消息发过去。发送过去后,mq不会把这条消息删掉,会一直保留消息池里。当把消息给b,b接收到消息。mq接收到b的返回值,mq把b的返回值给a之后,才会把这个消息删掉。

(简单地说:queue会保存消息确认a收到了才会删掉,topic不会保存消息,

JMS 简介

• JMS(Java Message Service),即:java消息服务应用程序接口。

• 是Java平台面向消息中间件(MOM)的API/技术规范。

• 场景:应用与两个应用程序之间,或者分布式系统架构中分发消息,可进行异步/同步方式的通讯,和平台API无关,基本多数的MOM都提供对JMS的支持。(异步用的比较多,不产生堵塞,效率高。同步经常产生堵塞)。

JMS 体系架构

• JMS提供者 – 连接面向消息中间件的,JMS接口的一个实现。提供者可以是Java平台的JMS实现,也可以是非Java平台的面向消息中间件的适配器。

• JMS客户 – 生产或消费基于消息的Java的应用程序或对象。

• JMS生产者 – 创建并发送消息的JMS客户。

• JMS消费者 – 接收消息的JMS客户。

• JMS消息 – 包括可以在JMS客户之间传递的数据的对象。

• JMS队列 – 一个容纳那些被发送的等待阅读的消息的区域。与队列名字所暗示的意思不同,消息的接受顺序并不一定要与消息的发送顺序相同。一旦一个消息被 阅读,该消息将被从队列中移走。

• JMS主题 – 一种支持发送消息给多个订阅者的机制。(必须选择一个消息机制,不选择发送失败)

JMS 属性

• Destination(接口/目标)

• Product(生产者)

• Consumer(消费者)

• Broker(消息转发器)

• P2P,Pub/Sub(模型)

– P2P:消息队列(Queue)、发送者(Sender)、接收者(Receiver)

– Pub/Sub:主题(Topic)、发布者(Publisher)、订阅者(Subscriber)

ActiveMQ主要特性

• (1)JMS1.1、J2EE1.4

• (2)J2EE servers(Tomcat,JBoss4,GlassFish,WebLogic…)

• (3)多语言客户端(Java,C,C++,C#,Ruby,PhP)

• (4)多种协议(VM,TCP,SSL,UDP,multicast,JGroups…)

• (5)集成Spring

• (6)支持Ajax

• (7)CXF,Axis(WebService的两个流行的框架)

• (8)REST(安全消息才有,状态传递)

• (9)Message Groups,Virtual Destinations,Wildcards,Composite , Destinations

• (10)持久化(journal,JDBC)

• (11)性能(client-server,cluster,peer…)

ActiveMQ功能

多种协议 、持久化 、 安全 、 群集 、监控、其他

AvtiveMQ多种协议

• VM vm://brokername

• TCP tcp://host:port

• SSL ssl://host:port

• HTTP http://host:port

• UDP udp://host:port

• peer peer://group/brokername

• multicast multicast://IPAddress

• static static(list uris)

• failover failvoer(list uris)

• discovery discovery://host:port

ActiveMQ集群 :Broker(消息转发器)

ActiveMQ详细的介绍相关推荐

  1. python简单代码画曲线图教程-Python绘制折线图和散点图的详细方法介绍(代码示例)...

    本篇文章给大家带来的内容是关于Python绘制折线图和散点图的详细方法介绍(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 1.绘制折线图和散点图要用到matplotlib ...

  2. python画折线图代码-Python绘制折线图和散点图的详细方法介绍(代码示例)

    本篇文章给大家带来的内容是关于Python绘制折线图和散点图的详细方法介绍(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 1.绘制折线图和散点图要用到matplotlib ...

  3. Window VNC远程控制LINUX:VNC详细配置介绍

    Window VNC远程控制LINUX:VNC详细配置介绍 //---------------------------------------vnc linux下的详细配置 1.VNC的启动/停止/重 ...

  4. linux 安装mysql 8.0_Linux安装mysql 8.0的详细方法介绍(代码示例)

    本篇文章给大家带来的内容是关于Linux安装mysql 8.0的详细方法介绍(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 经过一番努力下载mysql文件,我们可以开始M ...

  5. python中3 and not 5_python中not、and和or的优先级与详细用法介绍

    前言 (小白专用)本次所分享的是Python中的not.and.or的执行时的优先级,以及他们的具体用法.本文比较详细,不喜勿喷. 一.not.and.or的含义以及优先级 对象 返回结果 优先顺序 ...

  6. 如何用FFmpeg编写一个简单播放器详细步骤介绍

    如何用FFmpeg编写一个简单播放器详细步骤介绍(转载) FFMPEG是一个很好的库,可以用来创建视频应用或者生成特定的工具.FFMPEG几乎为你把所有的繁重工作都做了,比如解码.编码.复用和解复用. ...

  7. 用大约 10 万字的内容对 Java 的核心知识点和常见的 1000 多道面试题,做了详细的介绍

    每个技术人都有个大厂梦,我觉得这很正常,并不是饭后的谈资而是每个技术人的追求.像阿里.腾讯.美团.字节跳动.京东等等的技术氛围与技术规范度还是要明显优于一些创业型公司/小公司,如果说能够在这样的公司锻 ...

  8. 联发科p60和骁龙710哪个好_骁龙670、联发科P60和麒麟710哪个好 详细对比介绍

    2018年中端移动平台竞争可谓激烈,突出表现在今年高通发布了多款中端移动Soc,而华为在今年年中也发布了一款还不错的移动Soc--麒麟710处理器,而联发科还是凭借去年发布的Helio P60一直持续 ...

  9. SpringSecurity超详细入门介绍

      权限管理是我们项目中必不可少的一环,实际项目中我们可以自己设计权限管理模块,也可以使用市面上成熟的权限管理框架,比如 shiro或者 SpringSecurity等,前面已经详细的介绍过了 shi ...

最新文章

  1. python matplotlib模块——绘制三维图形、三维数据散点图
  2. python中整数类型有—3_Python3 基本数据类型(3)
  3. C++函数的传入参数是指针的指针(**)的详解
  4. 虚拟机VMware里 windows server 2003 扩充C盘方法
  5. ORACLE基本配置
  6. VS2012--应用程序无法正常启动0xc000007b 的错误
  7. 阿里+北大 | 在梯度上做简单mask竟有如此的神奇效果
  8. 1.卷1(套接字联网API)---简介
  9. hdu 1561(树形dp)
  10. 容器技术Docker K8s 15 容器服务ACK基础与进阶-容器网络管理
  11. SQL Server 查询分析器提供的所有快捷方式(快捷键)
  12. 万年历 源码 php,万年历 PHP
  13. SercureCRT软件通过SSH连接ubuntb报错:password authentication failed解决方案
  14. Unity3D第三人称Camera视角旋转实现
  15. 移动光猫怎么设置虚拟服务器设置,移动光猫如何设置自带的WIFI无线功能
  16. android_x86安装arm转译
  17. 微电子电路——PMOS网表详解
  18. android wight
  19. 物联网项目开发编程语言一览
  20. C语言试题173之实现插入排序算法

热门文章

  1. HPD2368计算机上没有打印机,HPD2368打印机显示堵纸了,打印不了, – 手机爱问
  2. 存储过程,查询结果赋值给定义变量
  3. 解密淘宝优惠群泛滥的原因
  4. Ubuntu18.04 安装QQ、Tim、微信与win无差异
  5. 手机验证码接收注册新账户
  6. Me and My Girlfriend:1
  7. Redis(八) - Redis企业实战之优惠券秒杀
  8. php实现简单微信支付(提供商户微信)
  9. 做为中层管理者的你,应该扮演什么角色
  10. Android实现 刮刮乐效果