暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

消息队列的基本知识

682

消息中间件:全称MessageQueue,主要是用于程序和程序直接通信,异步+解耦。

1、核心作用: 

    解耦:订单系统-》物流系统 

    异步:用户注册-》发送邮件,初始化信息 

    削峰:秒杀、日志处理

2、跨平台 、多语言协作场景 

3、分布式事务、最终一致性【消息队列+本地task记录】

4、RPC调用上下游对接,数据源变动->通知下属


当一个系统引入了消息队列以后:

1、原本串行操作的流程改为了并行操作,用户需要等待的时间减少了

2、将各个微服务进行了一定程度的解耦




什么是JMS?

    JMS是Java消息服务(Java Message Service), Java平台中关于面向消息中间件的接口协议,所有消息队列的厂商都要 基于JMS协议来提供面向java开发的api使用接口。 

    说明点:

     1、JMS是一种与厂商无关的 API,用来访问消息收发系统消息,它类似于JDBC(Java Database Connectivity)。

     2、是由Sun公司早期提出的消息标准,旨在为java应用提供统一的消息操作,包括create、send、receive 

    3、JMS是针对java的,微软开发了NMS(.NET消息传递服务) 【基于JMS开发的消息队列是和java语言进行绑定的,不适合跨语言】


常见概念:

    JMS提供者:连接面向消息中间件的,JMS接口的一个实现,RocketMQ,ActiveMQ,Kafka等等。

     JMS生产者(Message Producer):生产消息的服务,可以是java微服务,可以是python代码等。

     JMS消费者(Message Consumer):消费消息的服务,可以是java微服务 。

    JMS消息:数据对象 。

    JMS队列:存储待消费消息的区域。

     JMS主题:一种支持发送消息给多个订阅者的机制 JMS消息通常有两种类型:点对点(Point-to-Point)、发布/订阅(Publish/Subscribe) 。

    点对点类型的消息:该消息只能被一个消费者消费。

     发布/订阅类型的消息:该消息可以同时被所有消费者消费。


文章转载自梁霖编程工具库,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论