zoukankan      html  css  js  c++  java
  • ActiveMQ

    一、ActiveMQ简介

      Apache ActiveMQ是Apache软件基金会所研发的开放源代码消息中间件;由于ActiveMQ是一个纯Java程序,因此只需要操作系统支持Java虚拟机,ActiveMQ便可执行。

      ActiveMQ拥有多语言和协议编写客户端。

      语言:Java、C、C++、C#、Ruby、Perl、python、PHP

      应用协议:OpenWire、Stomp、WS、Notifaction、XMPP、AMQP。

      完全支持JMS1.1和J2EE1.4规范(持久化、XA消息,事务);

      对Spring的支持,ActiveMQ可以很容易内嵌到使用spring的系统里去。

      除了常见的J2EE服务器(如Geronimo,JBoss4,GlassFish,WebLogic)的测试,其中通过JCA1.5 resource adaptors的配置可以让ActiveMQ可以自动化的部署到任何兼容J2EE1.4商业服务器上。

      支持多种传送协议:in-VM,TCP,SSL,NIO,UDP,JGroups,JXTA,支持通过JDBC和journal提供高速的消息持久化。

      从设计上保证了高性能的集群,客户端-服务器,点对点。

      支持Ajax,支持与Ajax的整合,Webservices

      可以很容易的调用内嵌JMS provider,进行测试

    二、ActiveMQ相关概念

    1,Desination

      目的地,JMS Provider(消息中间件)负责维护,用于对Message进行管理的对象。MessageProducer需要指定Destination才能发送消息,MessageConsumer需要指定Destination才能接收消息。

    2,Producer

      消息生成者(客户端,生成消息),负责发送Message到目的地,应用接口为MessageProducer。在JMS规范中,所有的标准定义都在javax.jms包中。

    3,Consumer(Receiver)

      消息消费者(处理消息),负责从目的地中消费(处理、监听、订阅)Message,应用接口为MessageConsumer。

    4,Message

      消息(Message),消息封装一次通信的内容,常见的类型有:StreamMessage、BytesMessage、TextMessage、ObjectMessage、MapMessage。

    5,ConnectionFactory

      链接工厂,用于创建链接的工厂类型看,注意,不能和JDBC中的ConnectionFactory混淆。

    6,Connection

      链接,用于建立访问ActiveMQ连接的类型,由链接工厂创建,不能喝JDBC中的Connection混淆。

    7,Session

      会话,一次持久有效状态的访问,由链接创建,是具体操作消息的基础支撑。

    8,Queue & Topic

      Queue是队列目的地,Topic是主题目的地。都是Destination的子接口。

      Queue特点:队列中的消息,默认只能由唯一的一个消费者处理,一旦处理消息删除。

      Topic特点:主题中的消息,会发送给所有消费者同时处理,只有在消息可以重复处理的业务场景中可以使用。

    9,PTP

      Point to Point,点对点消息模型,就是基于Queue实现的消息处理方式。

    10,PUB & SUB

      publish & Sububscribe,消息的发布订阅模型,是基于Topic实现的消息处理方式。

  • 相关阅读:
    Django之forms.Form
    Django之Middleware中间件方法使用
    Django之请求生命周期
    Django操作session实例
    Django操作cookie实例
    Django操作session
    Django操作cookie
    Django之cookie与session
    Django之AJAX传输JSON数据
    Django之JSON数据格式
  • 原文地址:https://www.cnblogs.com/guanghe/p/10980704.html
Copyright © 2011-2022 走看看