
消息队列
文章平均质量分 55
Java做些事
关注公众号“Java做些事”系统学习Java知识
展开
-
RabbitMQ work quene 模式
直连模式的缺点当生产者生产消息过快,消费者消费过慢的情况下,会造成消息的大量堆积。因此这个时候就可以使用work模型:让多个消费者绑定到一个队列,共同消费队列中的消息。队列的消息一旦消费就不会存在,所以任务也是不会被重复执行的。角色:P: 生产者:任务的发布者C1: 消费者1,领取任务并且完成任务,假设完成速度较慢C2: 消费者2:领取任务并且完成任务,假设完成速度快。创建提供者package com.wang.rabbitmq.work;import com.rabbitmq.cli原创 2021-03-19 14:18:06 · 287 阅读 · 0 评论 -
RabbitMQ的核心组成部分
RabbitMQ的核心组成部分交换机(Exchange)一定是要有的,如果没写的话,则是会使用默认的交换机核心概念Server: 又被称为Broker,接受客户端的连接,实现AMQP服务。就是我们自己安装的rabbitmq-serverConnection: 连接,应用程序与Broker的网络连接(使用的是TCP/IP连接)**Channel:**网络信道,几乎所有的操作都在Channel中进行,Channel是进行消息读写的通道,每个通道Channel代表一个会话任务。Message:消原创 2021-03-17 10:00:46 · 973 阅读 · 0 评论 -
什么是AMQP
AMQP 是什么AMQP全称:Advanced Message Queuing Protocol(高级消息队列协议)。是应用层协议的一个开发标准,为面向消息的中间件设计。AMQP生产者流转过程AMQP 消费者流转过程原创 2021-03-17 09:05:15 · 280 阅读 · 0 评论 -
消息的分发策略
消息的分发策略MQ消息队列有下面几个角色1.生产者2.存储消息3.消费者生产者生成消息后,MQ进行存储,消费者是如何获取消息的呢?一般获取消息数据的方式是推(push)和拉(pull)两种方式,典型的git就是有推拉机制,我们发送的http请求就是一种典型的拉去数据库数据返回的过程。而消息队列MQ是一种推送的过程。场景分析消息分发策略的机制和对比轮询分发在轮询分发的场景下,交换机并不知道后面消费者的消费能力,就两个消费者一人一个这样轮询缺点:不同消费者处理任务的时间是不一样的,这样会原创 2021-03-16 10:57:13 · 1243 阅读 · 1 评论 -
消息队列协议
什么是协议我们知道消息中间件负责数据的传递、存储和分发消费三个部分,数据的存储和分发过程是要遵循协议的,我们是采用底层的TCP/IP协议还是UDP协议还是要自己构建,我们把这种规范称为协议网络协议的三要素语法。语法是用户数据与控制信息的结构和格式,以及数据出现的顺序。语义,语义是解释控制信息每个部分的意义。他规定了需要发出何种控制信息以及完成的动作与做出的响应。时序,时序是对事件发生顺序的详细说明。人们形象地把这三个要素描述为:语义表示要做什么,语法表示要怎么做,时序表示做的顺序。举个例原创 2021-03-16 10:09:40 · 483 阅读 · 0 评论 -
基于消息中间件的分布式系统的架构
基于消息中间件的分布式系统的架构消息中间件的考察点是否有通讯能力是否高可用是否支持跨平台是否有持久化…从上图可以看出,消息的中间件是1.利用可靠的消息传递机制进行系统和系统之间的直接通讯 。2.通过提供消息传递和消息的排队机制,他可以在分布式系统环境下扩展进程间的通讯。消息中间件应用的场景跨系统的数据传递高并发的流量削峰数据的分发和异步处理大数据分析和传递分布式事务常见的消息中间件ActiveMQ、RabbitMQ、Kafka、RocketMQ消息中间件的原创 2021-03-16 09:21:53 · 363 阅读 · 1 评论