成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Kafka 4.0 發布,徹底移除 ZooKeeper!

開發 前端
Kafka 4.0 默認允許在 KRaft 模式下,大大簡化了集群的部署和管理,消除了集成 ZooKeeper 的復雜性。在 KRaft 模式下,一些配置、指標和功能發生了不小的變化,今天我們來看一下都有哪些改變。

大家好,我是君哥。

最近 Apache Kafka 4.0 版本發布,這是 Kafka 的一個重要里程碑。Kafka 移除 ZooKeeper 早在幾年前就開始準備,4.0 版本是第一個可以完全不使用 ZooKeeper 的版本。

Kafka 4.0 默認允許在 KRaft 模式下,大大簡化了集群的部署和管理,消除了集成 ZooKeeper 的復雜性。

在 KRaft 模式下,一些配置、指標和功能發生了不小的變化,今天我們來看一下都有哪些改變。

刪除了密碼編碼相關的配置

這些配置在 ZooKeeper 模式下使用,用來定義和備份密碼,這個密鑰用于加密加密敏感數據(如密碼)。需要指定加密的算法和密鑰生成方法(如 AES、RSA),并控制密鑰長度和加密強度。相關參數如下:

password.encoder.secret
password.encoder.old.secret
password.encoder.keyfactory.algorithm
password.encoder.cipher.algorithm
password.encoder.key.length
password.encoder.iterations

在 KRaft 模式下,Kafka 將敏感數據存儲在 records,這些敏感數據不需要加密。

移除下面配置

Removed control.plane.listener.name

Kafka 依賴 ZooKeeper 管理元數據,但是一些內部操作(比如 Broker Controller 和普通 Broker 之間通信)依然需要 Kafka 內部控制面板來協調。

在 KRaft 模式下,Kafka 消除了對 ZooKeeper 的依賴,控制面板功能完全集成到 Kafka 內部。處理角色明確分開:brokers 處理與數據相關的請求,而 broker controllers 管理跟元數據相關的請求。controllers 使用 Raft 協議進行內部通信,操作方式與 ZooKeeper 模型不同。使用以下參數來配置控制面板監聽器:

controller.listener.names
listeners
listener.security.protocol.map

刪除優雅停服相關配置

使用外部注冊中心,多數情況是需要配置優雅停服的。這些配置在 ZooKeeper 模式下用于定義主動停服的最大重試次數和重試回退時間。它可以降低意外 Controller 變更和數據不一致的風險。

controlled.shutdown.max.retries
controlled.shutdown.retry.backoff.ms

在 KRaft 模式下,Kafka 使用 Raft 協議來管理元數據。Broker 關閉過程跟基于仲裁模式的 ZooKeeper 模式不同。Raft 協議的 Controller 切換依賴自動領導者切換,元數據由 Controller 更新,關閉過程更加可靠和高效。

刪除了生成 Broker id 相關的配置

這些配置在 ZooKeeper 模式下用于自動生成 Broker id 并控制 Broker id 生成過程。

reserved.broker.max.id
broker.id.generation.enable

node id

Kafka在 KRaft 模式下使用 node id 來標識 server。

node.id

刪除了 Broker 協議版本相關的配置

inter.broker.protocol.version

這些配置在 ZooKeeper 模式下用于定義 Broker 之間的通信協議版本。在 KRaft 模式下,Kafka 使用 metadata.version 來控制集群的特征級別,并且可以使用 bin/Kafka-features.sh 腳本進行管理。

移除 ZooKeeper 相關的動態配置

advertised.listeners

在 KRaft 模式下,要修改這些配置,就需要重啟 Broker。

刪除了領導者不平衡配置

leader.imbalance.per.broker.percentage

這個配置只在 ZooKeeper 中使用。用于限制 ZooKeeper 中的選舉領導者的頻率。

移除 ZooKeeper 相關配置

