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
  • Replication ์ด ํ•„์š”ํ•œ ์ด์œ 
  • Replication ๋ฐฉ์‹

Was this helpful?

  1. Paper
  2. Dynamo: Amazonโ€™s Highly Available Key-value Store
  3. 4. System Architecture

4.3 Replication

Replication ์ด ํ•„์š”ํ•œ ์ด์œ 

  • ๊ณ ๊ฐ€์šฉ์„ฑ ๋ฐ ๋‚ด๊ตฌ์„ฑ์„ ๋‹ฌ์„ฑํ•˜๊ธฐ ์œ„ํ•ด, Dynamo ๋Š” ์—ฌ๋Ÿฌ ํ˜ธ์ŠคํŠธ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณต์ œํ•ฉ๋‹ˆ๋‹ค.

Replication ๋ฐฉ์‹

  • ๊ฐ ๋ฐ์ดํ„ฐ ํ•ญ๋ชฉ์€ N๊ฐœ์˜ ํ˜ธ์ŠคํŠธ์—์„œ ๋ณต์ œ๋ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ N ์€ ์ธ์Šคํ„ด์Šค๋ณ„๋กœ ๊ตฌ์„ฑ๋œ ๋งค๊ฐœ๋ณ€์ˆ˜์ž…๋‹ˆ๋‹ค.

  • ๊ฐ Key ๋Š” coordinator ๋…ธ๋“œ์— ํ• ๋‹น๋ฉ๋‹ˆ๋‹ค.

The coordinator is in charge of the replication of the data items that fall within its range. In addition to locally storing each key within its range, the coordinator replicates these keys at the N-1 clockwise successor nodes in the ring. This results in a system where each node is responsible for the region of the ring between it and its Nth predecessor. In Figure 2, node B replicates the key k at nodes C and D in addition to storing it locally. Node D will store the keys that fall in the ranges (A, B], (B, C], and (C, D].

Previous4.2 PartitioningNextHash Function

Last updated 6 years ago

Was this helpful?