ActiveMQ(一)简介与架构

简介:
  • 消息中间件的概念

消息中间件,简言之是一种在分布式系统中应用程序借以传输消息的媒介。中间件位于客户机/ 服务器的操作系统之上,管理计算机资源和网络通讯,是连接两个独立应用程序或独立系统的软件,执行中间件的一个关键途径是信息传递;

面向消息的中间件(Message Oriented Middleware,MOM)较好的解决了3个问题。

一是:发送者将消息发送给消息服务器,消息服务器将消息存放在若干队列中,在合适的时候再将消息转发给接收者。这种模式下,发送和接收是异步的,发送者无需等待;降低了耦合度

二是,发送者和消费者的生命周期未必相同:发送消息的时候接收者不一定运行,接收消息的时候发送者也不一定运行;

三是:一对多通信:对于一个消息可以有多个接收者。

  • 消息中间件的应用

消息中间件适用于需要可靠的数据传送的分布式环境。采用消息中间件机制的系统中,不同的是它常被用来对象之间通过传递消息来激活对方的事件,完成相应的操作。发送者将消息发送给消息服务器,消息服务器将消息存放在若干队列中,在合适的时候再将消息转发给接收者。消息中间件能在不同平台之间通信,屏蔽掉各种平台及协议之间的特性,实现应用程序之间的协同,其优点在于能够在客户和服务器之间提供同步和异步的连接,并且在任何时刻都可以将消息进行传送或者存储转发,这也是它比远程过程调用更进一步的原因。

毋庸置疑,只要有消息需要传送的地方都离不开消息中间件,它的特点是显而易见的;

其中,在SOA的应用中随处可以见到消息中间件的影子,信息化系统的“结构化和模块化”要求越来越明显,将原有的系统或者新建系统向模块化靠拢,必然需要一类软件将这些“模块”有机而又低藕合的串接起来,消息中间件可以成为不同模块之间数据传输的桥梁,提供数据传输的可靠性和高效性

  • 消息中间件应用场景

    分布式环境(运营数据分析利用系统)

应用特点:

  • 客户机服务器之间的同步和异步的连接

  • 不同平台之间通信

  • 优于远程调用

  • ACTIVEMQ为什么能脱颖而出?

ActiveMQ是一种开源的,实现了JMS1.1规范的,面向消息(MOM)的中间件

主要特点:

稳定性:失败重连机制failover,持久化服务,容错机制,多种恢复机制

高效性:支持多种传送协议TCP,SSL,NIO,UDP,集群服务消息在多个代理之间转发防止消息丢失,支持超快的JDBC消息持久化和高效的日志系统

可扩展:activemq的高级特性都可以配置的形式来表现,很好的实现例如游标,容错机制,消息group及监控服务,同时扩展了很多成熟的框架spring使得其使用更加成熟

高级特性

消息群组(Message Groups)、虚拟端点(Virtual Destinations)、通配符(Wildcards)、复合端点(Composite Destinations)

ActiveMQ整体架构

如上图所示,

ActiveMQ主要涉及到5个方面:

传输协议

消息域:

消息存储

Cluster  (集群)

Monitor (监控)

传输协议:消息之间的传递,无疑需要协议进行沟通,启动一个ActiveMQ打开了一个监听端口, ActiveMQ提供了广泛的连接模式,其中主要包括SSL、STOMP

        、XMPP;ActiveMQ默认的使用的协议是openWire,端口号:61616;

消息域:ActiveMQ主要包含Point-to-Point (点对点),Publish/Subscribe Model (发布/订阅者),其中在Publich/Subscribe 模式下又有Nondurable subscription和      durable subscription (持久化订阅)2种消息处理方式

消息存储:在消息传递过程中,部分重要的消息可能需要存储到数据库或文件系统中,当中介崩溃时,信息不回丢失

Cluster  (集群): 最常见到 集群方式包括network of brokers和Master Slave;

Monitor (监控) :ActiveMQ一般由jmx来进行监控,这部分的内容我们以后讨论;

相关实践学习
消息队列+Serverless+Tablestore:实现高弹性的电商订单系统
基于消息队列以及函数计算,快速部署一个高弹性的商品订单系统,能够应对抢购场景下的高并发情况。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
目录
相关文章
|
7月前
|
存储 并行计算 安全
我们自己的芯片指令集架构——龙芯架构简介
我们自己的芯片指令集架构——龙芯架构简介
845 6
|
7月前
|
Web App开发 JavaScript 前端开发
【热门话题】WebKit架构简介
WebKit,开源浏览器引擎,支撑Safari、Chrome等,以其高效、稳定和跨平台特性著称。文章介绍了WebKit的起源、模块化设计,重点讲解了WebCore的DOM、CSSOM、Render Tree、布局、绘图与合成,以及JavaScriptCore的解析、编译和垃圾回收。WebKit2的多进程架构提升了稳定性和安全性。理解WebKit有助于优化网页性能和参与社区贡献。
71 0
|
2月前
|
Kubernetes 调度 算法框架/工具
NVIDIA Triton系列02-功能与架构简介
本文介绍了NVIDIA Triton推理服务器的功能与架构,强调其不仅适用于大型服务类应用,还能广泛应用于各类推理场景。Triton支持多种模型格式、查询类型和部署方式,具备高效的模型管理和优化能力,确保高性能和系统稳定性。文章详细解析了Triton的主从架构,包括模型仓库、客户端应用、通信协议和推理服务器的核心功能模块。
97 1
NVIDIA Triton系列02-功能与架构简介
|
2月前
|
存储 分布式计算 Hadoop
Hadoop-33 HBase 初识简介 项目简介 整体架构 HMaster HRegionServer Region
Hadoop-33 HBase 初识简介 项目简介 整体架构 HMaster HRegionServer Region
66 2
|
2月前
|
存储 SQL 消息中间件
Hadoop-26 ZooKeeper集群 3台云服务器 基础概念简介与环境的配置使用 架构组成 分布式协调框架 Leader Follower Observer
Hadoop-26 ZooKeeper集群 3台云服务器 基础概念简介与环境的配置使用 架构组成 分布式协调框架 Leader Follower Observer
54 0
|
6月前
|
存储 消息中间件 数据库
分布式系统详解--架构简介(微服务)
分布式系统详解--架构简介(微服务)
98 0
|
7月前
|
分布式计算 API 数据处理
Flink【基础知识 01】(简介+核心架构+分层API+集群架构+应用场景+特点优势)(一篇即可大概了解flink)
【2月更文挑战第15天】Flink【基础知识 01】(简介+核心架构+分层API+集群架构+应用场景+特点优势)(一篇即可大概了解flink)
175 1
|
7月前
|
存储 消息中间件 API
|
7月前
|
消息中间件 存储 SQL
Flume【基础知识 01】简介 + 基本架构及核心概念 + 架构模式 + Agent内部原理 + 配置格式(一篇即可入门Flume)
【2月更文挑战第18天】Flume【基础知识 01】简介 + 基本架构及核心概念 + 架构模式 + Agent内部原理 + 配置格式(一篇即可入门Flume)
2036 0
|
7月前
|
边缘计算 Kubernetes 物联网
大规模 IoT 边缘容器集群管理的几种架构 -0- 边缘容器及架构简介
大规模 IoT 边缘容器集群管理的几种架构 -0- 边缘容器及架构简介

热门文章

最新文章