
MQ消息队列
一页知秋否
男人就不应该生活的太安逸
展开
-
消息中间件(八)之-rabbit mq消息同步机制
RabbitMQ架构和消息通讯模式从图中可以看出RabbitMQ主要由Exchange和Queue两部分组成,然后通过RoutingKey关联起来,消息投递到Exchange然后通过Queue接收。RabbitMQ消息队列基本概念RabbitMQ Server:也叫broker server,它是一种传输服务。 他的角色就是维护一条从Producer到Consumer的路线,保证...原创 2018-03-16 13:36:14 · 3110 阅读 · 0 评论 -
消息中间件(六)之-springBoot集成RabbitMQ
关于RabbitMQ以及RabbitMQ和Spring的整合基本概念RabbitMQ是流行的开源消息队列系统,用erlang语言开发。RabbitMQ是AMQP(高级消息队列协议)的标准实现。如果不熟悉AMQP,直接看RabbitMQ的文档会比较困难。不过它也只有几个关键概念,这里简单介绍。RabbitMQ的结构图如下:几个概念说明:Broker:简单来说就是消息队列...原创 2018-03-14 15:50:19 · 356 阅读 · 0 评论 -
消息中间件(一)之-rabbitMQ简述
1、RabbitMQ的高可用性RabbitMQ是比较有代表性的,因为是基于主从做高可用性的,我们就以他为例子讲解第一种MQ的高可用性怎么实现。2、rabbitmq有三种模式:单机模式,普通集群模式,镜像集群模式1)单机模式就是demo级别的,一般就是你本地启动了玩玩儿的,没人生产用单机模式2)普通集群模式 意思就是在多台机器上启动多个rabbitmq实例,每个...原创 2019-04-16 08:51:00 · 347 阅读 · 0 评论 -
消息中间件(二)之-kafka简述
kafka的高可用性 kafka一个最基本的架构认识:多个broker组成,每个broker是一个节点;你创建一个topic,这个topic可以划分为多个partition,每个partition可以存在于不同的broker上,每个partition就放一部分数据。这就是天然的分布式消息队列,就是说一个topic的数据,是分散放在多个机器上的,每个机器就放一部分数据。 ...原创 2019-04-16 15:35:32 · 273 阅读 · 0 评论 -
消息中间件(三)之-rabbitMQ丢数据的处理方案
rabbitMQ针对丢数据的问题处理方案:1)生产者弄丢了数据 生产者将数据发送到rabbitmq的时候,可能数据就在半路给搞丢了,因为网络啥的问题,都有可能。 此时可以选择用rabbitmq提供的事务功能,就是生产者发送数据之前开启rabbitmq事务(channel.txSelect),然后发送消息,如果消息没有成功被rabbitmq接收到,那么生产者会收...原创 2019-04-16 15:38:54 · 3328 阅读 · 1 评论 -
消息中间件(五)之-SpringBoot集成kafka消息中间件
springboot集成消息中间件的步骤十分简单、方便,但是针对不同的生产、消费情况需要调整相应的生产消费配置(这是一个繁杂的过程,因具体测试情况而慢慢摸索最适合的配置参数)。1、引入相应的pom依赖:<!--引入 Kafka --><dependency> <groupId>org.springframework.kafka</grou...原创 2019-05-05 10:39:39 · 880 阅读 · 2 评论 -
消息中间件(四)之-kafka重复消费问题
其实kafka的重复消费问题究其底层根本原因就是:已经消费了数据,但是offset没提交(kafka没有或者不知道该数据已经被消费)。 基于这种原因总结以下几个易造成重复消费的配置:原因1:强行kill线程,导致消费后的数据,offset没有提交(消费系统宕机、重启等)。原因2:设置offset为自动提交,关闭kafka时,如果在close之前,调用 consumer.unsubscribe()...原创 2019-04-30 08:59:53 · 28419 阅读 · 0 评论 -
消息中间件之-为什么要是用消息队列以及消息队列的优缺点分析
原文出处:https://blogdev.blog.youkuaiyun.com/article/details/1025818981 为什么要使用消息队列?回答:这个问题,咱只答三个最主要的应用场景(不可否认还有其他的,但是只答三个主要的),即以下六个字:(1)解耦传统模式:传统模式的缺点:系统间耦合性太强,如上图所示,系统A在代码中直接调用系统B和系统C的代码,如果将来...转载 2020-03-30 09:18:27 · 29879 阅读 · 6 评论 -
消息中间件(七)之-消息队列使用场景及中间件对比
1.消息队列的主要特点是异步处理,主要目的是减少请求响应时间和解耦。所以主要的使用场景就是将比较耗时而且不需要即时(同步)返回结果的操作作为消息放入消息队列。同时由于使用了消息队列,只要保证消息格式不变,消息的发送方和接收方并不需要彼此联系,也不需要受对方的影响,即解耦和。场景一:假设用户在你的软件中注册,服务端收到用户的注册请求后,它会做这些操作:①校验用户名等信息,如果没问...原创 2018-03-05 09:22:35 · 2583 阅读 · 0 评论