在学习Celery之前,我先简单的去了解了一下什么是生产者消费者模式。 生产者消费者模式 在实际的软件开发过程中,经常会碰到如下场景:某个模块负责产生数据,这些数据由另一个模块来负责处理(此处的模块是广义的,可以是类、函数、线程、进程等)。产生数据的模块,就形象地称为生产者;而处理数据的模块,就称为 ...
分类:
其他好文 时间:
2019-06-26 13:31:49
阅读次数:
85
一、理解JMS 1、什么是JMS? JMS即Java消息服务(Java Message Service)应用程序接口,API是一个消息服务的标准或者说是规范,允许应用程序组件基于JavaEE平台创建、发送、接收和读取消息。它使分布式通信耦合度更低,消息服务更加可靠以及异步性。 我们可以简单的理解:两 ...
分类:
编程语言 时间:
2019-06-25 13:17:42
阅读次数:
122
面试杂谈 面试流程 1. 技术面 2. leader面 3. HR面 4. 面试题 技术面 专业能力: + 知识面广度 + 知识面深度 + 逻辑思维能力:场景设计和算法思维 综合素质: + 价值观 + 公司认同 + 个人素质:沟通、协作、学习、主动性 Leader面 + 基础知识不多 + 开发型问题 ...
分类:
其他好文 时间:
2019-06-24 22:34:38
阅读次数:
120
一、RabbitMQ解决分布式事务思路: 案例: 经典案例,以目前流行点外卖的案例,用户下单后,调用订单服务,让后订单服务调用派单系统通知送外卖人员送单,这时候订单系统与派单系统采用MQ异步通讯。 二、RabbitMQ解决分布式事务原理:采用最终一致性原理。 需要保证以下三要素 1、确认生产者一定要 ...
分类:
其他好文 时间:
2019-06-23 11:37:46
阅读次数:
137
"AT2164 AGC006C Rabbit Exercise" 数轴上有 $n$ 个点,每个点的坐标为 $a_i$ 。一轮操作包含 $m$ 次变换,第 $i$ 次将 $b_i(1 $n,\ m\leq10^5,\ k\leq10^{18},\ |a_i|\leq10^9$ 期望,差分,倍增 假设点 ...
分类:
其他好文 时间:
2019-06-22 10:55:05
阅读次数:
82
Live Migrate 操作详解 Migrate 操作会先将 instance 停掉,也就是所谓的“冷迁移”。而 Live Migrate 是“热迁移”,也叫“在线迁移”,instance不会停机。 Live Migrate 分两种: 1、源和目标节点没有共享存储,instance 在迁移的时候需 ...
分类:
其他好文 时间:
2019-06-19 17:13:05
阅读次数:
94
1.erlang版本和rabbitmq版本不匹配 版本匹配: http://www.rabbitmq.com/which-erlang.html 2.找到匹配的版本,卸载当前rabbitmq重新安装。 执行以下操作从计算机中完全卸载RabbitMQ和Erlang: (1)打开Windows控制面板, ...
从 AMQP 协议可以看出,Queue、Exchange 和 Binding 构成了 AMQP 协议的核心 Producer:消息生产者,即投递消息的程序。 Broker:消息队列服务器实体。 Exchange:消息交换机,它指定消息按什么规则,路由到哪个队列。 Binding:绑定,它的作用就是把 ...
分类:
其他好文 时间:
2019-06-16 00:23:36
阅读次数:
98
本文深入介绍Mysql Binlog的应用场景,以及如何与MQ、elasticsearch、redis等组件的保持数据最终一致。最后通过案例深入分析binlog中几乎所有event是如何产生的,作用是什么。 1 基于binlog的主从复制 Mysql 5.0以后,支持通过binary log(二进制 ...
分类:
数据库 时间:
2019-06-12 11:04:16
阅读次数:
166