Kafka é um padrão comum para arquiteturas orientadas a eventos, mas adaptá-lo a ambientes legados introduz uma incompatibilidade de impedância. Em alguns casos, tivemos sucesso em minimizar a complexidade do legado usando Confluent Kafka REST Proxy. O proxy permite que as pessoas desenvolvedoras acessem Kafka por meio de uma interface HTTP, o que é útil em ambientes que dificultam o uso do protocolo nativo Kafka. Por exemplo, fomos capazes de consumir eventos emitidos com SAP simplesmente fazendo a equipe SAP invocar um comando HTTP POST por meio de uma chamada de função remota SAP pré-configurada, evitando a necessidade de executar o spin up de uma abstração Java em SAP (e de uma equipe para gerenciá-la). O proxy tem muitos recursos, embora, como acontece com qualquer ferramenta de adaptação, recomendamos cautela e uma visão clara das compensações envolvidas. Acreditamos que o proxy seja valioso quando permite que produtores legados enviem eventos, mas é preciso ter mais cuidado ao criar consumidores de eventos por meio do proxy conforme a abstração fica mais complexa. O proxy não muda o fato de que os consumidores Kafka têm estado, o que significa que as instâncias do consumidor criadas por meio da API REST estão vinculadas a um proxy específico, e a necessidade de fazer uma chamada HTTP para consumir mensagens de um tópico muda a semântica padrão de eventos Kafka.