Kaka与Zookeeper的爱恨情仇(——zookeeper过半选举机制)

本文深入探讨了Kafka在大数据实时项目中的应用,特别是其消息队列的优势,包括解耦、冗余和扩展性。接着详细介绍了Kafka的基础架构,包括Zookeeper的角色。Zookeeper作为分布式协调服务,提供高效的数据存储和选举机制,确保集群的稳定运行。文中还阐述了Zookeeper的选举原理,强调了过半选举的重要性。
摘要由CSDN通过智能技术生成

        关于我们在学习kafka中的一些问题及架构,我想在这里浅谈一下我个人的理解;

        之所以说这个kafka呢,主要还是最近做实时的项目中大量用到了kafka这个消息中间件,可以说kafka是我们大数据实时项目中一个代表性的一个主要起到缓存数据的一个消息中间件;说到消息,kafka里的消息队列就不得不提:

 一 、Kafka

        1.1消息队列(Message Queue)

        1.1.1 传统消息队列的应用场景

 

使用消息队列的好处

1)解耦:

  允许你独立的扩展或修改两边的处理过程,只要确保它们遵守同样的接口约束。

2)冗余:

消息队列把数据进行持久化直到它们已经被完全处理,通过这一方式规避了数据丢失风险。许多消息队列所采用的"插入-获取-删除"范式中,在把一个消息从队列中删除之前,需要你的处理系统明确的指出该消息已经被处理完毕,从而确保你的数据被安全的保存直到你使用完毕。

3)扩展性:

因为消息队列解耦了你的处理过程,所以增大消息入队和处理的频率是很容易的,只要另外增加处理过程即可。

4)灵活性 & 峰值处理能力:

在访问量剧增的情况下,应用仍然需要继续发挥作用,但是这样的突发流量并不常见。如果为以能处理这类峰值访问为标准来投入资源随时待命无疑是巨大的浪费。使用消息队列能够使关键组件顶住突发的访问压力,而不会因为突发的超负荷的请求而完全崩溃。

5)可恢复性:

系统的一部分组件失效时,不会影响到整个系统。消息队列降低了进程间的耦合度,所以即使一个处理消息的进程挂掉,加入队列中的消息仍然可以在系统恢复后被处理。

6)顺序保证:

在大多使用场景下,数据处理的顺序都很重要。大部分消息队列本来就是排序的,并且能保证数据会按照特定的顺序来处理。(Kafka保证一个Partition内的消息的有序性)

7)缓冲:

有助于控制和优化数据流经过系统的速度,解决生产消息和消费消息的处理速度不一致的情况。

8)异步通信:

很多时候,用户不想也不需要立即处理消息。消息队列提供了异步处理机制,允许用户把一个消息放入队列,但并不立即处理它。想向队列中放入多少消息就放多少,然后在需要的时候再去处理它们

1.1.2  消息队列的两种模式

1)点对点模式一对一,消费者主动拉取数据,消息收到后消息清除)

消息生产者生产消息发送到Queue中,然后消息消费者从Queue中取出并且消费消息。

消息被消费以后,queue中不再有存储,所以消息消费者不可能消费到已经被消费的消息。Queue支持存在多个消费者,但是对一个消息而言,只会有一个消费者可以消费。

2)发布/订阅模式一对多,消费者消费数据之后不会清除消息)

消息生产者(发布)将消息发布到topic中,同时有多个消息消费者(订阅)消费该消息。和点对点方式不同,发布到topic的消息会被所有订阅者消费。

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
Zookeeper 3.6.3是一个开源的分布式协调服务,它可以用于管理和协调分布式系统中的各种任务。在安装Zookeeper 3.6.3之前,需要进行一些准备工作。首先,创建Zookeeper的应用目录,并解压Zookeeper软件包到该目录中。接下来,需要配置环境变量,将Zookeeper的bin目录加入到PATH环境变量中。然后,需要进行Zookeeper的配置,包括设置Zookeeper的数据目录。 Zookeeper 3.6.3的官方文档可以在https://zookeeper.apache.org/doc/r3.6.3/zookeeperAdmin.html#sc_4lw找到,其中包含了详细的使用说明和管理指南。在启动Zookeeper进程之前,可以使用命令"jps"来查看是否已经有Zookeeper的进程在运行。 综上所述,安装和配置Zookeeper 3.6.3的步骤如下: 1. 创建Zookeeper的应用目录,并解压Zookeeper软件包到该目录中。 2. 配置环境变量,将Zookeeper的bin目录加入到PATH环境变量中。 3. 配置Zookeeper的数据目录。 4. 查看Zookeeper进程是否已经启动。 希望以上信息对您有所帮助!<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [ZooKeeper 3.6.3 安装与使用文档超详细图文步骤](https://blog.csdn.net/u011374856/article/details/119883304)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [第三篇--ZooKeeper 3.6.3](https://blog.csdn.net/Kaka_csdn14/article/details/131318265)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值