什么是消息中间件 发布订阅 点对点 消息中间件本身是异步的通讯 案例:使用redis实现发布订阅功能 Redis发布订阅 Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息。 Redis 客户端可以订阅任意数量的频道。 下图展示了频道 cha ...
分类:
其他好文 时间:
2018-11-01 13:37:45
阅读次数:
175
一、Delegate委托可以理解为一个方法签名。 可以将方法作为另外一个方法的参数带入其中进行运算。在C#中我们有三种方式去创建委托,分别如下: 二、Event事件,是一种封装过的委托。 它拥有以下三要素: 1.事件发行者-达到某些条件时激发事件的对象 2.事件订阅者-订阅事件并对事件发生时进行处理 ...
Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息。 Redis 客户端可以订阅任意数量的频道。 下图展示了频道 channel1 , 以及订阅这个频道的三个客户端 —— client2 、 client5 和 client1 之间的关系: ...
分类:
其他好文 时间:
2018-10-23 14:38:32
阅读次数:
191
一只神秘的程序猿。 一只神秘的程序猿。 Kafka的基本介绍 Kafka是最初由Linkedin公司开发,是一个分布式、分区的、多副本的、多订阅者,基于zookeeper协调的分布式日志系统(也可以当做MQ系统),常见可以用于web/nginx日志、访问日志,消息服务等等,Linkedin于2010 ...
分类:
其他好文 时间:
2018-10-19 16:47:02
阅读次数:
169
一.Kafka简介 Kafka是分布式发布-订阅消息系统。它最初由LinkedIn公司开发,使用Scala语言编写,之后成为Apache项目的一部分。Kafka是一个分布式的,可划分的,多订阅者,冗余备份的持久性的日志服务。它主要用于处理活跃的流式数据(实时性的计算)。 在大数据系统中,常常会碰到一 ...
分类:
其他好文 时间:
2018-10-18 00:47:23
阅读次数:
159
1、发布 订阅者 设计模式 定义 定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都将得到通知 观察者模式和发布订阅模式区别 观察者模式是由具体目标(发布者/被观察者)调度的,而发布/订阅模式是由独立的调度中心进行调度,所以观察者模式的订阅者与发布者之间是存在依赖的, ...
分类:
其他好文 时间:
2018-10-13 19:55:50
阅读次数:
201
MQTT发布消息QoS保证不是端到端的,是客户端与服务器之间的。订阅者收到MQTT消息的QoS级别,最终取决于发布消息的QoS和主题订阅的QoS。 客户端连接: 客户端完成TCP三次握手之后,还需要发起CONNECT命令 注意:如果客户端三次握手之后,不发起MQTT的CONNECT命令,30s之后会 ...
分类:
其他好文 时间:
2018-10-13 12:56:49
阅读次数:
243
观察者模式定义:定义了对象之间一对多的依赖,这样一来,当一个对象状态发生变化时,它所有的依赖者都会收到通知并自动更新。 个人理解:主题发生变化时,把变化情况及时通知到订阅了主题的各个观察者(订阅者) 观察者模式设计方式让主题 与 观察者 之间实现了松耦合,能够适应变化。 观察者模式定义了对象之间一对 ...
分类:
其他好文 时间:
2018-10-06 22:35:39
阅读次数:
196
初识ReactiveStreamReactiveStream(响应式流/反应流)是JDK9引入的一套标准,是一套基于发布/订阅模式的数据处理规范。响应式流从2013年开始,作为提供非阻塞背压的异步流处理标准的倡议。它旨在解决处理元素流的问题——如何将元素流从发布者传递到订阅者,而不需要发布者阻塞,或订阅者有无限制的缓冲区或丢弃。更确切地说,Reactive流目的是“找到最小的一组接口,方法和协议,
分类:
其他好文 时间:
2018-10-04 14:57:43
阅读次数:
189
broker的主要职责是接受发布者发布的所有消息,并将其过滤后分发给不同的消息订阅者。如今有很多的broker,下面就是一张关于各种broker对比的图片: 在使用mosquitto时,如果想使用集群的话,需要进行二次开发。目前只支持桥接。并且他在遍历时的效率非常低,使得他无法支持大量的客户端或者操 ...
分类:
其他好文 时间:
2018-10-04 11:19:24
阅读次数:
186