![]() ![]() The educative blog links are succinct and cover the usage of the design concepts for a particular system. Service discovery - to dynamically identify microservices - Videoīy following this template, any system can be designed in an interview.ĭisclaimer: The video links provided below are a detailed design of a system and can be referred to for an in-depth design of a real system.API gateway - Video, detailed microservices, and API gateway - Playlist.ML service - recommendation/ news feed ranking ( if use case (Netflix) demands then add it to the basic components) - talk about the data needed for your recommendation/ranking model.Analytics service - for analyzing requests and user data.Encryption (msgs) - for messaging services to secure data - Blog.Generally, the components mentioned above will suffice and also take most of your time in the interview. Knowing about these components helps you answer any in-depth follow-up questions. These components can be added to the design if you have time left in the interview. Cache - Distributed cache and client-side cache (For faster read access) - Video, Blog, Primer.Content Delivery network - To avoid round trips to the main server (reduces latency).Data Partitioning- Location-based, UserID based - Video, Blog.Message Queues - Tight coupling to lose coupling / Synchronous to Asynchronous communication - Read Message queues, Benefits of MQ.Load balancer - Application side & Database side if needed - Video, Blog.Replicate the services and databases- mention a single point of failure - Video.For detailed differences between SQL Vs NoSQL - Read 4. The next step would be to talk about which type of DB will you use and why. Read Write ratio - Determines whether the system is read-heavy or not.Īfter discussing the data and the actions that a user can perform to interact with the system.A service that is read-heavy can be scaled to handle high traffic of requests. The number of requests to the service - To know how to scale the services.Based on the data modality: A rough estimate of how much data must be stored - To know what type of database can be used and file storage for storing images/videos.Latency: Response time of a user action such as loading a web page, liking a post, etc.Any banking system favors consistency over availability as there cannot be discrepancies in data (account balance). Consistency: The systems with high availability will have eventual consistency. ![]() High availability: Most of the systems must be highly available.What functionalities can the system or application provide to the user? Example: In Twitter, a user can follow another user, tweet, like a tweet, retweet other’s tweet, and share a tweet (focus on the essential features and do not delve into the complex features of Twitter)įor any distributed system, the following are the fundamental concepts to consider: ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |