divideby0
Joined 18 years ago
Joined 18 years ago
https://www.evernote.com/l/ABkKLgp3RjRDe5uV4pMlyVg1uzkW41DG4...
http://techblog.netflix.com/2011/07/netflix-simian-army.html
That's why Netflix stays up when us-east or us-west are down.
However, in a distributed environment, services can spin up on different machines. The instance of Postgres my application needs could be on server1:12345 or server2:23456. But in a distributed system, you need a cross-cutting service that's available to all servers so that if my app is running on server1, it can find the right Postgres instance running on server2.
I'm not an expert on etcd, but my understanding is that the most common use case is to run etcd on each host machine. When services start up, their supervisor registers the service's hostname, port, etc with etcd's key-value store. This registration is then propagated to other etcd nodes in a consistent manner, using a consensus algorithm called Raft:
http://thesecretlivesofdata.com/raft/
Consensus actually turns out to be one of the harder problems in a distributed system design. If I have a network partition that prevents etcd instances from seeing each other, you don't want one instance reporting incorrect or stale data. Otherwise, my application could be writing to the wrong service, causing data loss.
Etcd does consensus extremely well, and in a way that scales to support hundreds of nodes. It's one of the two distributed systems I'm aware of that have (mostly) passed Jepsen testing:
https://aphyr.com/posts/316-call-me-maybe-etcd-and-consul
There are also alternatives like Consul and Zookeeper, but in the case of Zookeeper you have to do a lot of the heavy lifting yourself to support service discovery. There are also some well-documented caveats:
https://tech.knewton.com/blog/2014/12/eureka-shouldnt-use-zo...
Consul also has a pretty fair writeup (IMHO) on the tradeoffs of each solution on their website:
Edit: The JNR stuff is covered around 42 minutes in.
Spantree Technology Group is looking for a new member to join our existing US-based team members in Grand Rapids or Chicago. We'd also be interested in a remote team member (preferably based in the Midwest or East Coast US) depending on expertise.
---
Hello, we’re Spantree, a rapidly growing boutique software engineering consultancy headquartered in West Loop of Chicago. We’re looking for a brilliant and personable engineer to join our team. Our clients range from small and scrappy startups to large banks and insurance companies. While we have a pretty broad technical focus, a key element to most of the stuff we do is building tools to help people make better decisions.
Our technical role on projects varies a bit depending on the customer, so we’re hiring organically for generalists that can be flexible up and down the stack. Though if you have deep expertise in some of the technologies listed above (esp Elasticsearch or Docker/Mesos), we can teach you the rest on an as-needed basis.
We offer competitive compensation, relatively flexible work schedules, health/vision/dental, 401K matching and the usual tech company perks (a copious amount of catered lunches in our Chicago offices, etc).
To find out more about who we are, please feel free to visit our website at http://www.spantree.net and reach out via [email protected].
http://gawker.com/man-unwittingly-rents-out-apartment-on-air...
Whether or not this is the same person or an imposter? Who knows. But it wouldn't be surprising.
If true, it's entirely possible that Airbnb is more concerned about setting a precedent for any and all auxiliary damages that go along with a bad stay. What happens when someone gets kicked out of their apartment because a guest accidentally tipped off management that they were an Airbnb renter?