MSK支持水平扩容(增加broker节点数量)和垂直扩容(调大实例类型)。本节将介绍水平扩容
当集群的producer、consumer数量增加时,要对集群进行扩容。方式是增加broker节点数量
在添加完broker后,需要集群进行rebalance,将partition和replica迁到新broker上,否则这些新添加的broker上没有工作负载
例如,下面的图中有三个broker,其中某个topic有10个partition,分布在3个broker上:
在每个az各添加一个broker后,partition并没有重新分布,新添加的broker上没有partition:
对partition进行reassignment后,会将原来的partition一部分转移到新的broker上:
注意的点:
在扩容之前,我们先创建一个topic,有10个partition,3个replica:
# 获取kafka broker地址
export KAFKA=$(aws kafka get-bootstrap-brokers --cluster-arn <cluster-arn-here> --query BootstrapBrokerString --output text)
kafka-topics --bootstrap-server $KAFKA --create --replication-factor 3 --partitions 10 --topic topic10 # 创建topic
集群水平扩容有两种方式:通过控制台操作或cli,任选一种即可。本节只介绍通过控制台页面操作。
在MSK集群的Brokers页面上,有Edit number of brokers
选项:
原有集群有3个broker节点,我们将其扩为6个(每个az两个):
当点击确定后,集群的状态变为Updating
,等大概十分钟后,扩容完成。
扩容完成后会有提示