Skip to content

Websocket interface for streaming #23

@kris-lab

Description

@kris-lab

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:

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions