

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 版本升級的最佳實務
<a name="version-upgrades-best-practices"></a>

為了確保在 Kafka 版本升級程序中執行的滾動更新期間用戶端連續性，請檢閱用戶端和 Apache Kafka 主題的組態，如下所示：
+ 將主題複寫係數 (RF) 設定為雙可用區域叢集`2`的最小值 ，將三可用區域叢集`3`的最小值設定為 。的 RF 值`2`可能會在修補期間導致離線分割區。
+ 將最小同步內複本 (minISR) 設定為小於複寫係數 (RF) 的最大值 1，即 `miniISR = (RF) - 1`。這可確保分割區複本集可以容忍一個複本離線或複寫不足。
+ 設定用戶端以使用多個代理程式連線字串。如果支援用戶端 I/O 的特定代理程式開始修補，則用戶端連線字串中有多個代理程式允許容錯移轉。如需如何取得具有多個代理程式的連線字串的詳細資訊，請參閱[取得 Amazon MSK 叢集的引導代理](https://docs.aws.amazon.com//msk/latest/developerguide/msk-get-bootstrap-brokers.html)程式。
+ 建議您將連線用戶端升級至建議的版本 或更新版本，以受益於新版本中可用的功能。用戶端升級不受 MSK 叢集 Kafka 版本的生命週期結束 (EOL) 日期限制，而且不需要在 EOL 日期之前完成。Apache Kafka 提供[雙向用戶端相容性政策](https://kafka.apache.org/protocol#protocol_compatibility)，可讓較舊的用戶端使用較新的叢集，反之亦然。
+ 使用 3.x.x 版的 Kafka 用戶端可能會隨附下列預設值： `acks=all` 和 `enable.idempotence=true`。 `acks=all` 與先前的預設值不同，`acks=1`並且透過確保所有同步內複本確認生產請求來提供額外的耐用性。同樣地， 的預設值先前`enable.idempotence`為 `false`。預設`enable.idempotence=true`變更為 可降低重複訊息的可能性。這些變更會被視為最佳實務設定，並可能導致正常效能參數內的少量額外延遲。
+ 建立新的 MSK 叢集時，請使用建議的 Kafka 版本。使用建議的 Kafka 版本可讓您受益於最新的 Kafka 和 MSK 功能。