Cette page explique comment Managed Service pour Apache Kafka provisionne des courtiers pour votre cluster Kafka.
Présentation
Un cluster Kafka se compose d'un ou de plusieurs brokers. Les applications de production envoient des messages aux courtiers, et les applications de consommation se connectent aux courtiers pour lire les messages. Plusieurs consommateurs peuvent lire des messages en parallèle, généralement à l'aide d'un groupe de consommateurs. Chaque partition d'un sujet est attribuée à un courtier principal. Le leader est responsable de la réplication des données de partition qu'il reçoit sur d'autres courtiers.
Managed Service pour Apache Kafka crée automatiquement des courtiers pour vous. Bien que vous ne puissiez pas configurer directement le nombre de brokers, vous pouvez faire évoluer votre cluster pour en ajouter.
Provisionnement des agents
Lorsque vous créez un cluster Managed Service pour Apache Kafka, le service provisionne au moins un courtier dans chacune des trois zones. Le nombre de courtiers est calculé comme suit :
number of brokers = max(3, ceiling(vCPUs / 15))
Par exemple, un cluster avec 75 processeurs virtuels commence avec cinq courtiers.
Les courtiers sont répartis aussi équitablement que possible entre les zones, et tous les courtiers disposent du même nombre de vCPU, qui peut être une valeur fractionnaire. Chaque courtier dispose d'au moins un processeur virtuel.
Le service provisionne automatiquement la capacité de disque pour les courtiers. Vous pouvez éventuellement configurer la capacité de disque par nœud de broker lorsque vous créez le cluster, puis l'augmenter ultérieurement. Pour en savoir plus, consultez Configurer la taille du disque du courtier.
Faire évoluer le cluster
Lorsque vous augmentez la taille du cluster, des processeurs virtuels supplémentaires sont répartis entre les courtiers existants, dans la limite de 15 processeurs virtuels par courtier. Si la taille du cluster dépasse 15 vCPU par courtier, le service provisionne un nouveau courtier. Les courtiers sont répartis de manière égale entre les trois zones, avec une différence maximale de un.
Si vous réduisez la taille du cluster, les vCPU sont répartis entre les courtiers existants, jusqu'à un minimum d'un vCPU par courtier. Les courtiers ne sont jamais supprimés pendant la durée de vie d'un cluster. Une fois qu'un nouveau courtier est provisionné, il peut être réduit à un seul vCPU, mais n'est jamais supprimé.
Rééquilibrer les partitions de l'agent
La raison de la mise à l'échelle d'un cluster est souvent de réduire la charge sur les courtiers existants en réaffectant certaines partitions au nouveau courtier. Ce processus est appelé rééquilibrage. Le rééquilibrage peut être effectué automatiquement ou manuellement.
Rééquilibrage automatique : Le rééquilibrage automatique est un paramètre à l'échelle du cluster. Lorsqu'un nouvel agent est provisionné, si le rééquilibrage automatique est activé, le service rééquilibre automatiquement les partitions des agents existants. L'algorithme de rééquilibrage est basé sur le nombre de partitions et vise à conserver approximativement le même nombre de partitions par courtier. Il ne tient pas compte du trafic réel diffusé par chaque partition. Pour en savoir plus, consultez la section Configuration du rééquilibrage.
Rééquilibrage manuel : Vous pouvez rééquilibrer manuellement les partitions en modifiant leur attribution. Vous pouvez le faire parce que le rééquilibrage automatique est désactivé ou parce qu'une partition reçoit beaucoup plus de trafic que les autres (on parle alors de partition chaude). Pour en savoir plus, consultez Modifier l'attribution des partitions.
Étapes suivantes
- Afficher les brokers d'un cluster
- Configurer la taille du disque de l'agent
- Modifier l'attribution d'une partition
- Utiliser des quotas pour isoler les charges