Seapig

Seapig is a websocket-based master-slave json object replication/synchronisation system.

No docs exist yet.

To cover:

  • what are seapigs and why they exist? (why not just having a stream?)

  • properties of a seapig system

    • objects are cached in memory

    • only diffs are sent over websocket when objects change

    • seapig handles re-synchronization of objects on link loss

    • objects are generated in separate processes

    • objects are regenerated on dependency change (e.g. immediately on db change)

  • describe current limits

    • there is no rate-limiting

    • object is dropped from cache when last client un-listens

    • seapig-client: no timeout detection

    • seapig-rails: postgres only (but is that really a problem? ;))

  • graph of server/client side seapig object states

  • disclaimer on non-efficient code. it’s all a draft, a test of an idea

  • rails not needed

  • stuff will change

  • seapig == firebase for apps that need real db

  • works nicely with mithril

  • how to use this shit

    • write some docs

    • link to example projects

  • link to seapig-rails, seapig-client-ruby, seapig-router, etc.