zookeeper.connect
zookeeper.session.timeout.ms
zookeeper.connection.timeout.ms
zookeeper.set.acl
zookeeper.max.in.flight.requests
zookeeper.ssl.client.enable
zookeeper.clientCnxnSocket
zookeeper.ssl.keystore.location
zookeeper.ssl.keystore.password
zookeeper.ssl.keystore.type
zookeeper.ssl.truststore.location
zookeeper.ssl.truststore.password
zookeeper.ssl.truststore.type
zookeeper.ssl.protocol
zookeeper.ssl.enabled.protocols
zookeeper.ssl.cipher.suites
zookeeper.ssl.endpoint.identification.algorithm
zookeeper.ssl.crl.enable
zookeeper.ssl.ocsp.enable

刪除了 ZooKeeper 相關監控指標

下面參數監控網絡處理器平均空閑率:

ControlPlaneNetworkProcessorAvgIdlePercent

下面指標監控所有處理器上斷開的連接總數:

ControlPlaneExpiredConnectionsKilledCount

在 KRaft 模式下,Kafka 提供了網絡處理器連接過期指標。指標如下:

NetworkProcessorAvgIdlePercent
ExpiredConnectionsKilledCount

刪除了 ZooKeeper 獨有指標

kafka.controller:type=ControllerChannelManager,name=QueueSize
kafka.controller:type=ControllerChannelManager,name=RequestRateAndQueueTimeMs
kafka.controller:type=ControllerEventManager,name=EventQueueSize
kafka.controller:type=ControllerEventManager,name=EventQueueTimeMs
kafka.controller:type=ControllerStats,name=AutoLeaderBalanceRateAndTimeMs
kafka.controller:type=ControllerStats,name=ControlledShutdownRateAndTimeMs
kafka.controller:type=ControllerStats,name=ControllerChangeRateAndTimeMs
kafka.controller:type=ControllerStats,name=ControllerShutdownRateAndTimeMs
kafka.controller:type=ControllerStats,name=IdleRateAndTimeMs
kafka.controller:type=ControllerStats,name=IsrChangeRateAndTimeMs
kafka.controller:type=ControllerStats,name=LeaderAndIsrResponseReceivedRateAndTimeMs
kafka.controller:type=ControllerStats,name=LeaderElectionRateAndTimeMs
kafka.controller:type=ControllerStats,name=ListPartitionReassignmentRateAndTimeMs
kafka.controller:type=ControllerStats,name=LogDirChangeRateAndTimeMs
kafka.controller:type=ControllerStats,name=ManualLeaderBalanceRateAndTimeMs
kafka.controller:type=KafkaController,name=MigratingZkBrokerCount
kafka.controller:type=ControllerStats,name=PartitionReassignmentRateAndTimeMs
kafka.controller:type=ControllerStats,name=TopicChangeRateAndTimeMs
kafka.controller:type=ControllerStats,name=TopicDeletionRateAndTimeMs
kafka.controller:type=KafkaController,name=TopicsIneligibleToDeleteCount
kafka.controller:type=ControllerStats,name=TopicUncleanLeaderElectionEnableRateAndTimeMs
kafka.controller:type=ControllerStats,name=UncleanLeaderElectionEnableRateAndTimeMs
kafka.controller:type=ControllerStats,name=UncleanLeaderElectionsPerSec
kafka.controller:type=ControllerStats,name=UpdateFeaturesRateAndTimeMs
kafka.controller:type=ControllerStats,name=UpdateMetadataResponseReceivedRateAndTimeMs
kafka.controller:type=KafkaController,name=ActiveBrokerCount
kafka.controller:type=KafkaController,name=ActiveControllerCount
kafka.controller:type=KafkaController,name=ControllerState
kafka.controller:type=KafkaController,name=FencedBrokerCount
kafka.controller:type=KafkaController,name=GlobalPartitionCount
kafka.controller:type=KafkaController,name=GlobalTopicCount
kafka.controller:type=KafkaController,name=OfflinePartitionsCount
kafka.controller:type=KafkaController,name=PreferredReplicaImbalanceCount
kafka.controller:type=KafkaController,name=ReplicasIneligibleToDeleteCount
kafka.controller:type=KafkaController,name=ReplicasToDeleteCount
kafka.controller:type=KafkaController,name=TopicsToDeleteCount
kafka.controller:type=KafkaController,name=ZkMigrationState
kafka.server:type=DelayedOperationPurgatory,name=PurgatorySize,delayedOperation=ElectLeader
kafka.server:type=DelayedOperationPurgatory,name=PurgatorySize,delayedOperation=topic
kafka.server:type=DelayedOperationPurgatory,name=NumDelayedOperations,delayedOperation=ElectLeader
kafka.server:type=DelayedOperationPurgatory,name=NumDelayedOperations,delayedOperation=topic
kafka.server:type=SessionExpireListener,name=SessionState
kafka.server:type=SessionExpireListener,name=ZooKeeperAuthFailuresPerSec
kafka.server:type=SessionExpireListener,name=ZooKeeperDisconnectsPerSec
kafka.server:type=SessionExpireListener,name=ZooKeeperExpiresPerSec
kafka.server:type=SessionExpireListener,name=ZooKeeperReadOnlyConnectsPerSec
kafka.server:type=SessionExpireListener,name=ZooKeeperSaslAuthenticationsPerSec
kafka.server:type=SessionExpireListener,name=ZooKeeperSyncConnectsPerSec
kafka.server:type=ZooKeeperClientMetrics,name=ZooKeeperRequestLatencyMs

最后

移除了這么多配置,部署不用再考慮 ZooKeeper,架構上整潔了太多。

責任編輯:武曉燕 來源: 君哥聊技術
相關推薦

2021-04-28 18:28:44

KafkaZookeeper

2025-03-26 08:30:07

KafkaZooKeeper部署

2025-05-13 04:00:10

KafkaZooKeeper模式

2015-04-16 10:47:08

Linux計算機重啟時代

2021-04-30 08:29:16

KafkaZooKeeper分布式

2022-02-28 10:38:13

Kotlin插件Android

2012-11-14 09:31:13

CloudStackIaaSCitrix

2009-02-25 09:35:12

LinuxBASH 4.0OS X v10.4

2024-10-17 16:41:57

KafkaZooKeeper

2022-12-28 09:17:53

ApacheZookeeperProposals

2024-12-27 00:37:46

2010-01-26 09:46:16

2023-06-24 22:14:23

2020-10-20 18:40:15

微軟EdgeFlash Playe

2013-11-11 09:27:01

思科收購Insieme

2021-06-18 07:34:12

Kafka中間件微服務

2021-04-21 17:54:02

KafkaZookeeper場景

2018-07-05 10:55:25

數據庫MongoDB 4.0多文檔事務

2024-03-18 08:11:27

jQuery 4.0前端開發web開發

2011-03-30 16:52:43

RichFaces
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 天堂中文资源在线 | 亚洲国产精品激情在线观看 | 国产女人第一次做爰毛片 | 亚洲欧美综合精品久久成人 | 国产激情一区二区三区 | 操操操日日日 | 亚洲成人高清 | 国产成人精品久久久 | 日韩欧美国产精品一区二区三区 | 综合色站导航 | 伊人久久综合 | 超碰操| 一区二区在线 | 亚洲精品国产偷自在线观看 | 国产精品国产精品国产专区不卡 | 老司机午夜性大片 | 成人精品鲁一区一区二区 | 91成人影院| 精品国产乱码久久久久久影片 | 久综合 | 日韩三级免费网站 | 久久久精品网 | 狠狠色综合久久丁香婷婷 | 国产视频亚洲视频 | 欧美成人黄色小说 | 99成人免费视频 | 国产精品一区二区三区99 | 亚洲欧洲综合av | 国产成人精品久久二区二区91 | 亚洲成人精品在线 | av网站免费观看 | 国产片淫级awww | 国产一二三区免费视频 | 国产午夜精品视频 | 91视频一区| 亚洲精品大全 | 免费福利视频一区二区三区 | 午夜网| 一级毛片视频 | 干干干操操操 | 日本免费一区二区三区四区 |