System Design and Architecture

Read: https://en.wikipedia.org/wiki/Systems_architecture

Types

Enterprise architecture

  1. https://en.wikipedia.org/wiki/Enterprise_architecture
  2. There is a great overview of various Enterprise Integration Patterns here: https://camel.apache.org/components/4.4.x/eips/enterprise-integration-patterns.html

Software architecture

  1. https://en.wikipedia.org/wiki/Software_architecture
  2. https://en.wikipedia.org/wiki/Domain-driven_design

𝗬𝗼𝘂 𝗠𝗨𝗦𝗧 𝗸𝗻𝗼𝘄 𝘁𝗵𝗲𝘀𝗲 𝟲 𝗔𝗣𝗜 𝗔𝗿𝗰𝗵𝗶𝘁𝗲𝗰𝘁𝘂𝗿𝗮𝗹 𝘀𝘁𝘆𝗹𝗲𝘀.

APIs are the backbone of modern web communication, and there are multiple styles out there. Here’s a rundown of 6 API architecture styles you must know:

  1. REST: The classic, using HTTP requests for CRUD operations.
  2. GraphQL: Ask exactly what you need and nothing more, reducing data overfetching.
  3. WebSocket: For when the conversation goes both ways in real-time.
  4. gRPC: High-performance, language-agnostic, ideal for internal services.
  5. MQTT: The messenger service of the IoT, where devices publish and subscribe.
  6. Serverless: Write backend code without managing servers; let the cloud handle it.

Each style has its place, advantages, and use cases.

Tags

  1. Convention Over Configuration
  2. Design patterns
  3. Design principles
  4. Difference between Design patterns and Design principles
  5. Distributed Systems vs Centralized Systems
  6. Event driven architecture

KNOWLEDGE GAP - LEARN MORE

  1. 10 Best System Design Courses for Coding Interviews https://medium.com/javarevisited/10-best-system-design-courses-for-coding-interviews-949fd029ce65
  2. https://javarevisited.blogspot.com/2022/03/how-to-prepare-for-system-design.html
  3. https://javarevisited.blogspot.com/2012/06/20-design-pattern-and-software-design.html
  4. https://javascript.plainenglish.io/8-steps-guide-to-ace-a-system-design-interview-7a5a797f4d7d
  5. https://github.com/donnemartin/system-design-primer
  6. https://medium.com/@nidhiupreti99/understanding-system-design-of-netflix-backend-architecture-and-cloud-services-b077162e45bc
  7. https://www.geeksforgeeks.org/top-10-system-design-interview-questions-and-answers/?ref=leftbar-rightbar
  8. Orchestration vs choreography
  9. Bounded context

Links to this note