field-manual icon indicating copy to clipboard operation
field-manual copied to clipboard

Is it possible to replace signal server for offline-first web application LAN peer mesh with SSDP or something

Open fluidnotions opened this issue 6 years ago • 2 comments

I'm researching how to build a offline-first web application (PWA). It has a group of nodes running on a subnet and only one peer at a time talks to the cloud, the primary, if the primary goes down. The other peers need to become aware and since they all share the same database via orbit-db anyone can then become the primary or stay offline and continue to sync data on the lan.

It's not clear how to do this from the Ipfs docs. Really I'd just like to know if it's possible.

Orbit-db intro does say "making OrbitDB an excellent choice for ... offline-first web applications" I suppose I could also build a signalling server into every node and if the current primary node which was also the acting signalling server went down and the peers lost contact with it another could be turned on #somehow?

fluidnotions avatar Mar 24 '18 21:03 fluidnotions

This is a very cool idea. It sounds like you need a cluster that will coordinate to handle incoming and outgoing messages from the cloud, so similar to orbitdb/field-manual#83 in that a pinning service would also need to coordinate a cluster?

OrbitDB is an excellent choice for offline-first, because even if many nodes go offline for an extended period of time, when they rejoin, all the nodes are guaranteed to converge to the same state. But while there is an ipfs-cluster, there is not yet an orbitdb-cluster library.

I'll be adding more thoughts to orbitdb/field-manual#83 and will also be interested to know what architecture you come up with.

coyotespike avatar Mar 30 '18 15:03 coyotespike

Moving to the Field Manual repo for more details / discussion

aphelionz avatar Sep 27 '19 16:09 aphelionz