META ISSUE
All streaming logic should be a part of elasticfeed engine. What is required:
- websocket support
- long pooling support
- own client (not
socket.io, sockjs) as native very simple implementation. On top of it will be elasticfeed.js client
- scaling: multi machine communication (I suggest redis pub/sub)
- logic of channels/rooms
- handshake authentication
- internal
- using hooks to external resource
- protocol:
- entry actions: add/delete/update
- feed actions: load/load-more/reload/hide/show/rest
- metrics actions: behaviours
app.conf should be configurable that elasticfeed works in streaming mode as well. Should be passible that streaming mode and api mode work together on single application instance.
Why not socket-redis
- require installaltion of another software
- require specific bridges: plugin manager, plugins
sockjsfor client is very heavy; a lot of code; hard to maintenance; to much time on parsing and loading; hard for optimization.
- add delay for each request
- require that
elasticfeed API needs to learn who is connected etc!?
Useful resources:
Implementation:
META ISSUE
All streaming logic should be a part of
elasticfeedengine. What is required:socket.io,sockjs) as native very simple implementation. On top of it will be elasticfeed.js clientapp.confshould be configurable thatelasticfeedworks instreamingmode as well. Should be passible thatstreamingmode andapimode work together on single application instance.Why not
socket-redissockjsfor client is very heavy; a lot of code; hard to maintenance; to much time on parsing and loading; hard for optimization.elasticfeedAPI needs to learn who is connected etc!?Useful resources:
Implementation: