Kafka es una herramienta comúnmente usada en arquitecturas controladas por eventos, pero adaptarlo a entornos heredados introduce un error de impedancia. En algunos casos, hemos tenido éxito al minimizar la complejidad heredada usando Kafka REST Proxy de Confluent. Este proxy permite a los desarrolladores acceder a Kafka a través de una interfaz HTTP, que es útil en entornos que dificultan el uso del protocolo nativo de Kafka. Por ejemplo, pudimos consumir eventos emitidos a través de SAP simplemente haciendo que el equipo de SAP invocara un comando HTTP POST a través de una llamada de función remota de SAP preconfigurada, evitando la necesidad de poner en marcha una abstracción de Java alrededor de SAP (y un equipo para administrarla). El proxy tiene muchas funciones aunque, al igual que con cualquier herramienta adaptadora de este tipo, recomendamos precaución y una visión clara de los problemas involucrados. Creemos que el proxy es valioso cuando permite que los productores heredados envíen eventos, pero deberíamos ser cautelosos al crear consumidores de eventos a través del proxy a medida que la abstracción se vuelve más compleja. El proxy no cambia el hecho de que los consumidores de Kafka tienen estado, lo que significa que las instancias de consumidor creadas a través de la API REST están vinculadas a un proxy específico, y la necesidad de realizar una llamada HTTP para consumir mensajes de un flujo cambia la semántica estándar de evento de Kafka.