一、基础知识 点对点模式:消息返送者发送消息,消息代理将其放入一个队列中,消息接收者从队列中获取消息内容,消息读取后就被移除队列;消息只有唯一的发送者和接受者,但比不是只能有一个接收者。 发布订阅模式: 二、简单使用 三、补充知识 四、最终建立自己的基于RabbitMQ的websocket集群 ...
分类:
其他好文 时间:
2019-05-27 23:39:44
阅读次数:
216
日常开发中,常常会在程序部署到生产环境后发现有些问题,但无法直接调试,这就需要用到日志,本来想找一些开源的完善的日志类来实现,但试了几个都感觉太重。于是意识到一个问题,懒是偷不得的,只好撸起袖子,自己写一个。这个日志类是基于订阅模式的,而且是线程安全的,现在分享给大家,希望能给大家带来帮助。 闲话不 ...
分类:
其他好文 时间:
2019-05-27 23:24:29
阅读次数:
122
1、初步认识 观察者模式的定义: 在对象之间定义了一对多的依赖,这样一来,当一个对象改变状态,依赖它的对象会收到通知并自动更新。 大白话: 其实就是发布订阅模式,发布者发布信息,订阅者获取信息,订阅了就能收到信息,没订阅就收不到信息。 2、这个模式的结构图 3、可以看到,该模式包含四个角色 抽象被观 ...
分类:
编程语言 时间:
2019-05-26 21:17:02
阅读次数:
178
观察者模式——发布/订阅模式(publish/subscribe):定义了一种一对多的依赖关系,让多个观察者对象同时监听某一主题对象。这个主题对象在状态发生变化时,会通知所有观察者对象,使它们能够自动更新自己。 特点: 当一个对象的改变需要同时改变其他对象时。而且它不知道具体有多少对象有待改变时,应 ...
分类:
其他好文 时间:
2019-05-22 22:16:26
阅读次数:
132
原文:RabbitMQ指南之三:发布/订阅模式(Publish/Subscribe) 在上一章中,我们创建了一个工作队列,工作队列模式的设想是每一条消息只会被转发给一个消费者。本章将会讲解完全不一样的场景: 我们会把一个消息转发给多个消费者,这种模式称之为发布-订阅模式。 为了阐述这个模式,我们将会... ...
分类:
其他好文 时间:
2019-05-04 16:18:37
阅读次数:
194
在上一章中,我们创建了一个工作队列,工作队列模式的设想是每一条消息只会被转发给一个消费者。本章将会讲解完全不一样的场景: 我们会把一个消息转发给多个消费者,这种模式称之为发布-订阅模式。 为了阐述这个模式,我们将会搭建一个简单的日志系统,它包含两种程序:一种发送日志消息,另一种接收并打印日志消息。在 ...
分类:
其他好文 时间:
2019-05-01 18:31:17
阅读次数:
161
我曾经在面试中被问道,_“观察者模式和发布订阅模式的有什么区别?” _我迅速回忆起“Head First设计模式”那本书: 发布 + 订阅 = 观察者模式 “我知道了,我知道了,别想骗我” 我微笑着回答:“没有区别,它们是一样的。” 但是面试官笑了,“不,它们不一样。” 我当时的表情: 所以是我错了 ...
分类:
其他好文 时间:
2019-04-29 09:30:55
阅读次数:
149
最近在学习dubbo,学到dubbo自然要接触注册中心zookeeper,zookeeper里涉及发布和订阅问题。 观察者模式之JAVA实现:JAVA设计模式之观察者模式 发布订阅模式之JAVA实现:发布者订阅者模式之JAVA实现 观察者模式(Observer)和发布(Publish/订阅模式(Su ...
分类:
其他好文 时间:
2019-04-24 00:22:59
阅读次数:
218
概念 发布 订阅模式又叫观察者模式,它定义了对象间的一种一对多(一个发布,多个观察)的关系,让多个观察者对象同时监听某一个主题对象,当一个对象发生改变时,所有依赖于它的对象都将得到通知。 优点 1、支持简单的广播通信,当对象状态发生改变时,会自动通知已经订阅过的对象。 2、发布者与订阅者耦合性降低 ...
分类:
Web程序 时间:
2019-04-23 14:20:07
阅读次数:
188
定义对象间的一对多依赖关系,当一个对象的状态变更会自动通知和更新所有依赖项。像发布/订阅模式,事件通知模式,数据源/监听模式等都是性质一样。
分类:
编程语言 时间:
2019-04-08 15:20:01
阅读次数:
174