• 消息中间件的概念

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

面向消息的中间件(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来进行监控,这部分的内容我们以后讨论;

ActiveMQ(一)简介与架构相关推荐

  1. DL之CNN:计算机视觉之卷积神经网络算法的简介(经典架构/论文)、CNN优化技术、调参学习实践、CNN经典结构及其演化、案例应用之详细攻略

    DL之CNN:计算机视觉之卷积神经网络算法的简介(经典架构/论文).CNN优化技术.调参学习实践.CNN经典结构.案例应用之详细攻略 目录 卷积神经网络算法的简介 0.Biologically Ins ...

  2. DL之Transformer:Transformer的简介(优缺点/架构详解,基于Transformer的系列架构对比分析)、使用方法(NLP领域/CV领域)、案例应用之详细攻略

    DL之Transformer:Transformer的简介(优缺点/架构详解,基于Transformer的系列架构对比分析).使用方法(NLP领域/CV领域).案例应用之详细攻略 目录 Transfo ...

  3. Apache Phoenix:HBase之上的SQL工具[1] 简介与架构

    Apache Phoenix:HBase之上的SQL工具[1] 简介与架构 作者:胡佳辉(Dennis)  时间:2019年1月1日  CSDN博客:https://blog.csdn.net/gob ...

  4. 人脸识别私有化部署(一):简介和架构

    人脸识别私有化部署(一):简介和架构 人脸识别私有化部署简介 人脸识别私有化部署适用场合 人脸识别私有化部署系统架构 术语小贴士 人脸识别私有化部署简介 人脸识别私有化部署(也称为人脸识别本地化部署) ...

  5. DataX 简介及架构原理

    DataX 简介及架构原理 概述 DataX是阿里巴巴使用 Java 和 Python 开发的一个异构数据源离线同步工具 异构数据源:不同存储结构的数据源 致力于实现包括关系型数据库 MySQL.Or ...

  6. FastDFS文件系统简介与架构原理

    FastDFS分布式文件系统概述 概述 FastDFS是一个轻量级的开源分布式文件系统 FastDFS主要解决了大容量的文件存储和高并发访问的问题,文件存取时实现了负载均衡 FastDFS实现了软件方 ...

  7. NLP之PLUG:阿里达摩院发布最大中文预训练语言模型PLUG的简介、架构组成、模型训练、使用方法之详细攻略

    NLP之PLUG:阿里达摩院发布最大中文预训练语言模型PLUG的简介.架构组成.模型训练.使用方法之详细攻略 目录 PLUG的简介 PLUG的得分 PLUG的特点 PLUG的架构组成 PLUG的模型训 ...

  8. SpringCloud系列一:SpringCloud的简介和架构

    声明:本文来源于MLDN培训视频的课堂笔记,写在这里只是为了方便查阅. 一.SpringCloud简介 SpringCloud就是一套分布式服务治理的框架,既然它是一套服务治理的框架,那么它本身不会提 ...

  9. mongodb 对象唯一索引_什么是MongoDB?简介,架构,功能和示例

    通过这个教程,我们将学习如下内容:- 什么是MongoDB? MongoDB功能 MongoDB示例演示 MongoDB架构的关键组件 为什么要使用MongoDB MongoDB中的数据建模 Mong ...

最新文章

  1. 为什么边缘概率密度是联合概率密度的积分_德甲前瞻|柏林赫塔VS柏林联合
  2. 学python找什么工作-学Python能找到什么工作?这4种工作最热门!
  3. pgpool-II3.1 的内存泄漏(四)
  4. C# Check is No number
  5. 服务中心Eureka
  6. 可运行的c语言程序的扩展名为什么?
  7. 源码 连接mysql_MySql轻松入门系列————第一站 从源码角度轻松认识mysql整体框架图...
  8. 云图说|初识ModelArts开发者生态社区——AI Gallery
  9. python︱利用dlib和opencv实现简单换脸、人脸对齐、关键点定位与画图
  10. 2018.11.07-1015-幸运字符串查询 (lucky)
  11. nginx安装lua/replace-filter-nginx-module
  12. C语言关键字浅析-_Bool
  13. 计算机网络管理员考试真题,2020年计算机软考网络管理员测试题及答案(20200810164142)...
  14. java 一年 周数_java获取一年共有多少周
  15. Hypermedia 简介
  16. 计算机无法用u盘重装系统,最简单不用U盘电脑重装系统教程
  17. [Kaggle实战] Titanic 逃生预测 (1) - 项目起步
  18. python算积分蒙特卡罗_蒙特卡罗计算积分
  19. MPC5744P-CAN模块
  20. 解决el-table固定列在ios系统出现的问题

热门文章

  1. python 32位和64位的区别在哪
  2. 敏捷领导者所需的技能
  3. linux elf命令,linux strings 命令——ELF文件格式与“链接和装载”
  4. 神策数据受邀出席,携手亚马逊云科技共建智能家居新航海时代
  5. 报告解读丨企服 9 大规模化获客标杆模型(附赠案例)
  6. 神策数据丨7 大分析云案例,揭开 232 亿美元市场的秘密
  7. @你 ,这是一个会改变你的 2019 的神奇礼物,真好!
  8. Intellij Idea使用教程汇总篇
  9. Java GUI:将JPanel添加进JScrollPane
  10. Java 添加播放MIDI音乐