学习起来,别躺平啦,消息中间件入门知识

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

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、常用持久化方式

ActiveMQRabbitMQKafkaRocketMQ
文件系统支持支持支持支持
数据库支持///

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

ActiveMQRabbitMQKafkaRocketMQ
发布订阅支持支持支持支持
轮询分发支持支持支持/
公平分发/支持支持/
重发支持支持/支持
消息拉取/支持支持支持

8、高可用机制

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

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

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

Master-Slave主从同步部署方式

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

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

Master-Slave与Broker-Cluster结合

9、高可靠是什么

高可靠性是指系统可以无故障地持续运行。比如一个系统从来不崩溃、报错,或者崩溃、报错的几率较低,那就是高可靠。 在高并发业务场景下,如果不能保证系统的高可靠,那造成的损失将会非常严重。 保证消息中间件的高可靠性,可以从以下几方面考虑

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

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

 原文链接:消息中间件入门 - 掘金

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
学习消息中间件的好处包括: 1. 异步通信:消息中间件可以实现应用程序之间的异步通信,即发送方发送消息后不需要等待接收方的响应即可继续处理其他任务。这种异步通信模式可以提高系统的响应速度和吞吐量。 2. 解耦:通过使用消息中间件,应用程序可以通过发送和接收消息的方式进行通信,而不需要直接调用对方的接口或方法。这种解耦的设计可以提高系统的灵活性和可维护性,使得各个组件可以独立演进和扩展。 3. 可靠性:消息中间件通常具有持久化机制,即使在消息发送或接收过程中出现故障,消息也可以被保存下来,待系统恢复后再进行处理。这种可靠性机制可以确保消息的可靠传递,避免数据丢失。 4. 扩展性:消息中间件可以支持多种消息模式,例如发布-订阅、点对点等。这使得系统可以根据实际需求灵活地扩展,添加新的消息消费者或生产者,而不会对现有的组件产生影响。 5. 流量控制和负载均衡:消息中间件可以控制消息的流量,避免消息发送方过载或接收方无法处理大量消息的情况。同时,一些消息中间件还可以进行负载均衡,将消息均匀地分发给多个消费者,提高系统的性能和可伸缩性。 综上所述,学习消息中间件可以带来异步通信、解耦、可靠性、扩展性和流量控制等好处,从而提升系统的性能、可维护性和可靠性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值