路由模式下,生产者发送消息时需要指定一个路由键(routingKey),交换机只会把消息转发给包含该路由键的队列 这里,我们改变一下声明交换机的方式. 我们通过管理后台添加一个交换机. 添加后,生产者和消费者的代码中就不需要再声明交换机了.同样,也可以通过管理后台添加队列,那么代码中也不需要声明队列 ...
分类:
其他好文 时间:
2019-02-06 11:55:33
阅读次数:
141
实现生产者与消费者模式 目录 生产者与消费者模式 什么是生产者消费者模式 生产者消费者模式是通过一个容器来解决生产者和消费者的强耦合问题。生产者和消费者彼此之间不直接通讯,而通过阻塞队列来进行通讯,所以生产者生产完数据之后不用等待消费者处理,直接扔给阻塞队列,消费者不找生产者要数据,而是直接从阻塞队 ...
分类:
其他好文 时间:
2019-01-28 18:21:15
阅读次数:
125
1. Kafka简介 Kafka是最初由Linkedin公司开发,是一个分布式、支持分区的(partition)、多副本的(replica),基于zookeeper协调的分布式消息系统,它的最大的特性就是可以实时的处理大量数据以满足各种需求场景:比如基于hadoop的批处理系统、低延迟的实时系统、s ...
分类:
其他好文 时间:
2019-01-27 10:44:42
阅读次数:
253
生成消费者模型:通过一个容器来解决生产者和消费者的强耦合问题 ...
分类:
编程语言 时间:
2019-01-26 23:46:43
阅读次数:
223
生产者消费者模型 具体来讲,就是在一个系统中,存在生产者和消费者两种角色,他们通过内存缓冲区进行通信,生产者生产消费者需要的资料,消费者把资料做成产品。生产消费者模式如下图。(图片来自网络,侵删!) 生产者消费者模型的实现 生产者是一堆线程,消费者是另一堆线程,内存缓冲区可以使用List数组队列,数 ...
分类:
编程语言 时间:
2019-01-17 20:13:45
阅读次数:
173
线程理论 多线程也是用于提高程序的效率 1,多进程 核心是多道技术 本质上就是切换加保存状态 当程序IO操作较多 可以提高程序效率 2,多线程什么是线程 程序的执行线路 相当于与一条流水线,其包含了程序的具体执行步骤 如果我们把操作系统比喻为一个工厂,进程就是车间,先出就是流水线 3,线程和进程的关 ...
分类:
编程语言 时间:
2019-01-02 19:15:51
阅读次数:
175
守护进程:一个进程B守护另一个进程A,当被守护的进程A结束,进程B也就结束了。(不一定同生,但会同死) 两个特点: ①守护进程会在主进程代码执行结束后就终止 ②守护进程内无法再开启子进程,否则抛出异常。 注意:进程之间是互相独立的,主进程代码运行结束,守护进程随即终止 应用场景:如果主进程认为一旦自 ...
分类:
系统相关 时间:
2018-12-29 23:20:15
阅读次数:
282
黑板模式的意图 黑板模式是观察者模式的一个扩展,知名度并不高,但使用的范围却非常广. 其意图为: 允许消息的读写同时进行, 广泛的交互消息. 简单的说, 黑板模式允许多个消息读写者同时存在, 消息的生产者和消费者完全分开. 这就像一个黑板, 任何一个老师(消息的生产者)都可以在上面书写消息, 任何一 ...
分类:
其他好文 时间:
2018-12-29 23:12:57
阅读次数:
200
一、简介 Java提供了FIFO先进先出的阻塞队列实现,这其实是一种生产者消费者理念,可以通过阻塞队列将生产者和消费者进行解耦合。 LinkedBlockQueue是一种无界队列,但事实上它只是队列可容纳的最大值很大。通常,我们为了防止特殊情况,都会给队列设置一个边界。 JDK文档:http://t ...
分类:
数据库 时间:
2018-12-23 20:49:35
阅读次数:
333
1 生产者消费者模式概述 生产者消费者模式就是通过一个容器来解决生产者和消费者的强耦合问题。生产者和消费者彼此之间不直接通讯,而通过阻塞队列来进行通讯,所以生产者生产完数据之后不用等待消费者处理, 直接扔给阻塞队列,消费者不找生产者要数据,而是直接从阻塞队列里取,阻塞队列就相当于一个缓冲区,平衡了生 ...
分类:
编程语言 时间:
2018-12-22 23:27:06
阅读次数:
286