Restricting messages based on preferences

I came across 2 approaches to prevent messages from reaching a consumer group. The user sets up some preferences of how notifications should be delivered. Since we want to use a JDBC source connector I think a JOIN in the source every time to prevent these notification messages from reaching the topic may not be good.

So I want to enrich or remove the messages by using KSqlDB( or a Spring Boot Streams service ). But these enriched( a flag indicating that the message need not be delivered ) messages should go back to the same topic.

Can KSqlDB do this like an interceptor ? Should I introduce a Spring Boot Streams service ?


Why should the enriched messages go back to the same topic? Typically these go to an <whatever>_enriched topic, and consumer reads from that.

I’ve found this to be a good pattern in ksqlDB:
original_thing_topic → thing_input_stream → thing_output_stream (CSAS that applies filtering/enrichment)-> thing_output_topic. Consumer always uses “output” topic. You can insert additional filtering/enrichments between input/output.

This topic was automatically closed after 30 days. New replies are no longer allowed.