Lançada versão estável do Apache Kafka 2.5, novos recursos primeiro olhar

Lançada versão estável do Apache Kafka 2.5, novos recursos primeiro olhar

Big data de memória anterior Big data de memória anterior A
versão estável do Apache Kafka 2.5.0 foi lançada oficialmente em 15 de abril de 2020, hora local dos Estados Unidos. Esta versão inclui uma série de lançamentos de recursos importantes. Os recursos mais importantes incluem:

• Suporta TLS 1.3 (atualmente 1.2 é usado por padrão)
• Kafka Streams DSL suporta Co-grupos;
• Kafka Consumer suporta reequilíbrio incremental (reequilíbrio incremental)
• A fim de entender melhor a operação dos operadores, novos indicadores foram introduzidos;
• Apache Zookeeper atualizado para 3.5.7
• Scala 2.11 não é mais compatível
• KIP-500 fez um novo progresso.
Se você precisar baixar a versão mais recente do Apache Kafka 2.5.0, pode baixá-la aqui. Devido ao tempo e ao espaço, o artigo a seguir lista os recursos e desenvolvimentos mais importantes desta vez.

Atualização do corretor, produtor e consumidor Kafka

KIP-500 fez novos progressos

Os usuários que usaram o Kafka devem estar cientes de que as informações relacionadas ao Broker, ao tópico e à partição do Kafka são armazenadas no Apache Zookeeper. O Apache Zookeeper é um sistema independente com seu próprio armazenamento independente. Para o melhor funcionamento dos clusters Kafka, desenvolvimento Os leitores devem estar familiarizados com os sistemas Kafka e Zookeeper, o que aumenta nosso fardo até certo ponto. A fim de reduzir a carga sobre os usuários, o KIP-500 propõe mover todas as coisas anteriormente armazenadas no Zookeeper para a manutenção interna do cluster Kafka, o que significa que o Kafka pode ser executado sem depender do Zookeeper no futuro.

A versão do Apache Kafka 2.5.0 fez um novo progresso neste trabalho. Por exemplo, o KIP-555 não precisa mais solicitar o Zookeeper na ferramenta do administrador e o KIP-543 não precisa mais solicitar o Zookeeper para configuração dinâmica.

KIP-500 é um grande recurso e sua solução final precisa ser refletida nas próximas versões.

Melhorou exatamente uma vez semântica

KIP-447: A escalabilidade do produtor oferece suporte apenas e uma vez à semântica

Este KIP simplifica a API de aplicativos que leem e gravam no Kafka de maneira transacional. Anteriormente, esse caso de uso geralmente exigia uma instância de produtor separada para cada partição de entrada.Agora, essa restrição foi removida. Isso torna mais fácil construir um aplicativo semântico único que consome um grande número de partições. Para obter detalhes, consulte KIP-447.

KIP-360: Melhore a confiabilidade de produtores idempotentes / transacionais

Este KIP resolve o problema de manter o estado do produtor na corretora, possibilitando garantias de idempotência. Antes disso, quando o log era truncado para forçar a retenção ou truncado da chamada para excluir o registro, o corretor excluía o estado do produtor, o que causaria uma exceção UnknownProducerId. Com essa melhoria, o corretor manterá o status de produtor até que ele expire. Este KIP também fornece um método poderoso para os produtores se recuperarem de erros acidentais.

Streams Kafka

KIP-150: Adicionar Cogrupo ao DSL

No passado, agregar vários fluxos em um único fluxo pode ser complicado e sujeito a erros. Normalmente, precisamos agrupar e agregar todos os fluxos em uma tabela e, em seguida, fazer várias chamadas de junção externa. O novo operador de co-grupo simplifica esse processo, reduz o número de chamadas de armazenamento de estado e melhora o desempenho geral. O uso específico é o seguinte:


KTable<K, CG> cogrouped =
  grouped1
    .cogroup(aggregator1)
    .cogroup(grouped2, aggregator2)
    .cogroup(grouped3, aggregator3)
    .aggregate(initializer1, materialized1);

KIP-523: Adicionar toTable () ao DSL

Interpretar o fluxo de eventos como um log de alterações e materializá-lo em uma tabela é um método poderoso. KIP-523 apresenta a função toTable (), que pode ser aplicada ao fluxo e pode materializar o valor mais recente de cada chave. Deve-se observar que qualquer valor nulo (nulo) será interpretado como uma exclusão da chave fornecida.

KIP-535: Permitir que o armazenamento de estado forneça dados desatualizados durante o rebalanceamento

Anteriormente, as consultas interativas (IQ) para o armazenamento de estado falhavam durante o rebalanceamento. Isso reduz o tempo de atividade de aplicativos que contam com a capacidade de consultar a tabela de estado do Kafka Streams. O KIP-535 permite que os aplicativos consultem qualquer cópia do armazenamento de estado e sejam capazes de observar o quão longe cada cópia está em relação à cópia mestre.

Suspensão de suporte e suspensão de uso

Removemos o suporte para Scala 2.11 no Apache Kafka 2.5 e agora Scala 2.12 e 2.13 são as únicas versões com suporte.

TLS 1.2 agora é o protocolo SSL padrão, mas TLS 1.0 e 1.1 ainda são suportados.

参考 : Novidades no Apache Kafka 2.5 :https://www.confluent.io/blog/apache-kafka-2-5-latest-version-updates/

Acho que você gosta

Origin blog.51cto.com/15127589/2677272
Recomendado
Clasificación