消息中间件入门

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
性能测试 PTS,5000VUM额度
Serverless 应用引擎免费试用套餐包,4320000 CU,有效期3个月
简介: 消息中间件入门

1、什么是消息中间件



利用高效可靠的消息传递机制进行平台无关的数据交流;

并基于数据通信来进行分布式系统的集成;

通过提供消息传递和消息排队模型,它可以在分布式环境下扩展进程间的通信;


2、消息中间件的应用场景



跨系统数据传递、高并发流量削峰、数据异步处理…等等


3、常用的消息中间件



ActiveMQ、RabbitMQ、Kafka、RocketMQ


4、消息中间件设计思想



协议、持久化机制、消息分发策略、高可用、高可靠


5、协议是什么



协议是计算机之间通信时共同遵从的一组约定,都遵守相同的约定,计算机之间才能相互交流。协议是计算机之间通信时共同遵从的一组约定,都遵守相同的约定,计算机之间才能相互交流。


协议三要素:


语法:即数据与控制信息的结构或格式;

语义:即需要发出何种控制信息,完成何种动作以及做出何种响应;

时序(同步):即事件实现顺序的详细说明


消息中间件常用的协议:OpenWire、AMQP、MQTT、Kafka、OpenMessage


MQTT协议(RabbiMQ、ActiveMQ):


MQTT (Message Queuing Telemetry Transport)消息队列遥测传输是IBM开发的一个即时通讯协议,物联网系统架构中的重要组成部分。


特性:轻量、结构简单、传输快、没有事务支持、没有持久化相关设计


应用场景:适用于计算能力有限、低带宽、网络不稳定的场景。


Open Message协议(RocketMQ)


OpenMessaging是近一两年由阿里发起,与雅虎、滴滴出行、Streamlio等公司共同参与创立的分布式消息中间件、流处理领域的应用开发标准。是国内首个在全球范围内发起的分布式消息领域国际准。


特性:结构简单、解析快、有事务设计、有持久化设计


Kafka协议(kafka)


Kafka协议是基于TCP的二进制协议。消息内部是通过长度来分隔,由一些基本数据类型组成。


特性:结构简单、解析快、无事务设计、有持久化设计


6、常用持久化方式



image.png


7、常用的消息中间件分发策略



image.png


8、高可用机制



高可用性是指产品在规定的条件和规定的时刻或时间区间内处于可执行规定功能状态的能力。

当业务量大时,一台消息中间件服务器可能无法满足需求,所以需要消息中间件能够集群部署,来达到高可用的目的。


Master-Slave主从共享数据的部署方式


image.png


Master-Slave主从同步部署方式


image.png


Broker-Cluster多主集群同步部署方式


image.png


Broker-Cluster多主集群转发部署方式


image.png



Master-Slave与Broker-Cluster结合


image.png


9、高可靠是什么



高可靠性是指系统可以无故障地持续运行。比如一个系统从来不崩溃、报错,或者崩溃、报错的几率较低,那就是高可靠。

在高并发业务场景下,如果不能保证系统的高可靠,那造成的损失将会非常严重。


保证消息中间件的高可靠性,可以从以下几方面考虑


消息传输可靠:通过协议来保证系统间数据解析的正确性。

消息存储可靠:通过持久化来保证消息的存储可靠性。



目录
相关文章
|
3月前
|
前端开发 中间件 索引
Django入门到放弃之中间件
Django入门到放弃之中间件
|
3月前
|
存储 中间件 PHP
Python编程入门:从零到一的代码实践深入理解 PHP 中的中间件模式
【8月更文挑战第28天】本文旨在通过浅显易懂的方式,向初学者介绍Python编程的基础知识,并结合具体代码示例,带领读者一步步实现从零基础到能够独立编写简单程序的转变。文章将围绕Python语言的核心概念进行讲解,并通过实例展示如何应用这些概念解决实际问题。无论你是编程新手还是希望扩展技能的专业人士,这篇文章都将为你打开编程世界的大门。 【8月更文挑战第28天】在PHP的世界中,设计模式是构建可维护和可扩展软件的重要工具。本文将通过浅显易懂的语言和生动的比喻,带领读者深入理解中间件模式如何在PHP应用中发挥魔力,实现请求处理的高效管理。我们将一步步揭开中间件的神秘面纱,从它的定义、工作原理到
|
JSON JavaScript 中间件
【node.js从入门到精通】使用express创建web服务器,路由,进行中间件的创建链接路由及其他中间件
【node.js从入门到精通】使用express创建web服务器,路由,进行中间件的创建链接路由及其他中间件
281 8
【node.js从入门到精通】使用express创建web服务器,路由,进行中间件的创建链接路由及其他中间件
|
存储 缓存 NoSQL
分布式缓存中间件Redis入门
本文主要就介绍了以下什么是redis、redis的数据结构以及其简单使用。redis其实在日常的生产中使用到的机会还是很大的。所以学会redis也是提高自身硬实力的一种重要方式,这样才能在面试中取得好成绩。
659 7
分布式缓存中间件Redis入门
|
11月前
|
SQL 关系型数据库 中间件
postgresql从入门到精通 - 第35讲:中间件PgBouncer部署
postgresql技术大讲堂,从入门到精通 - 第35讲:中间件PgBouncer部署
273 1
|
消息中间件 存储 Java
消息中间件第一讲:RocketMQ从入门到精通
消息中间件第一讲:RocketMQ从入门到精通
447 2
|
消息中间件 Java Linux
消息中间件系列教程(02) -ActiveMQ -安装&入门案例
消息中间件系列教程(02) -ActiveMQ -安装&入门案例
60 0
|
XML 负载均衡 关系型数据库
Mycat中间件配置初探与入门操作
Mycat中间件配置初探与入门操作
103 10
|
消息中间件 存储 中间件
消息中间件-RocketMQ入门 消息发送的三种方式
消息中间件-RocketMQ入门 消息发送的三种方式
171 0
|
SQL JSON Oracle
阿里分布式中间件Seata从入门到精通
阿里分布式中间件Seata从入门到精通
448 6
阿里分布式中间件Seata从入门到精通