关于消息中间键的基础与应用(一)——基础

1、什么是消息中间件

​ 消息中间件利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统集成。通过提供消息传递和消息排队模型,它可以在分布式环境下扩展进程间的通信。对于消息中间件,常见的角色大致也就有 Producer(生产者)、Consumer(消费者)

​ 常见的消息中间件产品:

(1)ActiveMQ

ActiveMQ 是 Apache 出品,最流行的,能力强劲的开源消息总线。ActiveMQ 是一个完全支持 JMS1.1 和 J2EE 1.4 规范的 JMS Provider 实现。

(2)RabbitMQ

AMQP 协议的领导实现,支持多种场景。淘宝的 MySQL 集群内部有使用它进行通讯,OpenStack 开源云平台的通信组件,最先在金融行业得到运用。

(3)ZeroMQ

史上最快的消息队列系统

(4)Kafka

Apache 下的一个子项目。特点:高吞吐,在一台普通的服务器上既可以达到 的吞吐速率;完全的分布式系统。适合处理海量数据。

2、JMS 简介

2.1 什么是 JMS

JMSJava Messaging Service)是 Java 平台上有关面向消息中间件的技术规范,它便于消息系统中的 Java 应用程序进行消息交换,并且通过提供标准的产生、发送、接收消息的接口简化企业应用的开发。

JMS 本身只定义了一系列的接口规范,是一种与厂商无关的 API,用来访问消息收发系统。它类似于 JDBC:这里,JDBC 是可以用来访问许多不同关系型数据库 API,而 JMS 则提供同样与厂商无关的访问方法,以访问消息收发服务。

许多厂商目前都支持 JMS,包括 IBM 的 MQSeries、BEA 的 Weblogic JMS service 和 Progress 的 SonicMQ,这只是几个例子。 JMS 使您能够通过消息收发服务(有时称为消息中介程序或路由器)从一个 JMS 客户机向另一个 JML 客户机发送消息。消息是 JMS 中的一种类型对象,由两部分组成:报头和消息主体。报头由路由信息以及有关该消息的元数据组成。消息主体则携带着应用程序的数据或有效负载。

2.2 JMS 的5种消息格式

JMS 定义了五种不同的消息正文格式,以及调用的消息类型,允许你发送并接收以一

些不同形式的数据,提供现有消息格式的一些级别的兼容性。

1TextMessage一个字符串对象
2MapMessage一套 名称-值对 键值对
3ObjectMessage一个序列化的 Java 对象
4BytesMessage一个字节的数据流
5StreamMessageJava 原始值的数据流
2.3 JMS的2种消息传递类型:

对于消息的传递有两种类型:

1、P2P(Ponit to Point)模型,即采用点对点的方式发送消息。P2P模型是基于队列的,消息生产者发送消息到队列,消息消费者从队列中接收消息,队列的存在使得消息的异步传输称为可能,P2P模型在点对点的情况下进行消息传递时采用。
在这里插入图片描述
在这里插入图片描述

2、Pub/Sub(Publish/Subscribe,即发布-订阅)模型,发布-订阅模型定义了如何向一个内容节点发布和订阅消息,这个内容节点称为topic(主题)。主题可以认为是消息传递的中介,消息发布这将消息发布到某个主题,而消息订阅者则从主题订阅消息。主题使得消息的订阅者与消息的发布者互相保持独立,不需要进行接触即可保证消息的传递,发布-订阅模型在消息的一对多广播时采用。

在这里插入图片描述
在这里插入图片描述

3 ActiveMQ的下载和安装

具体过程略

安装成功之后,输入IP和端口访问安装的ActiveMQ的管理页面,登陆,用户名与密码都是admin;

在这里插入图片描述

列表各列信息含义如下:

Number Of Pending Messages :等待消费的消息 这个是当前未出队列的数量。

Number Of Consumers :消费者 这个是消费者端的消费者数量

Messages Enqueued :进入队列的消息 进入队列的总数量,包括出队列的。

Messages Dequeued 出了队列的消息可以理解为是消费这消费掉的数量。

4、JMS入门小demo(下节再续)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值