How DogeHouse will Scale to the Moon 🚀
Вставка
- Опубліковано 25 лют 2021
- This is the architecture for DogeHouse and how I plan to scale it to over 9,000 concurrent users.
dogehouse.tv/
github.com/benawad/dogehouse
#benawad #dogehouse
----
Follow me online: voidpet.com/benawad
#benawad - Наука та технологія
When ben calls 911 , he asks what thier emergency is
911 calls ben*
@@alwinvillero4404 🤕
"Ben here, whats your emergency?"
Looks like you became a backend dev accidentally.
Fullstack unicorn
OH NO
@@lubeckable a mythical creature
"The answer to all of these questions is 'YES'"
So: "Why did you pick that?" "YES"
"How does it even work?" "YES"
lol good catch
lol
pretty sure he did that on purpose.
Why, did you pick that? - YES
How, does it even work? - YES
Yeah makes sense :p
Yes
Thailanders already conquered DogeHouse LOL, I love 'em.
Currently on the Senior Q&A channel and it is a blast. Thanks Ben
Really liking the detailed realistic architecture explanation. Please make more videos about Elixir!
Ben, you really made it with this very good backend architecture. wait for further news
This is super interesting. Thanks for posting
Thanks for sharing, Ben. So interesting to see the architecture and the way is was decided, supported with real stats numbers.
Invest in crypto now...
£ = pound
€ = euro
4:00
I think he knows. Someone pointed that out in one of his live videos and ben googled the pound symbol and admited he was wrong. I guess he just does not care
@@leocarvalho8051 He's probably doing it on purpose at this point to get that sweet sweet comment engagement... or because it's funny.
$$$$$$$ is the best
@@DemonThr1ftrrrr except for the strength of the currency
You're just pumping out new stuff, really impressive
Very very cool Ben, wow sounds like your having a lot of fun.
Elixir is way more suited to scaling that audio delivery than nodejs. For one it's not single threaded and Erlang is already being used worldwide by telecoms to handle phone calls to and from millions of customers. It would save you more money and give you better performance if you would either remove nodejs entirely from the backend stack or relegate it to microservices.
it would be best to remove javascript from the world entirely
@@MB-rc8ie 🤣
If this is the refined hypebeast stack, what's the raw hypebeast stack?
React
Typescript
Node.js
Postgres
What's the heavy/sharp hypebeast stack?
Cracking Dark Souls 3 weapon infusion jokes in comment section of a web dev focused channel is just 🤦, but I regret nothing.
@@nekoill don't worry i get the reference
@@mamenggaluh8897 awww^ω^
Thanks for the comprehensive explanation of the architecture.
Would be really nice if you added video calling! Especially with this whole pandemic thing I’ve been hearing about.
Loving your content 🙌
I also just started playing with elixir about 50 days ago and I really like your videos (only watched two so far 😅). They are helping me know about the super powers elixir can do so that I stay on my path.
Thanks for this, extremely helpful. Still a lot to delve into.
I feel like this will be really good for podcasts!
Hey Ben, you can pipe streams across servers too... Mediasoup allows that, it'll help your users receive streams from any server. Not just where the producers are.
Man you are awesome, I love how you code and build really creative stuff. Good Luck :D
This doge stuff, even with this whole doge coin, or whatever it is, is interesting how it's catching wind right now. How a word or concept comes around and catches traction always astonishes me. It's like clubhouse coming out of nowhere.
Clubhouse is just zoom but can't turn on video
Clubhouse gives me the inverse vibes of all that doge stuff.
Rather than being self-ironic, it comes off as self-important.
I think what he means is that "clubhouse" as a word wasnt cared for much until the app came out, I agree it's interesting how certain brands stick more than others. Technically, doge is now a brand haha
@@modernfounder7012 Exactly. Didn't matter until the app showed up. The one thing I do like about Clubhouse is how they do their invites. It's a genius strategy.
People are still using clubhouse?
For deciding what voice-server a room should be sent to, have you thought about using a Load balancer that just grabs from a pool of worker ips?
Why not run the voice server in Elixir as well? Looks like there are some libraries to do it use NIFs.
Any thoughts on using an event driven autoscaler like KEDA based on messages in your RabbitMQ? I think this will make it even more flexible and scalable, especially when combining the HA features that Kubernetes has to offer.
Go... go goo.. Ben!🔥🔥🔥🔥
Devs like u are building the bright future of the world ❤️ full support.
Ben are you using GKE or Kubernetes to manage multiple instances?
You had me at RabbitMQ Queue 😎
I can listen you for a looooong time maaaan
Hey, I am developing and operating a similar setup on kubernetes except that is also doing video for up to 1.000 participants at the moment. If you want to we can talk a bit about the problems I ran into when architecting and operating this setup :-) its really not that easy! We are using a Go, Node, Angular/Vue, gRPC, NATS, Redis and RabbitMQ Stack
People who diss on Elixir need to experience the Ecto ORM, it's probably my favorite ORM I've ever used.
Thats a really cool project
So dope Ben!
Ben Awad using web RTC looks like now everyone will.
He should use twilio-video inlieu of mediasoup
Thanks. Now I have Elixir FOMO which contributes to my Imposter Syndrome. 😢
hahaha, I thought the same. like here we go again.
Don’t worry, Elixir is a meme, remember R?
@@Bakuragorn people said same about node.
@@Bakuragorn R is still used heavily by data scientists, its popularity is only increasing.
@@Bakuragorn yeah who cares about elixir lets all just move to Rust
Your videos are really cool. It would be great if it had subtitles.
Visual Paradigm 👌
Nice cam "Vue", Ben 😁
"I want giant rooms just massive, thousands of thousands of people listening..."
Sure. Like Radio. I like it. Crazy but I like it. New sub!
I am a little confused at the use of RabbitMQ for what's effectively RPC when fetching the voice server ip/password--wouldn't you be better served using something like gRPC instead? Having done RPC in RabbitMQ before I think it's safe to say that it's pretty jank, and IIRC their docs even say something along the lines of "this is a message queue, not an RPC client, but I guess if you're going to do it anyways here's how you'd do it"
I know it just a small detail of elixir but when I was fiddling around doing x = 1 and then it allowed me to do 1 = x i knew i was looking at a super saiyan language. You have to really think out of the box to come up with that shit. It made so much sense instantly, all the pieces fitted right at that moment.
Amazing project Ben
Great stack! Elixir is a great choice!
3:58 those aren't euro signs, they're pound signs. Did it cost £50 for the VPS and £75 for the bandwidth, or €50 for the VPS and €75 for the bandwidth?
💯 Full-Stack developer
It's the best architecture and also mediasoup is awesome. You can do Cascaded SFU!
Great video ,One question. Why webrtc when peer to peer comm is not needed?
pm2 had memory leaks last time I used it... but I guess on 32 GB RAM servers it doesn't matter too much.
Can you make a video about how to choose right license for projects.
hey you've struck gold with this video. i don't know why and i dont know how but this will get lots of views. thanks
Hey Ben, will you use Kubernetes for scaling DogeHouse voice servers for large rooms?
Is there any benefits of choosing Netlify to host your Reacty website versus Vercel?
How do you utilize all 8 CPUs for single-threaded Node.JS? Making copies of the app?
So a single room will be max 500 listeners, since they use up a voice server (max 500 per server?)? Or do you share room audio between voice servers?
You know Ben has been typing for a good while when his finger is slightly curved upwards 3:19 xD
Keep em coming Ben!
I thought about building something similar but how do you handle traffic?
I've got like 2tb outgoing traffic only on my hetzner cloud
The mic select has a white background and white letters.
Fix it.
Yes! More Elixir videos please 🤩
Yooo this is sick
Ben is really the kinda nice guy with good manners,
awesome titles bro
I think if you want to implement webrtc in a big room, like many clients in a single room, you need a media server.
Ben awad ur the greatest., its me at 1:53
Hi max you are great
@@shelby255 thanks
Dude, thanks for the video. interesting. btw, your eyes are getting darker and darker, are you looking after your health?
purple reignz. legendary status of colors.
Why not just use a multicast broadcast service for each room ie like Radio?
🔥
What do you think about the agora library clubhouse uses?
5:57 kousa lmao
Guys, Discord shifted from Go -> Rust. They are still using Elixir at scale.
ดีมากๆเลยครับ lov it
What do you think about Go for this project?
Ben: given your particular way of pronouncing it, a video about how you coded an Alexa client in Elixir would be tongue-twisting fun...
Just curious, why did you choose nodejs for webrtc routing and not Elixir?
yes, i'm try to invite some friends using it... cheers / Thailand
When he was born the doctor said: it's a Zuckerberg.
Elixir tutorial would be super kul
Just wanted to know why you chose tailwind instead of chakra?
PS beginer at both, heard you talk about enjoying chakra earlier. Just wanted to know the pros and cons.
They got an actual design for doge house, which defeats the purpose of chakra since its a "pre-made" ui library which has very limited options for custom styles. I'd say it makes sense to use chakra if you just want to get a quick front end for a non-serious project, but if you want to make an unique, custom design for example, you'll need to use css (or tailwind-css since its nothing more than a utility for writing css) to implement that design in your components
We need an Elixir tutorial Ben!
no we dont
Elixir is pure aids
@@alexanderk9670 No, MPI is aids. Elixir does it better
When investors meet with ben he asks them questions to approve them as investors yeah yeah
50 Gyros 😀🙌 Awesome‼️
Where do you learn how to design this architecture?
This stack is worth only with real time apps ?. Netflix backend is made with NodeJS, is worth learn Elixir ??
Feel like this project would benefit with some docker + skaffold + kubernetes
Everone: Why did you pick that? How does it even work?
Ben: Yes
Elixir tutorial please
Pretty sure that wasn't wood you were knocking on. Or perhaps a wood coaster on a titanium table.
ben doesn't call the emergency
the emergency calls him
great
He said the pricing for both machines is 75 euros, It lookes like really good deal for both 8cpus and 32gb ram, where is this project hosted? Sorry for my ignorance, but i never used any cloud provider myself but the free netlify tier
Lost it when you knocked on the table
Might want to try Deno for voice server?
Ben what was your elo on League when you played it?
Had to reconnect to see name and avatar changes. Can you work on that?
If anybody ask me who is your fav tech youtuber in an interview, Im gonna say Ben because i will have the words to reason.
Elixir is tight
Why not have it try to connect P2P and then fallback to the voice server on failure? I haven’t actually done anything with webRTC so I have no idea if this is a bad idea.
"Knock no metal"