-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
[EPIC] Support messaging/eventing style APIs #1884
Comments
I think this is going to be very important for the future of LB4. Change-stream was IMHO one of the most underrated features in Loopback 2/3 and I think one of the reasons why it did not see major adoption was that the documentation was lackluster and that it was not pushed as selling points commercially/marketing-wise for the many benefits that it could provide. In our case, we are currently running fairly large systems and use both LB2 and LB3 and the only reason why we are not running all clients on change streams instead of REST push/pull, is it was a lot harder and more time consuming to implement. Concerns included cross-cluster synchronization (propagating events on one process, to streams managed in other processes/servers), problems getting filters to work as expected, lack of good client side support for observable's as base data foundation and developer experience with said and related technology and patterns. Why this is important: If LB4 nails this good, this could be HUGE. |
Discussed with @raymondfeng, #1925 can be the first POC. |
See another PoC - https://github.com/raymondfeng/loopback4-example-websocket |
I'd like to provide a real-world example that I'm looking for the correct framework to build upon.
Example:
I'm fairly certain we can build this as an extension with hooks into the session management as well as the ability to watch changestreams on the datasources. But the challenge I see is in having a native all-data-sources.watch() solution with applicable relationships clarified unless this was a more native feature. Thanks for all your hard work. |
I'm still using Fireloop (on top of LB3) for realtime updates. It is great and would love to use LB4 if it got these feature of Fireloop. I saw Fireloop mentioned before, but when database is updated, I want all clients connected to app be updated automatically. Will there be a realtime option in LB4 or do I need te look for alternatives? |
This issue has been marked stale because it has not seen activity within six months. If you believe this to be in error, please contact one of the code owners, listed in the |
This issue has been marked stale because it has not seen activity within six months. If you believe this to be in error, please contact one of the code owners, listed in the |
There's still people (me, at least) expecting this functionality on LB4. Any news? |
This issue has been marked stale because it has not seen activity within six months. If you believe this to be in error, please contact one of the code owners, listed in the |
This issue has been closed due to continued inactivity. Thank you for your understanding. If you believe this to be in error, please contact one of the code owners, listed in the |
Currently LoopBack supports RPC style APIs such as REST or gRPC. We would like to extend that with messaging/eventing capabilities.
Use cases
Protocols
Mapping to LoopBack 4 concepts
Servers
: listen on WebSocket, MQTT, and HTTP/2 protocolsConnectors
: subscribe to an event source or message broker or publish messages to backend systemsControllers
: create methods (with decorators) to produce/consume/process a stream of events.Events
: define models representing various types of eventsExamples
The text was updated successfully, but these errors were encountered: