jon-esperanza / silk-engine

Simple library for event processing with Kafka. Built on top of KafkaJS and inspired by Robinhood's Faust. Will be moved to Scala soon.
MIT License
0 stars 0 forks source link

Should this library take responsibility of running the application? #11

Closed jon-esperanza closed 2 years ago

jon-esperanza commented 2 years ago

I have some design concerns on whether this library is giving enough freedom to host a service based on this engine. The app object handles and configures a lot of the server set up but is this a good path?

The alternative is to remove this app object and simply give the user complete access to handling consumers and let them implement it how they want.

jon-esperanza commented 2 years ago

Researched how parse-server module handles their library.

They have server instances that can be used to create new express servers OR build on top of user applications using

Serve the Parse API on the /parse URL prefix
app.use('/parse', api);
jon-esperanza commented 2 years ago

We can use this as reference.

Potential Solution 1: Simply offer users our objects and models no express or app usage Potential Solution 2: Like parse-server, we can offer both the option to easily create and start an InsightQL instance or use it to build on top of an existing application.

jon-esperanza commented 2 years ago

Express.js is not needed for message consumption. Redis integration is simple for user to integrate if needed.

We can move our focus from hosting an express server to: