
消息队列
努力的土豆
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
如何保证消息队列的高可用?
RabbitMQ 的高可用性RabbitMQ 是比较有代表性的,因为是基于主从(非分布式)做高可用性的,我们就以 RabbitMQ 为例子讲解第一种 MQ 的高可用性怎么实现。RabbitMQ 有三种模式:单机模式、普通集群模式、镜像集群模式。单机模式单机模式,就是 Demo 级别的,一般就是你本地启动了玩玩儿的原创 2019-06-09 08:41:33 · 20605 阅读 · 0 评论 -
如何保证消息的可靠性传输?或者说,如何处理消息丢失的问题?
RabbitMQ生产者弄丢了数据生产者将数据发送到 RabbitMQ 的时候,可能数据就在半路给搞丢了,因为网络问题啥的,都有可能。此时可以选择用 RabbitMQ 提供的事务功能,就是生产者发送数据之前开启 RabbitMQ 事务channel.txSelect,然后发送消息,如果消息没有成功被 RabbitMQ 接收到,那么生产者会收到异常报错,此时就可以回滚事务channel.txR...原创 2019-06-09 09:22:37 · 20022 阅读 · 0 评论 -
如何保证消息的顺序性?
问题分析我举个例子,我们以前做过一个 mysql binlog 同步的系统,压力还是非常大的,日同步数据要达到上亿,就是说数据从一个 mysql 库原封不动地同步到另一个 mysql 库里面去(mysql -> mysql)。常见的一点在于说比如大数据 team,就需要同步一个 mysql 库过来,对公司的业务系统的数据做各种复杂的操作。你在 mysql 里增删改一条数据,对应出来了增删...原创 2019-06-09 17:08:37 · 19813 阅读 · 0 评论 -
如何保证消息不被重复消费?或者说,如何保证消息消费的幂等性?
首先,比如 RabbitMQ、RocketMQ、Kafka,都有可能会出现消息重复消费的问题,正常。因为这问题通常不是 MQ 自己保证的,是由我们开发来保证的。挑一个 Kafka 来举个例子,说说怎么重复消费吧。Kafka 实际上有个 offset 的概念,就是每个消息写进去,都有一个 offset,代表消息的序号,然后 consumer 消费了数据之后,每隔一段时间(定时定期),会把自己消费过...原创 2019-06-09 17:20:56 · 19982 阅读 · 0 评论 -
activemq、rabbitmq、kafka原理和比较
一、activemq 虽然是java写的消息队列,但是提供Java, C, C++, C#, Ruby, Perl, Python, PHP各种客户端,所以语言上是没什么问题的。配置和使用,基本上是java xml这一套。同时对jms、spring之类的支持很友好。而且因为是Java写的,所以可以作为一个jar包,放到java项目里,用...原创 2019-07-26 19:50:07 · 20229 阅读 · 0 评论 -
Kafka入门(二)
1.1 Kafka 高可用方案Kafka 高可用性的保障来源于其健壮的副本(Replication)策略。为了提高吞吐能力,Kafka 中每一个 Topic 分为若干 Partitions;为了保证可用性,每一个 Partition 又设置若干副本(Replicas);为了保障数据的一致性,Zookeeper 机制得以引入。基于 Zookeeper,Kafka 为每一个 Partition 找一...原创 2019-05-14 20:16:31 · 19929 阅读 · 0 评论 -
Kafka入门(一)
1.1 Kafka简介关于 Kafka,网上有很多介绍,经过不断地复制、洗稿、演绎后,难免背离原意,因此,我们还是来看一下官网给出的定义:Apache Kafka is a distributed streaming platform.Kafka 作为流平台具有以下三种能力:发布和订阅记录流,类似于消息队列或企业消息系统;具有容错能力,且可以持久化的方式存储记录流;当记录...原创 2019-05-13 22:06:02 · 19922 阅读 · 0 评论