问:如何保证消息的顺序性? 面试官心理分析 其实这个也是用 MQ 的时候必问的话题,第一看看你了不了解顺序这个事儿?第二看看你有没有办法保证消息是有顺序的?这是生产系统中常见的问题。 面试题剖析 我举个例子,我们以前做过一个 mysql binlog 同步的系统,压力还是非常大的,日同步数据要达到上 ...
分类:
其他好文 时间:
2020-07-14 10:40:59
阅读次数:
82
延迟队列,顾名思义它是一种带有延迟功能的消息队列。那么,是在什么场景下我才需要这样的队列呢? 1. 背景 我们先看看以下业务场景: 当订单一直处于未支付状态时,如何及时的关闭订单 如何定期检查处于退款状态的订单是否已经退款成功 在订单长时间没有收到下游系统的状态通知的时候,如何实现阶梯式的同步订单状 ...
分类:
其他好文 时间:
2020-07-13 19:56:30
阅读次数:
66
通道 Coroutine\Channel 使用本地内存,不同的进程之间内存是隔离的。 只能在同一进程的不同协程内进行 push 和 pop 操作。 Co::set(['hook_flags'=> SWOOLE_HOOK_ALL]); Co\run(function(){ // 设置一个容量为1的通道 ...
分类:
其他好文 时间:
2020-07-12 19:10:33
阅读次数:
108
DjangoRestFramework开发实践 在这之前我写过一篇关于Django与Drf快速开发实践的博客,Django快速开发实践:Drf框架和xadmin配置指北,粗略说了一下Drf配置和基本使用,不过里面只是涉及到最基本的CRUD,在正常的后端开发中涉及的诸如认证和权限、消息队列、缓存之类的 ...
分类:
其他好文 时间:
2020-07-11 22:47:55
阅读次数:
56
什么是消息队列? 就是生产者生产一条消息,发送到这个rabbitmq,消费者连接rabbitmq并且进行消费,生产者和消费者并需要知道对方是如何工作的,从而实现程序之间的解耦,异步和削峰,这也就是消息队列的作用。 使用的场景也有很多,比如用户支付购买之后的发送短信,增加用户积分等等,只要能将业务逻辑 ...
分类:
其他好文 时间:
2020-07-11 19:12:08
阅读次数:
80
1 kafka介绍 Kafka是一款性能非常好的并且支持分布式的消息队列中间件由于它的高吞吐特性,Kafka通常使用在大数据领域,如日志收集平台Kafka是一个流处理平台,因为它在工作中就像是一个可以支撑高吞吐量的管道,数据像水一样流进去,然后另外一端再去读取这些数据我们就可以把Kafka看作是一种 ...
分类:
其他好文 时间:
2020-07-11 13:02:34
阅读次数:
55
一、简介 RabbitMQ是一套开源(MPL)的消息队列服务软件,是由LShift提供的一个Advanced Message Queuing Protocol (AMQP) 的开源实现,由以高性能、健壮以及可伸缩性出名的Erlang写成。所有主要的编程语言均有与代理接口通讯的客户端库。RabbitM ...
分类:
其他好文 时间:
2020-07-10 17:05:52
阅读次数:
71
前言 RabbitMQ?”“Kafka?”“RocketMQ?”...在日常学习与开发过程中,我们常常听到消息队列这个关键词。我也在我的多篇文章中提到了这个概念。可能你是熟练使用消息队列的老手,又或者你是不懂消息队列的新手,不论你了不了解消息队列,本文都将带你搞懂消息队列的一些基本理论。如果你是老手 ...
分类:
其他好文 时间:
2020-07-09 00:56:32
阅读次数:
124
SpringBoot与消息 消息概述 大多应用中,可通过消息服务中间件来提升系统异步通信、扩展解耦能力 消息服务中两个重要概念: ? 消息代理(message broker)和目的地(destination) 当消息发送者发送消息以后,将由消息代理接管,消息代理保证消息传递到指定目的地。 消息队列主 ...
分类:
编程语言 时间:
2020-07-08 01:32:01
阅读次数:
82
为什么需要消息队列 周末无聊刷着手机,某宝网APP突然蹦出来一条消息“为了回馈老客户,女朋友买一送一,活动仅限今天!”。买一送一还有这种好事,那我可不能错过!忍不住立马点了去。于是选了两个最新款,下单、支付一气呵成!满足的躺在床上,想着马上有女朋友了,竟然幸福的失眠了…… 第二天正常上着班,突然接到 ...
分类:
其他好文 时间:
2020-07-07 16:05:41
阅读次数:
53