TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Serf: A decentralized solution for service discovery and orchestration

117 pointsby coffeejunkover 11 years ago

13 comments

mitchellhover 11 years ago
I&#x27;m jumping on a plane right now (a couple hours) but I&#x27;d be happy to answer any questions related to Serf once I land. Just leave them here and I&#x27;ll give it my best shot! We&#x27;ve dreamt of something like Serf for quite awhile and I&#x27;m glad it is now a reality.<p>Some recommended URLs if you&#x27;re curious what the point is:<p>&quot;What is Serf?&quot; <a href="http://www.serfdom.io/intro/index.html" rel="nofollow">http:&#x2F;&#x2F;www.serfdom.io&#x2F;intro&#x2F;index.html</a><p>&quot;Use Cases&quot; <a href="http://www.serfdom.io/intro/use-cases.html" rel="nofollow">http:&#x2F;&#x2F;www.serfdom.io&#x2F;intro&#x2F;use-cases.html</a><p>Comparison to Other Software: <a href="http://www.serfdom.io/intro/vs-other-sw.html" rel="nofollow">http:&#x2F;&#x2F;www.serfdom.io&#x2F;intro&#x2F;vs-other-sw.html</a><p>For the CS nerds, the internals&#x2F;protocols&#x2F;papers behind Serf: <a href="http://www.serfdom.io/docs/internals/gossip.html" rel="nofollow">http:&#x2F;&#x2F;www.serfdom.io&#x2F;docs&#x2F;internals&#x2F;gossip.html</a><p>Also, I apologize the site isn&#x27;t very mobile friendly right now. Unfortunately I can write a lamport clock implementation, but CSS is just crazytown.
评论 #6601456 未加载
评论 #6601547 未加载
评论 #6600418 未加载
评论 #6600251 未加载
评论 #6600520 未加载
WestCoastJustinover 11 years ago
Looks like this might be loosely related to Mitchell Hashimoto [1], who makes Vagrant.<p>[1] <a href="https://twitter.com/mitchellh" rel="nofollow">https:&#x2F;&#x2F;twitter.com&#x2F;mitchellh</a>
评论 #6600193 未加载
评论 #6600155 未加载
评论 #6600169 未加载
lambdaover 11 years ago
The title needs to be improved. &quot;A decentralized, highly available, fault tolerant solution...&quot; for what? The title should include &quot;for service discovery and orchestration&quot;.
评论 #6600266 未加载
philipsover 11 years ago
It seems serf and etcd are both trying to solve service discovery but are attacking it using different approaches. Which is pretty cool!<p>Serf looks to be eventually consistent and event driven. So you can figure out who is up and send events to members. This gives you a lot of utility for the use cases of propagating information to DNS, load balancers, etc.<p>But, you couldn&#x27;t use serf for something like master election or locks and would need etcd or Zookeeper for that. Serf and etcd aren&#x27;t mutually exclusive systems in any sense just solving different problems in different ways.<p>They have a nice write-up on the page here: <a href="http://www.serfdom.io/intro/vs-zookeeper.html" rel="nofollow">http:&#x2F;&#x2F;www.serfdom.io&#x2F;intro&#x2F;vs-zookeeper.html</a>
kevinpetover 11 years ago
This would really benefit from a &quot;how does this relate to zookeeper&quot;. I think this is an entirely new service, with different technical insides, and trying to provide a higher level solution to what people usually cobble together with ZK.<p>But I&#x27;d be interested in comments from someone knowledgeable.<p>Edit: I see this is addressed at <a href="http://www.serfdom.io/intro/vs-zookeeper.html" rel="nofollow">http:&#x2F;&#x2F;www.serfdom.io&#x2F;intro&#x2F;vs-zookeeper.html</a> but it would be nice to have something more &quot;just the facts&quot; rather than arguing the serf is good.
评论 #6601378 未加载
burntsushiover 11 years ago
The package documentation for the `serf` library[1] looks really exciting. I&#x27;ve been wanting to make a distributed file synchronization tool, and perhaps this would be an excellent library to build it on.<p>Question: as a relative networking idiot, how does NAT traversal fit into all of this?<p>[1] - <a href="http://godoc.org/github.com/hashicorp/serf/serf" rel="nofollow">http:&#x2F;&#x2F;godoc.org&#x2F;github.com&#x2F;hashicorp&#x2F;serf&#x2F;serf</a>
评论 #6600556 未加载
mjohanover 11 years ago
How does security work in a system like this. If this is used in a shared hosting system, can a user inject false messages into Serf with for example PHP?
评论 #6600393 未加载
nemothekidover 11 years ago
This is actually very cool and is something incredibly handy for managing failover&#x2F;membership.<p>What I unfortunately don&#x27;t understand is that there doesn&#x27;t seem to be a library I can use to take advantage of this in my own application. If I have a program (in Go) am I expected to spin up my own serf process then communicate with it via socket? Is there an option for me to have serf live inside my application?
评论 #6600601 未加载
peterwwillisover 11 years ago
What happens to your cluster when your network experiences intermittent packet loss and your random UDP messages get lost? Nodes just start going down and up randomly? (For those of you going &quot;So what, that&#x27;s normal&quot;, this not a quality of an HA system)
评论 #6601360 未加载
dugmartinover 11 years ago
They should add &quot;from the folks who brought you Vagrant&quot; to the top of the homepage.
totoyover 11 years ago
can we see serf as a kind of riak core but written in go?
评论 #6602683 未加载
smandouover 11 years ago
Highly available?
评论 #6600842 未加载
AsymetricComover 11 years ago
This isn&#x27;t much of a solution when it involves putting a binary on every host. Clearly, the best solution is a service framework at the platform level, not a separate, unmodifiable blob thrown on your hardware.