5 ms·
A Virtual LAN using NATS, written in Go
- crest 9y agoIn effect this is still Ethernet over TCP, but other than that it's a cool idea. Now if only NATS would support SCTP...
- crocal 9y agoAgree. I would really like to hear what is the upside / sales pitch of NATS compared to an Erlang server (that, BTW, supports SCTP out of the box).
- gigatexal 9y agoDeveloper creates alpha /pet project for fun and learning and HN commenters complain it doesn’t do enough... sheesh.
- ihsw2 9y agoNATS can saturate a network port with hundreds of thousands of messages/second with minimal impact on CPU, it scales linearly with cores, and it has minimal/zero effort fail-over. Whether across large geographic boundaries (ie: AWS cross-region) or in the same rack, NATS clustering is reliable and definitely speedy.
- steeve 9y agoWhat about quic?
- api 9y agoEthernet or raw IP over TCP are slow (without some really creative hacks involving multiple TCP links) due to the double ACK problem. Adding UDP would probably not be hard.
- feelin_googley 9y ago"... only works on Linux." "Multicast is not supported." I seem to recall other L2 overlay projects, UDP-based, that are both portable to other OS (subject to TAP requirement) and have no problem with multicast. Curious: What causes these limitations with NATS?
- lobster_johnson 9y agoNATS is just a message broker, and runs wherever Go runs. The limitations are in this project. It's a 105-line proof of concept, clearly the author didn't bother making it portable.
- jbverschoor 9y agoAlso check out zerotier. It works really well, and routes traffic through the local lan if available. It also supports other protocols than ip.