Live data from Hacker News

Notes on Distributed Systems for Young Bloods

somethingsimilar.com

21–30 of 46 posts

Re: Notes on Distributed Systems for Young Bloods

#21
post #7

There's a growing area where I see a lot of people starting to get involved with distributed system who didn't have to deal with it before: rich in-browser apps with their own permanent storage. Once you have a Javascript application with state speaking over one or more APIs to your backend services, you're in the domain of distributed system design. Especially if you use the application cache and support offline ope…

That is why I kind of like the CouchDB clone for the browser -- PouchDB

https://github.com/daleharvey/pouchdb

Since Couch has a master-master replication protocol the database in the browser can just sync with the one on the server. Then the network gets disconnected but that's alright. When it gets re-connected continuous updates pick up where they left off, conflicts are resolved and it sort of works a distributed system. Where a browser is just another node.

Re: Notes on Distributed Systems for Young Bloods

#22
> Implement backpressure throughout your system.

This is perhaps a point one cannot get to theoretically just sort of thinking about. This realization comes after observing the effects in practice. It is interesting to observe distributed systems, especially the ones that rely on asynchronous messages, thing go wrong and queues start filling up. Or even weirder machines start to synchronize for some reason. Like the size of the queues will oscillate in resonance of some sorts.

One way out is to reduce asynchronicity but that comes with serious performance penalties.

Re: Notes on Distributed Systems for Young Bloods

#23
It was a great article but this sentence had me a bit confused: "Well, a typical machine at the end of 2012 has 24 GB of memory, you’ll need an overhead of 4-5 GB for the OS, another couple, at least, to handle requests, and a tweet id is 8 bytes."

My Desktop has like 40 chrome processes, is running GeoServer on Tomcat (currently idle, but whatever), and the entire Unity desktop environment. I'm currently at 2.7GB. What kind of server OS needs 4-5GB?

Re: Notes on Distributed Systems for Young Bloods

#24
post #12

Having done distributed systems for many years the only thing I would like to add is that all systems are not equal so some of the things mentioned in this article might not work. It was my experience that the real key to making a distributed system work was to identify the critical paths and segment and encapsulate the functionality of different components into the smallest possible implementations. Then define robu…

Link to your paper?

Re: Notes on Distributed Systems for Young Bloods

#26
post #18
post #7

There's a growing area where I see a lot of people starting to get involved with distributed system who didn't have to deal with it before: rich in-browser apps with their own permanent storage. Once you have a Javascript application with state speaking over one or more APIs to your backend services, you're in the domain of distributed system design. Especially if you use the application cache and support offline ope…

curious question: how do you get people to even click "ALLOW" when the popup says "do you want to allow this website to use localStorage"

What browser does this? I've never run in to it.

Re: Notes on Distributed Systems for Young Bloods

#27
post #18

Earlier quoted context omitted.

curious question: how do you get people to even click "ALLOW" when the popup says "do you want to allow this website to use localStorage"

What browser does this? I've never run in to it.

It happens in mobile Safari IIRC.

Re: Notes on Distributed Systems for Young Bloods

#29

The timing of this one is scary. I'm working on a mobile app that does a key exchange with a server before allowing a server-based registration or login. It's nowhere near as complex as your average distributed system. That said, I've run into a scary amount of the things mentioned in this article in my tiny little use case. Just trying to ensure a decent user experience (timing out a comms check after two seconds ra…

Just a heads up: here's a course taught by Robert Morris that goes through a lot of great stuff:

http://pdos.csail.mit.edu/6.824/

Post reply on HN