System Design Considerations

  1. Reliability(可靠性)
    1. Adversity
    2. Fault
    3. Failure
  2. Scalability(擴充性)
    1. Load
    2. Performance
    3. Elasticity
  3. Maintainability(維護性)
    1. Operability
    2. Simplicity
    3. Evolvability

API Architecture Styles

  1. SOAP: XML-based for enterprise application
  2. RESTful: Resource-based for web servers
  3. GraphQL: Query language reduce network load
  4. gRPC: High performance for microservices
  5. WebSocket: Bi-directional for low-latency data exchange
  6. Webhook: Asynchronous for event-driven application

Microservice

Micro Frontend

Reference