到目前为止,我们讨论了 Kafka 的核心概念。 让我们现在来看一下 Kafka 的工作流程。
Kafka 只是分为一个或多个分区的主题的集合。Kafka 分区是消息的线性有序序列,其中每个消息由它们的索引(称为偏移)来标识。Kafka 集群中的所有数据都是不相连的分区联合。 传入消息写在分区的末尾,消息由消费者顺序读取。 通过将消息复制到不同的代理提供持久性。
Kafka 以快速,可靠,持久,容错和零停机的方式提供基于pub-sub 和队列的消息系统。 在这两种情况下,生产者只需将消息发送到主题,消费者可以根据自己的需要选择任何一种类型的消息传递系统。 让我们按照下一节中的步骤来了解消费者如何选择他们选择的消息系统。
以下是 Pub-Sub 消息的逐步工作流程 -
在队列消息传递系统而不是单个消费者中,具有相同组 ID 的一组消费者将订阅主题。 简单来说,订阅具有相同 Group ID 的主题的消费者被认为是单个组,并且消息在它们之间共享。 让我们检查这个系统的实际工作流程。
Apache Kafka 的一个关键依赖是 Apache Zookeeper,它是一个分布式配置和同步服务。Zookeeper 是 Kafka 代理和消费者之间的协调接口。Kafka 服务器通过 Zookeeper 集群共享信息。Kafka 在 Zookeeper 中存储基本元数据,例如关于主题,代理,消费者偏移(队列读取器)等的信息。
由于所有关键信息存储在 Zookeeper 中,并且它通常在其整体上复制此数据,因此Kafka代理/ Zookeeper 的故障不会影响 Kafka 集群的状态。Kafka 将恢复状态,一旦 Zookeeper 重新启动。 这为Kafka带来了零停机时间。Kafka 代理之间的领导者选举也通过使用 Zookeeper 在领导者失败的情况下完成。
GROUP 运算符用于在一个或多个关系中对数据进行分组,它收集具有相同key的数据。语法下面给出了 group 运算符的语法。grunt Grou...
HDFS - 命令工具fsck: 检查文件的完整性start-balancer.sh: 重新平衡HDFShdfs dfs -copyFromLocal 从本地磁盘复制文件到HDFS...
用户注册/签约(可选)微信后台向业主方发起用户注册。1、请求参数参数名称类型必选备注appidstringY小程序appidmch_idstringY支...
auto-fill接入微信城市服务,业务方可以使用小程序auto-fill组件功能,获取用户首次填写过的表单的信息。需接入auto-fill组件,...
基本运算符示例代码:var a = 10, b = 20;// 加法运算console.log(30 === a + b);// 减法运算console.log(-10 === a - b);// 乘...
movable-area基础库 1.2.0 开始支持,低版本需做兼容处理movable-view 的可移动区域注意:movable-area 必须设置width和height属...
live-player基础库 1.7.0 开始支持,低版本需做兼容处理。实时音视频播放(v2.9.1 起支持同层渲染)。暂只针对国内主体如下类目...
ad-custom基础库 2.10.4 开始支持,低版本需做兼容处理。原生模板 广告。属性类型默认值必填说明最低版本unit-idstring是广告单...
UDPSocketwx.createUDPSocket()基础库 2.7.0 开始支持,低版本需做兼容处理。创建一个 UDP Socket 实例。使用前请注意阅读相关说...