跟我学习dubbo-消息中间件在分布式系统中的作用介绍(8)
来源:互联网 发布:php地图定位源代码 编辑:程序博客网 时间:2024/05/23 01:57
消息中间件在分布式系统中的作用介绍
消息中间件的定义
Message-oriented middlewar messages between distributed systems.
消息中间件是在分布式系统中完成消息的发送和接收的基础软件。
消息中间件在分布式系统中的作用介绍
消息中间件的作用
消息中间件可利用高效可靠的消息传递机制进行平台无关的数据交流, 并基于数据通信来进行分布式系统的集成。通过提供消息传递和消息 排队模型,可以在分布式环境下扩展进程间的通信。
通过消息中间件,应用程序或组件之间可以进行可靠的异步通讯,从而 降低系统之间的耦合度,提高系统的可扩展性和可用性。
伦理片 http://www.dotdy.com/
应用场景
通过使用消息中间件对Dubbo服务间的调用进行解耦
JMS (Java Message Service)
JMS是JavaEE中的一个关于消息的规范,是一套与具体平台无关的API。
JMS元素
JMS提供者 ---- 连接面向消息中间件的,JMS接口的一个实现。
JMS客户 ------ 生产或消费消息的基于Java的应用程序或对象。
JMS生产者 ---- 创建并发送消息的JMS客户。
JMS消费者 ---- 接收消息的JMS客户。
JMS消息 ------ 可以在JMS客户之间传递的数据的对象
JMS队列 ------ 一个容纳那些被发送的等待阅读的消息的区域。
JMS主题 ------ 一种支持发送消息给多个订阅者的机制。
JMS应用程序接口
ConnectionFactory(连接工厂)------ 用户用来创建到JMS提供者的连接的被管对象。
Connection(连接)------------------- 连接代表了应用程序和消息服务器之间的通信链路。
Destination(目标)------------------- 消息发布和接收的地点,或者是队列,或者是主题。
MessageProducer(消息生产者)----- 由会话创建的对象,用于发送消息到目标。
MessageConsumer(消息消费者)---- 由会话创建的对象,用于接收发送到目标的消息。
Message(消息)---------------------- 是在消费者和生产者之间传送的对象。
Session(会话)------------------------ 表示一个单线程的上下文,用于发送和接收消息。
影音先锋电影 http://www.iskdy.com/
JMS消息模型
1、点对点或队列模型
JMS 点对点队列模型特点:
1、消息生产者生产消息发送到queue中,然后消息消费者从queue中取出并且消费消息。
2、消息被消费以后,queue中不再有存储,所以消息消费者不可能消费到已经被消费的消息。
3、Queue支持存在多个消费者,但是对一个消息而言,只会有一个消费者可以消费。
2、发布者/订阅者模型
JMS 发布/订阅模型特点:
消息生产者(发布)将消息发布到topic中,同时有多个消息消费者(订阅)消费该消息。
发布到topic的消息会被所有订阅者消费。
实现了JMS规范的消息中间件产品 ActiveMQ、RocketMQ、RabbitMQ、HornetQ
- 跟我学习dubbo-消息中间件在分布式系统中的作用介绍(8)
- 跟我学习dubbo-消息中间件在分布式系统中的作用介绍(8)
- 基于Dubbo的分布式系统架构(二)-消息中间件在分布式系统中的作用及介绍
- 消息中间件在分布式系统中的作用
- MQ消息中间件在分布式系统中的作用(三)
- 分布式架构学习之:014--消息中间件在分布式系统中的作用
- 分布式架构学习之:消息中间件在分布式系统中的作用
- Dubbo高级篇_01_消息中间件在分布式架构的作用和介绍
- 【java-分布式系统】消息中间件学习
- 初始消息中间件(分布式系统五)
- 消息中间件(分布式系统八)
- 工作中感受到的消息中间件在分布式系统中的使用场景
- 【java-分布式系统】消息中间件学习-ActiveMQ入门实测
- 《异步处理在分布式系统中的优化作用》学习笔记
- 【java-分布式系统】消息中间件学习-jms(以ActiveMQ为例)
- 跟我学习dubbo-Dubbo监控中心的介绍与简易监控中心的安装(7)
- 跟我学习dubbo-Dubbo监控中心的介绍与简易监控中心的安装(7)
- 跟我学习dubbo-简介
- (私人简单记录)使用xib文件
- ServletConfig对象
- Javascript 如何修改CSS样式(网页样式) 补充说明
- 关于memcached
- VC6.0中如何修改工程的名字
- 跟我学习dubbo-消息中间件在分布式系统中的作用介绍(8)
- 1029. 旧键盘(20)
- JavaSE020_反射应用之工厂模式
- vijos P1131 最小公倍数和最大公约数问题 题解
- block_device_operations
- 多进程,多线程,协程
- CSS简介
- 网络编程(基础)
- block全面分析