A. Jesse Jiryu Davis, a MongoDB engineer, writes about distributed systems, Raft and Paxos, Python, and engineering careers and mentoring.
HN commenters link his Paxos vs Raft writeup and a critical queueing theory book review, and the author joins to share the written version of his talk.
> Can you provide any reference to support this claim as far as actually good implementations go?
Ah yes now to the No True Scotsman fallacy. Async only works well when it’s “properly implemented” which is only .NET.
Even some .NET folks prefer actors model for concurrent programming:
> Orleans is the most underrated technology out there. Not only does it power many Azure products and services, it is also the design basis for Microsoft Service Fabric actors, which also power many Azure products. Virtual actors are the perfect solution for today’s distributed systems.
> In my experience Orleans was able to handle insane write load (our storage/persistence provider went to a queue instead of direct, it was eventually consistent) so we were able to process millions of requests without breaking a sweat. Perhaps others would want more durability, we opted for this as the data was also in a time series database before Orleans saw it.
https://www.reddit.com/r/dotnet/comments/16kk2l1/comment/k0xzbs4/
https://learn.microsoft.com/en-us/dotnet/orleans/benefits
Ironically what got me into Elixir was learning about Orleans and how successful it was in scaling XBox services.
> Because so far it looks like vibe-based reasoning with zero knowledge to substantiate the opinion presented as fact.
Aside from personal experience and years of writing and deploying performance sensitive IoT apps?
Well quick googling shows quite a few posts detailing async issues:
> What tools and…
Ah yes, "blissful" Zen. That's the best kind!
---
It reminds me of Yunmen, a monk who lived in China. He was born around 860 A.D. and he lived ninety years. His enlightenment story is a classic:
One day, Yunmen went to visit Mujo. When Mujo heard Yunmen coming, he closed the door to his room. Yunmen knocked on the door. Mujo said, “Who is it?”
Yunmen said, “It’s me.”
Mujo said, “What do you want?”
Yunmen said, “I’m not clear about my life. I’d like the master to give me some instruction.”
Mujo then opened the door, took one look at Yunmen and closed it again.
Yunmen knocked on the door like this for three days in a row. On the third day, when Mujo opened the door, Yunmen stuck his foot in the door. Mujo grabbed Yunmen and yelled, “Speak! Speak!” When Yunmen began to speak, Mujo gave him a shove and said, “Too late.” Mujo slammed the door. Yunmen’s foot was still there, and the slamming door broke Yunmen’s foot. And at that moment, Yunmen was greatly enlightened.
https://emptysqua.re/blog/the-day-yunmen-broke-his-foot/
I gave the presentation in the linked article, here's a written version of the presentation: https://emptysqua.re/blog/paxos-vs-raft/
I hope that the "Paxos vs Raft" debate can die down, now that engineers are learning TLA+ and distributed systems more thoroughly. These days we can design new protocols and prove their correctness, instead of always relying on academics. For example, at MongoDB we considered adopting the reconfiguration protocol from Raft, but instead we designed our own and checked it with TLA+. See "Design and Verification of a Logless Dynamic Reconfiguration Protocol in MongoDB Replication" for details: https://arxiv.org/pdf/2102.11960.pdf
Speaking of queues, any book on in-depth practical queuing theory? This book is highly recommended by many people, including those on HN: https://www.cs.cmu.edu/~harchol/PerformanceModeling/book.html. However, a reading group by seasoned researchers said the book was not necessarily practical on production systems: https://emptysqua.re/blog/review-queue-theory-book/.
Spent so many hours with the version I had on one of those cheap shareware bundle CDs. I'll never forget the bizarre, cheesy sprites, like the Hawaiian shirt zombies[1], or, really, any of them[2]. Fun game.
[1] https://emptysqua.re/blog/moraffs-world/moraff-monsters.png
[2] https://static.giantbomb.com/uploads/scale_small/13/134049/1837538-title_screen.gif
Sally Ride had insight into the O-ring failures, and tipped general Donald Kutyna. Kutyna subtly tipped Feynman. Kutyna had invited Feynman over dinner where they talked about Kutyna's car and the O-rings inside of them.. So the story goes.
https://emptysqua.re/blog/who-broke-the-challenger-investigation/
https://news.ycombinator.com/item?id=19032574