Aplicação de patches em clusters do MSK Provisioned
Periodicamente, o Amazon MSK atualiza o software dos agentes de seu cluster. A manutenção inclui atualizações planejadas ou reparos não planejados. A manutenção planejada inclui atualizações do sistema operacional, de segurança e outras atualizações de software necessárias para manter a integridade, a segurança e o desempenho do seu cluster. Realizamos manutenções não planejadas para resolver a degradação repentina da infraestrutura. Realizamos manutenção em agentes Standard e Express, mas as experiências são diferentes.
Aplicação de patches em agentes Standard
As atualizações de agentes Standard não terão impacto nas gravações e leituras de aplicações se você seguir as práticas recomendadas.
O Amazon MSK usa atualizações contínuas de software para manter a alta disponibilidade dos clusters. Durante esse processo, os agentes são reiniciados um de cada vez e o Kafka transfere automaticamente a liderança para outro agente on-line. Os clientes Kafka têm mecanismos integrados para detectar automaticamente a mudança na liderança das partições e continuar gravando e lendo dados em um cluster do MSK. Siga Práticas recomendadas para clientes Apache Kafka para que seu cluster funcione sem problemas em todos os momentos, inclusive durante a aplicação de patches.
Depois que um agente fica offline, é normal ver erros transitórios de desconexão nos clientes. Você também observará por um breve período (até dois minutos, normalmente menos) alguns picos na latência de leitura e gravação de p99 (normalmente milissegundos altos, até aproximadamente dois segundos). Esses picos são esperados e são causados pela reconexão do cliente com um novo agente líder. Isso não afeta a produção ou o consumo e será resolvido após a reconexão. Para obter mais informações, consulte Agente offline e failover do cliente.
Você também observará um aumento na métrica UnderReplicatedPartitions, o que é esperado, pois as partições do agente que foi desligado não estão mais replicando dados. Isso não afeta as gravações e leituras das aplicações, pois as réplicas dessas partições hospedadas em outros agentes agora atendem às solicitações.
Após a atualização do software, quando o agente volta a ficar on-line, ele precisa “se atualizar” sobre as mensagens produzidas enquanto estava offline. Durante essa atualização, você também poderá observar um aumento no uso do throughput do volume e da CPU. Isso não deverá ter impacto nas gravações e leituras no cluster se você tiver recursos suficientes de CPU, memória, rede e volume nos agentes.
Aplicação de patches em agentes Express
Não há janelas de manutenção para agentes Express. O Amazon MSK atualiza automaticamente seu cluster de forma contínua e distribuída por tempo, o que significa que você pode esperar reinicializações ocasionais e únicas de agentes ao longo do mês. Isso garante que você não precise fazer planos ou acomodações em torno de janelas únicas de manutenção em todo o cluster. Como sempre, o tráfego permanecerá ininterrupto durante a reinicialização do agente, pois a liderança mudará para outros agentes que continuarão atendendo às solicitações.
Os agentes Express já estão com as configurações de melhores práticas e barreiras de proteção que tornam seu cluster resiliente às mudanças de carga que podem ocorrer durante a manutenção. O Amazon MSK define cotas de throughput em seus agentes Express para mitigar o impacto da sobrecarga do seu cluster, o que poderia causar problemas durante a reinicialização do agente. Essas melhorias eliminam a necessidade de notificações antecipadas, planejamento e janelas de manutenção quando você usa agentes Express.
Os agentes Express sempre replicam seus dados de três maneiras para que seus clientes façam o failover automaticamente durante as reinicializações. Você não precisa se preocupar com a indisponibilidade dos tópicos devido ao fator de replicação definido como 1 ou 2. E o catch up de um agente Express reiniciado é mais rápido do que em agentes Standard. A velocidade de aplicação de patches mais rápida nos agentes Express significa que haverá uma interrupção mínima no planejamento de qualquer atividade do ambiente de gerenciamento que você possa ter programado para seu cluster.
Como acontece com todas as aplicações Apache Kafka, ainda há um contrato cliente-servidor compartilhado para clientes que se conectam aos agentes Express. Ainda é fundamental configurar seus clientes para lidar com o failover na liderança entre agentes. Siga Práticas recomendadas para clientes Apache Kafka para que seu cluster funcione sem problemas em todos os momentos, inclusive durante a aplicação de patches. Depois que um agente reinicia, é normal ver erros de desconexão transitórios nos clientes. Isso não afetará sua produção e consumo, pois os agentes seguidores assumirão a liderança da partição. Seus clientes do Apache Kafka farão automaticamente o failover e começarão a enviar solicitações aos novos agentes líderes.