networknt / light-eventuate-4j

An eventual consistency framework based on Event Sourcing and CQRS on top of light-4j and Kafka

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

abstract producer and consumer interface to support other message brokers

stevehu opened this issue · comments

solace and rabbitmq first.

consumer side interface:

public interface AggregateEvents {
CompletableFuture subscribe(String subscriberId, Map> aggregatesAndEvents, SubscriberOptions subscriberOptions, Function> handler);
}

One producer, framework suggest to use cdc, so the user service will process database insert/update/delete only.

We can create a abstract interface for producer for special case.

Added an interface for a produce event to message broker.
Normally, user recommend to use framework provided cdc service to event produce.
But in case user want handle event produce by themselves, implement interface to produce event to message broker

My idea is to abstract this producer and consumer to interface and use service.yml to wire in specific implementations. Once you completed something, we can have a discussion on it. It is not necessary to be completed to start a conversation.