在上篇文章《消息系统概述》中对消息系统进行了介绍,本次将学习Kafka中的基本概念。首先我们回顾下在消息系统的使用场景中有三种角色分别是生产者、消息系统和消费者,其中生产者负责产生消息和发送消息到消息系统,而消息系统将为消费者提供消息用于处理,如下图。Kafka是基于发布/订阅模式的消息系统,如下图。生产者会将消息推送到Kafka中的某个Topic上。引入Topic的目的则是为了对消息进行分类,这
分类:
其他好文 时间:
2020-10-27 11:52:37
阅读次数:
24
1. 说明一下主要逻辑 当我们发送多个请求时使用的时同一个接口,并且这个接口支持多个参数获取多个条数据,而我们不想要每次请求一条数据就发送一条请求 而是在指定的时间段类发送一次请求,得到一些数据,然后把这些数据 返回到对应的发起请求的地方 2. 使用场景 比如像QQ聊天会有一个联系人列表,这个列表每 ...
分类:
编程语言 时间:
2020-10-24 11:53:23
阅读次数:
41
RPC和消息队列 1 消息队列 1 两个服务调用:restful(http协议),rpc(远程过程调用) 2 rpc:远程过程调用 -gRPC:谷歌出的,跨语言 3 不管用rpc或者restful来通信,涉及到同步,异步 4 消息队列解决的问题 -应用解耦 -流量消峰 -消息分发(发布订阅:观察者模 ...
分类:
其他好文 时间:
2020-10-22 22:15:29
阅读次数:
23
Canal是阿里巴巴旗下的一款开源项目,利用Java开发。主要用途是基于MySQL数据库增量日志解析,提供增量数据订阅和消费,目前主要支持MySQL。 ...
分类:
数据库 时间:
2020-10-20 16:24:09
阅读次数:
50
FastReport 2019.4中添加了订阅PreviewControl.OnPrint和PreviewControl.OnExport事件的功能,这些事件在按下相应按钮时直接调用,让我们看看以下示例。 ...
分类:
Web程序 时间:
2020-10-14 20:45:10
阅读次数:
45
1.1 列表的局限 前面我们说通过队列的 rpush 和 lpop 可以实现消息队列(队尾进队头出),但是消费者需要不停地调用 lpop 查看 List 中是否有等待处理的消息(比如写一个 while 循环)。 为了减少通信的消耗,可以 sleep()一段时间再消费,但是会有两个问题: 1、如果生产 ...
分类:
其他好文 时间:
2020-10-14 20:38:26
阅读次数:
21
new new用构造函数创建实例对象,为实例对象添加this属性和方法。 new在调用过程中实现了以下几个步骤: 创建一个新的对象 链接到原型,将该对象 obj 的原型链指向构造函数的原型 prototype 绑定this,让this变量指向这个新创建的对象 返回新对象 1 function cre ...
分类:
移动开发 时间:
2020-10-12 20:04:55
阅读次数:
32
看到英文MQTT 就觉得会是很复杂难懂的东西 其实不然, 相当的简单。 大白话来说MQTT 以及发布 和订阅的 关系 MQTT就是 一个广场 通讯的2边,其实就是2个人 2个人都能听话和说话 听 就是 订阅 说就是 发布 假设三个人来到广场 甲 乙 丙 三个人,站在同一个区域。 这时候甲 用嘴巴(发 ...
分类:
其他好文 时间:
2020-10-07 21:46:14
阅读次数:
111
Celery+RabbitMQ实现订阅发布模式使用RabbitMQ的扇形交换机(fanoutexchange)实现订阅发布模式消息(Message)由Client发送,RabbitMQ接收到消息之后通过交换机转发到对应的队列上面。Worker会从队列中获取未被读取的数据处理。RabbitMQ消息模式的核心理念是:生产者没有直接发送任何消费到队列。实际上,生产者都不知道这个消费是发送给哪个队列的。相
分类:
其他好文 时间:
2020-10-05 22:08:39
阅读次数:
27
Kafka是Apache下的一个子项目,是一个高性能跨语言分布式发布/订阅消息队列系统,吞吐速率非常快,可以作为Hadoop的日志收集。Kafka是一个完全的分布式系统,这一点依赖于Zookeeper的分布式实现。 本文为新手准备,从Kafka的一些术语概念方面去认识Kafka。 Broker Ka ...
分类:
其他好文 时间:
2020-09-18 17:19:41
阅读次数:
37