Kafka目前已經通過QA環境的壓力測試,也在Staging環境服務超過兩個禮拜了,
我們預計下一個版本將上Production,而那是一個超高流量和concurrent users的環境,
預防可能會有Scale-out的需求,我先來練習一下。
Production 環境我目前使用三台VM建置一個kafka cluster,
我擔心上正式環境可能會撐不了龐大request,
所以先練習一下如何使用螞蟻雄兵/scale-out來撐起公司Production的log aggregation。
目前我LAB有三台broker如下
修改producer.properties和consumer.properties新增broker
bootstrap.servers=192.168.137.182:9092,192.168.137.182:9093,192.168.137.182:9094,192.168.137.182:9095
修改server.properties的brokerid、port、JMX port和log.dir
broker.id=3
port=9095
log.dirs=C:/kafka/kafka-logs3
JMX_PORT=10000
Start new kafka broker
可以看到我們新的broker已經加入現有的cluster,整個過程不用花我1分鐘
由於我們新增了一台broker,所以相關的topic都會有Brokers分佈率低於100%的情況,
下面我將使用kafka-manager來解決這情況
現在我們必須要重新分配topic上的partition
然後依序執行(如下圖)
大概3秒鐘就可以讓所有broker都上陣了(過程中,對producer幾乎沒影響,但consumer可能就需要重新啟動了)
整體操作下來,只有Easy可以形容 :)