奎克的藏经阁 · 原书印刷页

人工智能与大数据技术导论 · 第 85 页

PDF 物理页索引 101 · 第3章

书名
人工智能与大数据技术导论
作者
未记录
印刷页
85
PDF 物理页
101(从 0 开始)
章节
第3章
UUID
cd4f7678-cd9b-4971-bde0-e9ad46a6cc71
来源类型
original_book
页面 SHA-256
1548a1b17c051d34809dc2b4a6a0878fa772e1d503ec85280ae9c524c6dc3b4a
  1. 数据存储

Kafka消息系统通过仅进行数据追加的方式实现对磁盘数据的持久化保存,实现了对大数据的稳定存储,并有效地提高了系统的计算能力。通过采用Sendfile系统调用方式优化了网络传输,提高了系统的吞吐量。即使对于普通的硬件,Kafka消息系统也可以支持每秒数十万的消息处理能力。此外,在Kafka消息系统中,通过仅保存订阅者已经计算数据的偏量信息,一方面可以有效地节省数据的存储空间,另一方面也简化了系统的计算方式,方便系统的故障恢复。

3.消息传输

Kafka消息系统采用推送、拉取相结合的方式进行消息的传输。其中,当发布者需要传输消息时,会主动地推送该消息到相关的代理节点;当订阅者需要访问数据时,其会从代理节点进行拉取。通常情况下,订阅者可以从代理节点中拉取自己感兴趣的主题消息。

4.负载均衡

在Kafka消息系统中,发布者和代理节点之间没有负载均衡机制,但可以通过专用的第4层负载均衡器在Kafka代理上实现基于TCP连接的负载均衡的调整。订阅者和代理节点之间通过Zookeeper实现负载均衡机制,在Zookeeper中管理全部活动的订阅者和代理节点信息。当有订阅者和代理节点的状态发生变化时,才实时地进行系统的负载均衡的调整,保障整个系统处于一个良好的均衡状态。

  1. 存在不足

Kafka系统存在的不足之处主要包括:只支持部分容错,节点失效转移时会丢失原节点内存中的状态信息;代理节点没有副本机制保护,一旦代理节点出现故障,该代理节点中的数据

第3章 数据

85