Design a Fault Tolerant E-commerce System | System Design

  Рет қаралды 27,515

Interview Pen

Interview Pen

Күн бұрын

Visit Our Website: interviewpen.com/?...
Join Our Discord (24/7 help): / discord
Like & Subscribe: / @interviewpen
This video dives into the fundamentals of designing fault tolerant systems--a critical skill to succeed in system design interviews. We'll dive into a basic e-commerce system and discuss all its failure modes and how to overcome them.
If you liked this video and want to learn more about fundamental systems and how they can be used to solve problems, check out our full course on interviewpen.com/?... !
Table of Contents:
0:00 - Introduction
0:50 - API Load Balancing
1:59 - Redundant Load Balancers
4:05 - Database Replication
5:17 - Third-Party Services
6:05 - Server Rack Failure
7:00 - Datacenter Failure
7:40 - Conclusion
7:53 - interviewpen.com
Socials:
Twitter: / interviewpen
LinkedIn: / interviewpen
Website: interviewpen.com/?...

Пікірлер: 25
@TimTimmyMcTim
@TimTimmyMcTim 4 ай бұрын
Great video! Would be cool to deep dive on a multi country/region E-Commerce solution. We have multiple issues that are only noticed at larger scales. --Like implementing the search feature or a ML powered product ranking.
@interviewpen
@interviewpen 4 ай бұрын
Yep, tons and tons of problems to deal with in a full system--we have more in-depth problems on interviewpen.com . Thanks for watching!
@htxnba
@htxnba 5 ай бұрын
For the redundant load balancer section, you mentioned that it isn't a great solution because it introduce latency and less flexibility because of DNS cache. Then I'm wondering what is a good solution or some alternative solutions?
@interviewpen
@interviewpen 5 ай бұрын
These problems are why we introduced a load balancer--failure of a load balancer should be much less likely than failure of an API node, so we can take advantage of that solution in most cases. Thanks for watching!
@kentroglobalinvestmentllc8921
@kentroglobalinvestmentllc8921 4 ай бұрын
Brilliant channel.
@interviewpen
@interviewpen 4 ай бұрын
Thank you!
@yhdleung
@yhdleung 5 ай бұрын
Thanks. What about the DB replication/synchronization across the regions, and the potential failure of network communications between them?
@interviewpen
@interviewpen 5 ай бұрын
Yep, definitely a concern. A network partition between the two regions could cause a "split-brain" situation where the two regions end up with different states. Often we'd just have one region elected as a master to handle writes, with reads from other regions having eventual consistency. We have a cool video about this kind of stuff on interviewpen.com :)
@wiguno9333
@wiguno9333 2 ай бұрын
Latency (and thus eventual consistency) is also a thing even if you use a single region replication. This needs to be also handled properly by the application.
@PsychonicJoe
@PsychonicJoe 5 ай бұрын
Great video, I have a few questions thought if you don't mind: 1- How do the load balancers know the ip's of the API servers? Do the API servers ping the load balancer or they always on the same local network or something else? 2- Would the private DNS that routes from API to database, just be a simple intermediatry server hosted locally? Like a local mini load balancer? Thank you for the valuable information!
@interviewpen
@interviewpen 5 ай бұрын
1--Yes, the load balancer will health-check the API nodes by pinging or making HTTP requests to ensure liveness. 2--Essentially yes, although it's important to note that requests are not being routed through this server, it's just responsible for notifying the API about what is online. Thanks for watching!
@jwsoftware
@jwsoftware 5 ай бұрын
Could another load balancer be on standby for when a load balancer goes down and take its external IP address? Or is this scenario assuming something happened where that’s not possible like the data center going down
@interviewpen
@interviewpen 5 ай бұрын
Yes, but there still has to be a fixed-size set of online load balancers to not interfere with the user experience.
@genyklemberg
@genyklemberg 5 ай бұрын
How often you will have DB outage on cloud providers? And will another DB instance work at the same time. Also didn't see any options for multiplication of DB instances, only DB replicas for read operations. As for Payment API failor only way is a retry logic or error message to try later. Maybe there are also open websites we in live mode people can see failure status of the system
@interviewpen
@interviewpen 5 ай бұрын
Most cloud providers have SLAs on their database solutions, and most offer replication to increase that SLA. Hope that helps!
@kimchi_taco
@kimchi_taco Ай бұрын
Do we need those when using AWS or GCP?
@interviewpen
@interviewpen Ай бұрын
Depending on what services you use for your cloud infrastructure, some of this will be managed for you. However, it’s always important to understand fault tolerance and ensure the service you’re using meets your needs.
@thelostandunfounds
@thelostandunfounds Ай бұрын
Solve the payment processing by switching to bitcoin only payments.
@Shravankumar_888
@Shravankumar_888 5 ай бұрын
but your methods are very ineffecient for small scale companies with low traffic
@interviewpen
@interviewpen 5 ай бұрын
Small companies tend to start off with something like in the beginning of the video if fault tolerance isn't important :)
@shreyaspatange8653
@shreyaspatange8653 22 күн бұрын
annnnnnnnnnnnd you infra cost will be 50k and need engineers worth 200k for maintainance
@abytebit
@abytebit 5 ай бұрын
I have to say that most of these architectural things are useless unless you have unlimited resources.
@interviewpen
@interviewpen 5 ай бұрын
Most companies tend to adopt the approach in the beginning of the video and scale to something more complex once it fails :)
What makes Kafka special? | System Design
6:27
Interview Pen
Рет қаралды 15 М.
A teacher captured the cutest moment at the nursery #shorts
00:33
Fabiosa Stories
Рет қаралды 57 МЛН
НРАВИТСЯ ЭТОТ ФОРМАТ??
00:37
МЯТНАЯ ФАНТА
Рет қаралды 8 МЛН
hahahaaaaas
1:25
∆Cinnamonroll∆
Рет қаралды 135
Design a Data Warehouse | System Design
14:08
Interview Pen
Рет қаралды 20 М.
System Design: Design a URL Shortener like TinyURL
16:00
Code Tour
Рет қаралды 82 М.
Design a High-Throughput Logging System | System Design
8:23
Interview Pen
Рет қаралды 43 М.
System Design: Why is Kafka fast?
5:02
ByteByteGo
Рет қаралды 1,1 МЛН
FASTEST Way To Learn Coding and ACTUALLY Get A Job
10:44
Brian Cache
Рет қаралды 1 МЛН
A teacher captured the cutest moment at the nursery #shorts
00:33
Fabiosa Stories
Рет қаралды 57 МЛН