-
Notifications
You must be signed in to change notification settings - Fork 2
Open
Labels
Description
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.confshould be configurable thatelasticfeedworks instreamingmode as well. Should be passible thatstreamingmode andapimode 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
elasticfeedAPI needs to learn who is connected etc!?
Useful resources:
Implementation:
- PART 1: Implement full bi-directional communication over WebSocket/LP #27 PART 1
- PART 2: Implement full bi-directional communication over WebSocket/LP #28 PART 2
- PART 3: Implement full bi-directional communication over WebSocket/LP #29 PART 3
- PART 4: Implement full bi-directional communication over WebSocket/LP/SSE #30 PART 4, Implement UI, Viewer metrics logic sdk-js#10
Reactions are currently unavailable