Ryu
  • πŸ‘©πŸ»β€πŸ’» Ryu / software_engineer
  • ✨Resume
  • Python3
    • Python3 κ°€μƒν™˜κ²½ μ„€μ •ν•˜κΈ°
      • Python3 vs Python2
      • Pyenv
      • Venv
      • Pip
    • Flask
      • Flask μ„€μΉ˜ν•˜κΈ°
      • API Server λ§Œλ“€κΈ°
    • REST API
    • Command Line ν™œμš©ν•˜κΈ°
    • Module μ‚¬μš©ν•˜κΈ°
      • Pickle - μžλ£Œν˜•μ„ 파일둜 μ €μž₯ν•  λ•Œ
    • MongoDB connection
      • Pymongo
    • WSGI
      • πŸ’‘WSGI κ°€ ν•„μš”ν•œ 이유
      • Web Server / WSGI / Middleware / Application ꡬ쑰
      • WSGI Middleware μ’…λ₯˜
      • Gunicorn
        • Gunicorn vs Uwsgi
    • Dockerize
      • πŸ’‘Dockerize κ°€ ν•„μš”ν•œ 이유
      • 1. Create Dockerfile
        • Gunicorn 으둜 nginx 와 app μ—°κ²°ν•˜κΈ°
    • Kubernetes 둜 λ°°ν¬ν•˜κΈ°
      • πŸ’‘Kubernetes κ°€ ν•„μš”ν•œ 이유
      • Helm μ‚¬μš©ν•˜κΈ°
      • Helm 으둜 k8s 에 μ•± λ°°ν¬ν•˜κΈ°
  • Open Tracing (정리쀑)
    • Open Tracing μ΄λž€ 무엇인가
    • Python OpenTracing Example
    • Jaeger, Jaeger UI
    • Python Jaeger Tutorial
    • Zipkin μ•Œμ•„λ³΄κΈ°
    • Jaeger-client λ¦¬μŠ€νŒ…
  • Microservice Architecture
    • Netflix의 MSA 컨셉
      • ⚑️ MSA λ₯Ό λ„μž…ν• λ•Œ κ³ λ €ν•΄μ•Όν•  점듀
  • Paper
    • Dynamo: Amazon’s Highly Available Key-value Store
      • 1. Introduction
      • 2. Background
      • 3. Related Work
        • Related Paper) Pastry, Chord
        • Byzantine Fault Tolerance
      • 4. System Architecture
        • 4.1 System Interface
        • 4.2 Partitioning
        • 4.3 Replication
        • Hash Function
  • Frontend
    • CommonJS 와 AMD
    • RequireJS
    • WebSocket
      • WebSocket vs Socket.io
      • polling vs long polling vs streaming
    • Vue.js
      • Vue.js μ—μ„œ WebSocket μ‚¬μš©ν•˜κΈ°
      • [ν”„λ‘œμ νŠΈ] Vue, Vuex, AntDesignVue 둜 운영툴 λ§Œλ“€κΈ°
    • React x Redux 둜 ν”„λ‘œμ νŠΈ λ§Œλ“€κΈ°
      • 0. React, Redux λ₯Ό μ„ νƒν•œ 이유
      • 1. ν”„λ‘œμ νŠΈ μƒμ„±ν•˜κ³  Webpack4 μ μš©ν•˜κΈ°
      • 2. React 와 ReactDOM μ μš©ν•˜κΈ°
      • 3. Material UI μ μš©ν•˜κΈ°
  • Data Engineering
    • Spark
      • Spark μ΄λž€?
      • 각 데λͺ¬μ˜ μ—­ν•  Driver, Master, Worker
      • μž₯단점 / ν•¨κ»˜μ‚¬μš©ν•˜λŠ” 툴 / μ‚¬μš© 사둀
  • Service Mesh (정리쀑)
    • RPC
    • gRPC - Python Server λ§Œλ“€κΈ°
      • step 2.
Powered by GitBook
On this page
  • System Architecture κ°€ μ€‘μš”ν•œ 이유
  • Summary of techniques used in Dynamo

Was this helpful?

  1. Paper
  2. Dynamo: Amazon’s Highly Available Key-value Store

4. System Architecture

System Architecture λž€?

System Architecture κ°€ μ€‘μš”ν•œ 이유

  • Storage System μ—μ„œ μž‘λ™ν•΄μ•Όν•˜λŠ” μ•„ν‚€ν…μ²˜λŠ” 섀정이 λ³΅μž‘ν•˜λ‹€.

  • 'Persistent Component' λ₯Ό μœ„ν•΄μ„œ, μ‹œμŠ€ν…œμ€ μ•„λž˜ μš”μ†Œλ“€μ„ ν•„μš”λ‘œν•©λ‹ˆλ‹€.

    • Scalable

    • Load Balancing

    • membership

    • failure detection

    • failure recovery

    • replica synchronization

    • overload handling

    • state transfer

    • concurrency

    • job scheduling

    • request marshalling

    • request routing

    • system monitoring

    • alarming

    • configuration management

이 Paper μ—μ„œλŠ” Dynamoμ—μ„œ μ‚¬μš©ν•˜λŠ” λΆ„μ‚° μ‹œμŠ€ν…œ 기술(core distributed systems technique) 에 μ§‘μ€‘ν•˜μ—¬ κΈ°μˆ ν•©λ‹ˆλ‹€.

λΆ„μ‚° μ‹œμŠ€ν…œ 기술의 μš”μ†ŒλŠ” μ•„λž˜μ™€ κ°™μŠ΅λ‹ˆλ‹€.

  • Partitioning

  • Replication

  • Versioning

  • Membership

  • Failure handling

  • Scaling

Summary of techniques used in Dynamo

PreviousByzantine Fault ToleranceNext4.1 System Interface

Last updated 6 years ago

Was this helpful?

A summary of the list of techniques Dynamo uses and their respective advantages.