Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Provide interface or abstract implementation for other message Broker #5

Open
GavinChenYan opened this issue Jan 18, 2018 · 6 comments

Comments

@GavinChenYan
Copy link
Contributor

Currently light-tram-4j use Kafka as message Broker for event/message store. System should Provide interface or abstract implementation for other type of message Broker
for example: MQ, Chronicle Queue subsystem, Solace...

@archenroot
Copy link

Hi guys, any progress on this? I am looking to use MQ for broker and MongoDB for event store, are there any abstract interfaces available to implement custom components?
thx.

@archenroot
Copy link

archenroot commented Apr 27, 2018

Regarding the MongoDB CDC compnent I have found following promising project:
(fixed link) - https://github.com/debezium/debezium

which is able to tail db log for not only mysql and postgres, but has capability to tail mongodb OPLOG, so good candidate for it.

@stevehu
Copy link
Contributor

stevehu commented Apr 27, 2018

@archenroot We have used that library before but removed it to use mysql binlog directly as the library is not stable and lack of activity in the GitHub repo. What we are planning is the create an abstract layer for the database and message broker so that users can plug in whatever they are using. It is already on the roadmap but hasn't started yet.

@GavinChenYan
Copy link
Contributor Author

We have some interfaces you can implement:

  1. To producer message to DB (MongoDB):

/tram-message/src/main/java/com/networknt/tram/message/producer/MessageProducer.java

  1. Build CDC from MongoDB to MQ

  2. Then for message consumer:

/tram-message/src/main/java/com/networknt/tram/message/consumer/MessageConsumer.java

@archenroot
Copy link

archenroot commented Apr 29, 2018

I did some mistake by inserting link with the CDC project:
https://github.com/debezium/debezium

I also asked Chris at his original eventuate about his progress on this. He doesn't like debezium, but in general also plan both MongoDB and ActiveMQ as alternatives:
eventuate-local/eventuate-local#45

@stevehu - as my link was broken, just to confirm have you refered in your answer to debezium?

@ChenYan71 - thx for hint I will take a look.

@stevehu
Copy link
Contributor

stevehu commented Apr 29, 2018

Yes. I refer the exact library. It was too complex than we need. It looks like the development is picking up recently and I am open to using it if we need to support Postgres and Mongo.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants