Client Server Architecture | System Design Tutorials | Part 3 | 2020

preview_player
Показать описание
This is the third video in the series of System Design Primer Course. We talk about one of the basic components of System Design: Client Server Architecture and it's different flavours. We want software engineers and aspiring software engineers to develop basics and get ready for the world of interviews as well as excelling as a Software Engineer.

------------------------------------------------------------------
Recommendations
------------------------------------------------------------------
Our full courses on youtube:

Some paid courses that we recommend:

------------------------------------------------------------------
About Us
------------------------------------------------------------------
Created and Instructed by:
Yogita Sharma

Post-production(editing, thumbnail etc) managed by:
CiKi

Colors and design by:
Naini Todi

Both Arpit and Yogita are software engineers and want to help other software engineers become better by providing high quality and well researched content by adding their creativity and teaching twist.

------------------------------------------------------------------
Join Us
------------------------------------------------------------------
Hangout with sudoCode:

For business:

Quiz for this video.
List down the real world use cases when you would choose a thick client architecture over thin client architecture and vice versa. List pros and cons in all scenarios. Can you think of a system which has thick client and thin client and multiple tiers? Also, can servers behave as clients?
Рекомендации по теме
Комментарии
Автор

Ma'am I can't stop my tears! Prof discussed but don't know what he discussed but your lecture gave me a better insight of topics. Thank you

kmishy
Автор

My Answer to the quiz question

Q1 - Thin client chosen than thick client
The heavy computation required: The use cases where heavy computation is required, in those cases, we should do processing at the server only and not at the client.

Q2 - Thick client chosen than thin client
Light computation and less network access preferred: In certain applications where we have light computations possible on the device and the resource is heavy to be transferred on the network, in those cases, Thick clients must be chosen.

Q3 - A system with thick client Thin client and n tier architecture.
A good example of a system with all a thick client, thin client, and an n tier architecture is Zoom (I am not sure), because in case of zoom, streaming is done from the server, if I wanna change the background (Done at the client) and obviously they will have an n tier architecture to make a scalable system.

Q4 - Can servers behave as clients?
Yes, A client can act as a server. In cases where my server is making an API call to some other service (for example - Twitter API), the server is acting as a client.

I am a beginner, please correct wherever I am wrong.

raghavddps
Автор

I'm honestly happy with the 3 videos released so far. The content is well explained. Keep going

sachinjohnsonchirayath
Автор

Great video
I still don't understand why some youtubers who just provide unnecessary roadmaps and give gyaan on how to crack FAANG interviews gets lakhs of views while someone like you who is actually providing quality content for clearing those interviews is getting so less views

sarthakagarwal
Автор

Thanks for the great explanation!
My answer to the quiz:
1. Cases to choose thick client architecture over thin client architecture:
a. Fitness App: As the data in a fitness app is user-specific, it would be costly and unnecessary to call the server for tracking progress.
b. Grammarly: Rules can be stored at the client end to make suggestions. 3 tier architecture can also be a valid option for this if the logic is too complicated.
2. Cases to choose thin client architecture over thick client architecture:
a. Stock Broker App: The client is just an interface that should be updated regularly from the server. All the processing logic also resides with the server.
b. Random key generation service: The logic for the generation and mapping of keys must reside with the server.

komalgupta
Автор

This series helps in bringing together loose ends and tries to give complete picture of overall System designing.

azimmalpekar
Автор

Quiz answers:
1) When I choose thick client over thin client architecture : When a system want to takes care of more computation in the client side and want to relay less on the server side in this scenario we can go for thick client. Example: Ms-Excel, Ms-Paint.
2) When I choose thin client over think client architecture: When a system want to takes care of more computation in the server side and making client lite weight in this scenario we can go for thin client. Example : Web-browser.
3) Pros and Cons of thick and thin client:
Thick client:
Pros :
1) System can perform seamlessly without considering network latency.
2) More cost to maintain.
3) High responsive to the user
Cons:
1) No assurance of data availability as it has possibility of system crash and other difficulties.
2) High cost to maintain the app.
3) Effective usage of system resource is less.
Thin client:
Pros:
1) Easy to manage/maintain system infrastructure.
2) Highly scalable and easy maintainable app
3) Cost effective
Cons:
1) Highly dependent on network connectivity/availability.
2) Each components are managed by component professionals.
4) Thick client example : Ms-Excel
Thin client example : webserver
Multi tier example : youtube
5) Yes, Server can be a client also, because in large enterprise applications not all the apps takes care of computations some may get the other processed/computation result and take care of responsibility to get back to presentation layer.

jeevanantham
Автор

N tier architecture : heavy video games like valorant . They have load balancer. A lot of threads and entities to handle .

Thick client : Adobe photoshop . Mostly the client side has heavy load.
Standalone software like unity

One tier architecture: water reminder apps

sanghamitrahota
Автор

Thick client applications normally require the installation of application on the client side (user application). They take up space and memory on users machine. Eg - Microsoft outlook
Thin client applications are typically the web applications which can simply be accessed by internet. Eg - google

anshikagarg
Автор

Just letting you know - this course is awesome! Discovered you through the system design video with Gaurav Sen; and your content is gold. Thanks for taking the time to put together these videos!

nanaadommills-robertson
Автор

In 6 mins you have explained it so much better than hours of lecture. Thank you.

theultimateamazing
Автор

One of the best series for Systems design beginners. Great job.

Examples
Thin client: Spotify
Thick client: Atlassian Jira, Wordpress

Two Tier: Simple full stack application
Three Tier: YouTube

jafarolamide
Автор

A thick client can be chosen when more amount of processing work is to be done in the client side like gaming purpose, editing applications, etc.
A thin client can be chosen when computational processing is to be done on the server side of the system
An n-tier architecture can be chosen when the data stored in the database or the system is huge enough to be processed on the same computer or system and hence they are broken into parts, a very good example of n-tier system is social media apps like facebook and instagram which stores users data(number of users in billions ) and manipulate them according to the users requirement

-MayurDewangan
Автор

On my 3rd video and I can experience the genuine effort you have put to publish the course and that too for free. Thanks a lot and wish you 100k subscribers soon. 🙂

nihalsaket
Автор

Great explanation, I just hope and pray ther series expands and huge shoutout and appreciation to the creator and thier team. May God bless you all with health and wealth.

raihanmdsiqbal
Автор

Great video that was simple but very detailed. I learned a lot in 6 minutes, I am really enjoying this series. :)

chuksc-m.
Автор

Best free tutorial on system design.. thanks a lot mam.. god bless 🙏🙏

ghanshyamgupta
Автор

I am really spellbound the clarity of explanation. Really helped in my interview.

subhankardash
Автор

premium content for free. hard to believe

shubhampatil
Автор

Thankyou for this series. Its a perfect place to start

aurangzebhusain