Java Spring Boot + Kafka + Azure Event Hub for Kafka - Criando um Produtor e Consumidor de Eventos
HTML-код
- Опубликовано: 2 июл 2024
- Neste vídeo estou trazendo um exemplo de como desenvolver um Produtor e Consumidor de Eventos utilizando o Java Spring Boot.
Como message broker estaremos utilizando o Kafka (rodando em Docker) para um ambiente de desenvolvimento e, como sugestão para um ambiente de produção, estaremos utilizando o Azure Event Hub for Kafka.
Bibliotecas utilizadas
SpringDoc OpenAPI Starter WebMVC UI
mvnrepository.com/artifact/or...
Spring Cloud Starter Stream Kafka
mvnrepository.com/artifact/or...
Spring Cloud Azure Starter Integration Event Hubs
mvnrepository.com/artifact/co...
Repositório com o código completo:
github.com/programecomguedes/...
Configurações Kafka (local)
Produtor:
spring:
kafka:
bootstrap-servers: localhost:9092
producer:
key-serializer: org.apache.kafka.common.serialization.StringSerializer
value-serializer: org.springframework.kafka.support.serializer.JsonSerializer
Consumidor:
spring:
kafka:
bootstrap-servers: localhost:9092
consumer:
auto-offset-reset: earliest
key-deserializer: org.springframework.kafka.support.serializer.ErrorHandlingDeserializer
value-deserializer: org.springframework.kafka.support.serializer.ErrorHandlingDeserializer
properties:
spring.deserializer.key.delegate.class: org.apache.kafka.common.serialization.StringDeserializer
spring.deserializer.value.delegate.class: org.springframework.kafka.support.serializer.JsonDeserializer
Configurações Azure Event Hub for Kafka
Produtor:
spring:
kafka:
bootstrap-servers: ${KAFKA_BOOTSTRAP_SERVERS}
properties:
security:
protocol: SASL_SSL
sasl:
mechanism: PLAIN
sasl.jaas.config: org.apache.kafka.common.security.plain.PlainLoginModule required username="\$\ConnectionString" password="{EVENT_HUB_CONNECTION_STRING}";
producer:
key-serializer: org.apache.kafka.common.serialization.StringSerializer
value-serializer: org.springframework.kafka.support.serializer.JsonSerializer
Consumidor:
spring:
kafka:
bootstrap-servers: ${KAFKA_BOOTSTRAP_SERVERS}
properties:
security:
protocol: SASL_SSL
sasl:
mechanism: PLAIN
sasl.jaas.config: org.apache.kafka.common.security.plain.PlainLoginModule required username="\$\ConnectionString" password="{EVENT_HUB_CONNECTION_STRING}";
consumer:
auto-offset-reset: earliest
key-deserializer: org.springframework.kafka.support.serializer.ErrorHandlingDeserializer
value-deserializer: org.springframework.kafka.support.serializer.ErrorHandlingDeserializer
properties:
spring.deserializer.key.delegate.class: org.apache.kafka.common.serialization.StringDeserializer
spring.deserializer.value.delegate.class: org.springframework.kafka.support.serializer.JsonDeserializer
#java #springboot #kafka #azureeventhub #produtor #consumidor #eventdriven #producer #consumer
Sempre um conteúdo de ótima qualidade! 👏👏👏
Excelente! 💻💡