![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
MQ
MrBlackWhite
越努力越幸运
展开
-
select、poll、epoll之间的区别(搜狗面试)
(1)select==>时间复杂度O(n)它仅仅知道了,有I/O事件发生了,却并不知道是哪那几个流(可能有一个,多个,甚至全部),我们只能无差别轮询所有流,找出能读出数据,或者写入数据的流,对他们进行操作。所以select具有O(n)的无差别轮询复杂度,同时处理的流越多,无差别轮询时间就越长。(2)poll==>时间复杂度O(n)poll本质上和select没有区别,它将用户传入的数组拷贝到内核空间,然后查询每个fd对应的设备状态, 但是它没有最大连接数的限制,原因是它是基于链表来存转载 2020-11-20 11:35:54 · 141 阅读 · 0 评论 -
kafka入门:简介、使用场景、设计原理、主要配置及集群搭建
文章出自:http://www.aboutyun.com/thread-9341-1-1.html问题导读:1.zookeeper在kafka的作用是什么?2.kafka中几乎不允许对消息进行“随机读写”的原因是什么?3.kafka集群consumer和producer状态信息是如何保存的?4.partitions设计的目的的根本原因是什么?一、入门1、简介 ...转载 2019-05-08 16:11:41 · 170 阅读 · 0 评论 -
RabbitMQ之消息持久化
文章出自:https://blog.csdn.net/u013256816/article/details/60875666/消息的可靠性是RabbitMQ的一大特色,那么RabbitMQ是如何保证消息可靠性的呢——消息持久化。为了保证RabbitMQ在退出或者crash等异常情况下数据没有丢失,需要将queue,exchange和Message都持久化。queue的持久化queue...转载 2019-05-08 11:43:58 · 317 阅读 · 0 评论 -
RabbitMQ 如何保证消息不丢失?
文章出自:https://www.cnblogs.com/flyrock/p/8859203.htmlRabbitMQ一般情况很少丢失,但是不能排除意外,为了保证我们自己系统高可用,我们必须作出更好完善措施,保证系统的稳定性。下面来介绍下,如何保证消息的绝对不丢失的问题,下面分享的绝对干货,都是在知名互联网产品的产线中使用。1.消息持久化2.ACK确认机制3.设置集...转载 2019-05-08 10:15:06 · 8087 阅读 · 0 评论 -
RabbitMQ系列(六)你不知道的RabbitMQ集群架构全解
前言本文将系统的介绍一下RabbitMQ集群架构的特点、异常处理、搭建和使用中要注意的一些细节。知识点一、为什么使用集群?二、集群的特点三、集群异常处理四、集群节点类型五、集群搭建方法六、镜像队列一、为什么使用集群?内建集群作为RabbitMQ最优秀的功能之一,它的作用有两个:允许消费者和生产者在Rabbit节点崩溃的情况下继续运行; 通过增加节点来扩...转载 2019-04-24 10:40:12 · 247 阅读 · 0 评论 -
RabbitMQ系列(五)使用Docker部署RabbitMQ集群
概述本文重点介绍的Docker的使用,以及如何部署RabbitMQ集群,最基础的Docker安装,本文不做过多的描述,读者可以自行度娘。Windows10上Docker的安装因为本人用的是Windows系统,所有推荐一个不错的安装文章,详见:https://blog.csdn.net/xiaoping0915/article/details/75094857注意:设置阿里云Dock...转载 2019-04-24 10:38:36 · 216 阅读 · 0 评论 -
RabbitMQ系列(四)RabbitMQ事务和Confirm发送方消息确认
引言根据前面的知识(深入了解RabbitMQ工作原理及简单使用、Rabbit的几种工作模式介绍与实践)我们知道,如果要保证消息的可靠性,需要对消息进行持久化处理,然而消息持久化除了需要代码的设置之外,还有一个重要步骤是至关重要的,那就是保证你的消息顺利进入Broker(代理服务器),如图所示:正常情况下,如果消息经过交换器进入队列就可以完成消息的持久化,但如果消息在没有到达broker...转载 2019-04-24 10:36:52 · 257 阅读 · 0 评论 -
RabbitMQ系列(三)RabbitMQ交换器Exchange介绍与实践
导读有了Rabbit的基础知识之后(基础知识详见:深入解读RabbitMQ工作原理及简单使用),本章我们重点学习一下Rabbit里面的exchange(交换器)的知识。交换器分类RabbitMQ的Exchange(交换器)分为四类:direct(默认) headers fanout topic其中headers交换器允许你匹配AMQP消息的header而非路由键,除此之外h...转载 2019-04-24 10:34:40 · 277 阅读 · 0 评论 -
RabbitMQ系列(二)深入了解RabbitMQ工作原理及简单使用
RabbitMQ简介在介绍RabbitMQ之前实现要介绍一下MQ,MQ是什么?MQ全称是Message Queue,可以理解为消息队列的意思,简单来说就是消息以管道的方式进行传递。RabbitMQ是一个实现了AMQP(Advanced Message Queuing Protocol)高级消息队列协议的消息队列服务,用Erlang语言的。使用场景在我们秒杀抢购商品的时候,系统会...转载 2019-04-24 10:32:42 · 396 阅读 · 0 评论 -
RabbitMQ系列(一)RabbitMQ在Ubuntu上的环境搭建
环境配置Ubuntu Server 18.04 RabbitMQ 3.6.10安装之前我们使用apt-get进行RabbitMQ安装,在安装之前,强烈建议您把apt源换位国内,大大增加下载安装的速度,点击查看:《Ubuntu apt-get和pip国内源更换》安装rabbitmq-serversudo apt-get update sudo apt-get install ra...转载 2019-04-24 10:30:33 · 303 阅读 · 0 评论 -
RabbitMQ系列文章
文章出自王磊博客:https://www.cnblogs.com/vipstone/RabbitMQ系列文章 RabbitMQ系列(一)RabbitMQ在Ubuntu上的环境搭建 RabbitMQ系列(二)深入了解RabbitMQ工作原理及简单使用 RabbitMQ系列(三)RabbitMQ交换器Exchange介绍与实践 RabbitMQ系列(四)Rabb...原创 2019-04-24 10:28:14 · 460 阅读 · 0 评论 -
消息积压---一般处理方法
如何解决消息队列的延时以及过期失效问题?消息队列满了以后该怎么处理?思考是什么导致了消息积压?是consumer程序bug?是consumer消费的速度落后于消息生产的速度? 积压了多长时间,积压了多少量? 对业务的影响?解决思路1. 如果仅仅是consumer消费的速度落后于消息生产的速度的话,可以考虑采用扩容消费者群组的方式。2. 如果积压比较严重,积压了上百万、上千万的消息。修复现有consumer的问题,并将其停掉。 重新创建一个容量更大的topic,比如patition转载 2020-11-18 18:17:53 · 2631 阅读 · 0 评论