Skip to content

Latest commit

 

History

History
40 lines (39 loc) · 1.55 KB

microservices.md

File metadata and controls

40 lines (39 loc) · 1.55 KB

Microservices

  • What are monolith's downsides and advantages?
  • What are microservices downsides and advantages?
  • Service Registry & Discovery
    • What's a service registry?
    • Tools for service-discovery (Consul, Redis, ...)
    • Where do we need them?
  • Load-Balancing
    • What are the application requirements for load-balancing?
    • What's HA?
    • What's replication?
    • What's sharding?
    • What is the difference between Horizontal-Scaling and Vertical-Scaling?
  • Distributed Transactions
    • What's SAGA?
    • What's two-phase commit?
  • Metrics, Monitoring, Tracing, Logging
    • What's CorrelationId?
    • What's distributed tracing? Why do we need that?
    • What are metrics? How to collect them?
    • What's monitoring? How it's related to the metrics?
    • What's centralized logging?
      • What's ELK?
      • How to keep the logs while the logging provider is down?
  • Key-Vaults
    • Where to store secret things like passwords, api-keys, ...?
    • What's key-vault?
  • Service-Mesh
    • What's service-mesh? Why do we need that?
    • What's Side-Car pattern?
  • Communication Patterns (Inbox/Outbox, Fan-in/Fan-Out, Pub/Sub, Peer-2-Peer, ...)
    • How can microservices talk to each other?
    • What's gRPC? What's protobuf?
  • Message Delivery Semantics (At-Least-Once, At-Most-Once, Exactly-Once) + Retry
    • What's at-least-once in messaging?
    • What's at-most-once in messaging?
    • How to achieve exactly-once delivery in messaging?
    • What should we do when a message does not get delivered?
    • What's retry pattern?