Redis แ‰ แˆ˜แŒ แ‰€แˆ แ‹จแ‰ฐแŠจแ‹แˆแˆ‰ แˆ˜แ‰†แˆˆแŠแ‹ซแ‹Žแ‰ฝ

แˆƒแ‹ญ แˆ€แ‰ฅแˆญ!

แ‹›แˆฌ Redis แŠ• แ‰ แˆ˜แŒ แ‰€แˆ แ‹จแ‰ฐแŠจแ‹แˆแˆ‰ แˆ˜แ‰†แˆˆแŠแ‹ซแ‹Žแ‰ฝแŠ• แ‰ แˆ˜แ‰ฐแŒแ‰ แˆญ แˆ‹แ‹ญ แ‹ซแˆˆแ‹แŠ• แ‹แˆตแ‰ฅแˆตแ‰ฅ แŒฝแˆ‘แ แ‹ˆแ‹ฐ แŠฅแˆญแˆตแ‹Ž แ‰ตแŠฉแˆจแ‰ต แŠฅแŠ“แˆ˜แŒฃแˆˆแŠ• แŠฅแŠ“ แˆตแˆˆ แˆฌแ‹ฒแˆต แ‰ฐแˆตแ‹แ‹Žแ‰ฝ แŠฅแŠ•แ‹ฐ แŠ แˆญแŠฅแˆตแ‰ต แˆˆแˆ˜แŠแŒ‹แŒˆแˆญ แŠฅแŠ•แˆ˜แŠญแˆซแˆˆแŠ•แข แ‹จแˆ˜แŒฝแˆแ‰ แ‹ฐแˆซแˆฒ แˆ›แˆญแ‰ฒแŠ• แŠญแˆŒแ•แˆ›แŠ• แ‹จแ‰ณแˆฐแ‰ แ‹ แ‹จ Redlock แˆตแˆแ‰ฐ แ‰€แˆ˜แˆญ แ‰ตแŠ•แ‰ฐแŠ“แŠจแแ‰ฐแŠ› แŒญแŠแ‰ต แˆ˜แ‰ฐแŒแ‰ แˆชแ‹ซแ‹Žแ‰ฝ", แ‹จแ‰ฐแˆฐแŒ แ‹ แŠแ‹ แŠฅแ‹šแˆ….

แ‹จแ‰ฐแŠจแ‹แˆแˆ‰ แˆ˜แ‰†แˆˆแŠแ‹ซแ‹Žแ‰ฝ แ‹จแ‰ฐแˆˆแ‹ซแ‹ฉ แˆ‚แ‹ฐแ‰ถแ‰ฝ แ‰ แŒ‹แˆซ แˆ˜แŒˆแˆแŒˆแ‹ซแ‹Žแ‰ฝ แˆ‹แ‹ญ แŠฅแˆญแˆต แ‰ แˆญแˆต แ‰ แˆšแŒฃแŒฃแˆ แˆ˜แˆแŠฉ แˆ˜แˆตแˆซแ‰ต แ‰ แˆšแˆแˆแŒ‰แ‰ฃแ‰ธแ‹ แ‰ฅแ‹™ แŠ แŠซแ‰ฃแ‰ขแ‹Žแ‰ฝ แ‹แˆตแŒฅ แŒฅแ‰…แˆ แˆ‹แ‹ญ แ‹จแˆšแ‹แˆ‰ แ‰ แŒฃแˆ แŒ แ‰ƒแˆš แŒฅแŠ•แ‰ณแ‹Š แŠ“แ‰ธแ‹.

DLM (Distributed Lock Manager) แ‰ แˆฌแ‹ฒแˆต แŠฅแŠ•แ‹ดแ‰ต แˆ˜แ‰ฐแŒแ‰ แˆญ แŠฅแŠ•แ‹ฐแˆšแ‰ปแˆ แ‹จแˆšแŒˆแˆแŒน แ‰ แˆญแŠจแ‰ต แ‹ซแˆ‰ แ‰คแ‰ฐ-แˆ˜แŒปแˆ•แแ‰ต แŠฅแŠ“ แˆแŒฅแŽแ‰ฝ แŠ แˆ‰แฃ แŠแŒˆแˆญ แŒแŠ• แŠฅแ‹ซแŠ•แ‹ณแŠ•แ‹ฑ แ‰คแ‰ฐ-แˆ˜แŒฝแˆแแ‰ต แ‹จแ‰ฐแˆˆแ‹จ แŠ แŠซแˆ„แ‹ต แˆตแˆˆแˆšแ‹ˆแˆตแ‹ต แ‹จแˆšแˆฐแŒ แ‹ แ‹‹แˆตแ‰ตแŠ“ แ‰ตแŠ•แˆฝ แ‹แˆตแ‰ฅแˆตแ‰ฅ แ‰ แˆ†แŠ แŠ•แ‹ตแ แˆŠแ‹ฐแˆจแˆตแ‰ แ‰ต แŠจแˆšแ‰ฝแˆˆแ‹ แŒ‹แˆญ แˆฒแ‹ˆแ‹ณแ‹ฐแˆญ แ‹ฐแŠซแˆ› แŠแ‹แข

แ‰ แ‹šแˆ… แŒฝแˆ‘แ แ‹แˆตแŒฅ แ‹จแ‰ฐแŠจแ‹แˆแˆˆ แˆ˜แ‰†แˆˆแŠแ‹ซแŠ• แ‰ แˆฌแ‹ฒแˆต แŠฅแŠ•แ‹ดแ‰ต แˆ˜แ‰ฐแŒแ‰ แˆญ แŠฅแŠ•แ‹ฐแˆšแ‰ปแˆ แ‹จแˆšแ‹ซแˆณแ‹ญ แˆแŠ”แ‰ณแ‹Š แ‰€แŠ–แŠ“แ‹Š แˆตแˆแ‰ฐ-แ‰€แˆ˜แˆญแŠ• แˆˆแˆ˜แŒแˆˆแŒฝ แŠฅแŠ•แˆžแŠญแˆซแˆˆแŠ•แข แˆตแˆˆ แŠ แŠ•แ‹ต แˆตแˆแ‰ฐ แ‰€แˆ˜แˆญ แŠฅแŠ•แŠแŒ‹แŒˆแˆซแˆˆแŠ• แ‹ณแŒแˆ แˆ˜แ‰†แˆˆแŠแ‹ซ, แ‹จแ‰ฐแŠจแ‹แˆแˆˆ แ‹จแˆ˜แ‰†แˆˆแŠแ‹ซ แŠ แˆตแ‰ฐแ‹ณแ‹ณแˆชแŠ• แ‹ญแ‰ฐแŒˆแ‰ฅแˆซแˆ แŠฅแŠ“, แ‰ แŠฅแŠ› แŠ แˆตแ‰ฐแ‹ซแ‹จแ‰ต, แ‹ญแˆ… แˆตแˆแ‰ฐ แ‰€แˆ˜แˆญ แŠจแŠ แŠ•แ‹ต แŠแŒ แˆ‹ แˆแˆณแˆŒ แŒ‹แˆญ แŠจแ‰ฐแˆˆแˆ˜แ‹ฐแ‹ แŠ แˆฐแˆซแˆญ แ‹จแ‰ แˆˆแŒ  แ‹ฐแˆ…แŠ•แŠแ‰ฑ แ‹จแ‰ฐแŒ แ‰ แ‰€ แŠแ‹. แˆ…แ‰ฅแˆจแ‰ฐแˆฐแ‰ก แ‰ฐแŠ•แ‰ตแŠ–แฃ แŠ แˆตแ‰ฐแ‹ซแ‹จแ‰ต แ‰ แˆ˜แˆตแŒ แ‰ต แŠฅแŠ“ แˆˆแ‰ฐแ‹ˆแˆณแˆฐแ‰ก แ‹ˆแ‹ญแˆ แŠ แˆ›แˆซแŒญ แ•แˆฎแŒ€แŠญแ‰ถแ‰ฝ แ‰ตแŒแ‰ แˆซ แŠฅแŠ•แ‹ฐ แˆ˜แŠแˆป แ‹ญแŒ แ‰€แˆแ‰ แ‰ณแˆ แ‰ฅแˆˆแŠ• แ‰ฐแˆตแ‹ แŠฅแŠ“แ‹ฐแˆญแŒ‹แˆˆแŠ•แข

แ‰ตแŒแ‰ แˆซ

แ‹ˆแ‹ฐ แŠ แˆแŒŽแˆชแ‹แˆ แŒˆแˆˆแŒป แŠจแˆ˜แ‰€แŒ แˆแ‹Ž แ‰ แŠแ‰ต, แ‹แŒแŒ แˆˆแˆ†แŠ‘ แŠ แ‰ฐแŒˆแ‰ฃแ‰ แˆญ แ‰ฅแ‹™ แŠ แŒˆแŠ“แŠžแ‰ฝแŠ• แŠฅแŠ•แˆฐแŒฃแˆˆแŠ•. แˆˆแˆ›แŒฃแ‰€แˆปแŠแ‰ต แŒฅแ‰…แˆ แˆ‹แ‹ญ แˆŠแ‹แˆ‰ แ‹ญแ‰ฝแˆ‹แˆ‰.

แ‹จแ‹ฐแˆ…แŠ•แŠแ‰ต แŠฅแŠ“ แ‰ฐแŒˆแŠแŠแ‰ต แ‹‹แˆตแ‰ตแŠ“แ‹Žแ‰ฝ

แ‹จแ‰ฐแŠจแ‹แˆแˆ‰ แˆ˜แ‰†แˆˆแŠแ‹ซแ‹Žแ‰ฝแŠ• แ‰ แ‰ฅแ‰ƒแ‰ต แˆˆแˆ˜แŒ แ‰€แˆ แ‹จแˆšแ‹ซแˆตแˆแˆแŒ‰แ‰ตแŠ• แŠ แŠแˆตแ‰ฐแŠ› แ‹‹แˆตแ‰ตแŠ“แ‹Žแ‰ฝ แ‹ญแˆฐแŒฃแˆ‰ แ‰ฅแˆˆแŠ• แŠจแˆแŠ“แˆตแ‰ แ‹ แˆถแˆตแ‰ต แŠ•แ‰ฅแˆจแ‰ถแ‰ฝ แŒ‹แˆญ แ•แˆฎแŒ€แŠญแ‰ณแ‰ฝแŠ•แŠ• แŠฅแŠ•แ‰€แˆญแƒแˆˆแŠ•แข

  1. แ‹จแ‹ฐแˆ…แŠ•แŠแ‰ต แŠ•แ‰ฅแˆจแ‰ตแก แ‹จแŒ‹แˆซ แˆ˜แŒˆแˆˆแˆแข แ‰ แˆ›แŠ•แŠ›แ‹แˆ แŒŠแ‹œ แŠ แŠ•แ‹ต แ‹ฐแŠ•แ‰ แŠ› แ‰ฅแ‰ป แˆ˜แ‰†แˆˆแŠแ‹ซแŠ• แ‹ญแ‹ญแ‹›แˆแข
  2. แ‹จแ‰ฐแ‹ฐแˆซแˆฝแŠแ‰ต แŠ•แ‰ฅแˆจแ‰ต แˆ€แก แˆแŠ•แˆ แˆ˜แ‰†แˆˆแŠแ‹ซแ‹Žแ‰ฝ แ‹จแˆ‰แˆแข แˆ€แ‰ฅแ‰ฑแŠ• แ‹จแ‹ซแ‹˜แ‹ แ‹ฐแŠ•แ‰ แŠ› แ‰ฃแ‹ญแˆณแŠซแˆ แ‹ˆแ‹ญแˆ แ‹จแ‰ฐแˆˆแ‹จ แ‹จแ‹ฒแˆตแŠญ แŠญแแˆ แ‰ขแˆ˜แ‰ณ แˆแˆแŒŠแ‹œแˆ แ‰ แˆ˜แŒจแˆจแˆป แˆ˜แ‰†แˆˆแŠแ‹ซ แˆ›แŒแŠ˜แ‰ต แ‰ตแ‰ฝแˆ‹แˆˆแˆ…แข
  3. แ‹จแ‰ฐแŒˆแŠแŠแ‰ต แŠ•แ‰ฅแˆจแ‰ต แˆˆแก แˆตแˆ…แ‰ฐแ‰ต แˆ˜แ‰ปแ‰ปแˆแข แŠ แ‰ฅแ‹›แŠ›แ‹Žแ‰น Redis nodes แŠฅแ‹จแˆฐแˆฉ แŠฅแˆตแŠจแˆ†แŠ‘ แ‹ตแˆจแˆต แ‹ฐแŠ•แ‰ แŠžแ‰ฝ แˆ˜แ‰†แˆˆแŠแ‹ซแ‹Žแ‰ฝแŠ• แˆ›แŒแŠ˜แ‰ต แŠฅแŠ“ แˆ˜แˆแ‰€แ‰… แ‹ญแ‰ฝแˆ‹แˆ‰แข

แˆˆแˆแŠ• แ‰ แ‹šแˆ… แŒ‰แ‹ณแ‹ญ แˆ‹แ‹ญ แ‹ซแˆแ‰ฐแˆณแŠซ แ‰ตแŒแ‰ แˆซ แ‰ แ‰‚ แŠ แ‹ญแ‹ฐแˆˆแˆ
แˆแŠ• แŠฅแŠ•แ‹ฐแˆแŠ“แˆปแˆฝแˆ แˆˆแˆ˜แˆจแ‹ณแ‰ต แ‰ แˆฌแ‹ฒแˆต แˆ‹แ‹ญ แ‰ แˆ˜แˆ˜แˆตแˆจแ‰ต แ‰ แŠ แ‰ฅแ‹›แŠ›แ‹Žแ‰น แ‰คแ‰ฐ-แˆ˜แŒปแˆ•แแ‰ต แ‹จแ‰ฐแ‹˜แŒ‹แŒ€แ‹แŠ• แ‹ˆแ‰…แ‰ณแ‹Š แˆแŠ”แ‰ณ แŠฅแŠ•แˆ˜แˆญแˆแˆญแข

RedisแŠ• แ‰ แˆ˜แŒ แ‰€แˆ แˆ€แ‰ฅแ‰ตแŠ• แˆˆแˆ˜แ‰†แˆˆแ แ‰€แˆ‹แˆ‰ แˆ˜แŠ•แŒˆแ‹ต แ‰ แˆแˆณแˆŒแ‹ แ‹แˆตแŒฅ แ‰แˆแ แˆ˜แแŒ แˆญ แŠแ‹แข แ‰ฅแ‹™แ‹แŠ• แŒŠแ‹œ แ‰แˆแ‰ แ‹จแˆšแˆแŒ แˆจแ‹ แŠจแ‰ฐแŒˆแ‹ฐแ‰  แ‹จแˆ…แ‹ญแ‹ˆแ‰ต แ‹˜แˆ˜แŠ• แŒ‹แˆญ แŠแ‹แฃ แ‹ญแˆ… แ‹จแˆšแŒˆแŠ˜แ‹ แ‰ แˆฌแ‹ฒแˆต แ‹แˆตแŒฅ แ‹ซแˆˆแ‹แŠ• แ‹จแŠ แŒˆแˆแŒแˆŽแ‰ต แˆ›แ‰ฅแ‰‚แ‹ซ แ‰ฃแˆ…แˆช แ‰ แˆ˜แŒ แ‰€แˆ แŠแ‹แฃ แˆตแˆˆแ‹šแˆ… แ‹ญแ‹‹แˆ แ‹ญแ‹ฐแˆญ แ‹ญแˆ… แ‰แˆแ แ‹ญแˆˆแ‰€แ‰ƒแˆ (แ‰ แŠฅแŠ› แ‹แˆญแ‹แˆญ แ‹แˆตแŒฅ 2 แŠ•แ‰ฅแˆจแ‰ต)แข แŠ แŠ•แ‹ต แ‹ฐแŠ•แ‰ แŠ› แˆƒแ‰ฅแ‰ต แˆ˜แˆแ‰€แ‰… แˆฒแˆแˆแŒ แ‰แˆแ‰แŠ• แ‹ญแˆฐแˆญแ‹›แˆแข

แ‰ แ‰…แ‹ตแˆ˜-แŠฅแ‹ญแ‰ณ, แ‹ญแˆ… แˆ˜แแ‰ตแˆ„ แ‹จแˆšแˆฐแˆซ แ‹ญแˆ˜แˆตแˆ‹แˆ, แŒแŠ• แ‰ฝแŒแˆญ แŠ แˆˆ-แ‹จแŠฅแŠ› แŠ แˆญแŠญแ‰ดแŠญแ‰ธแˆญ แŠ แŠ•แ‹ต แŠแŒ แˆ‹ แ‹จแ‹แ‹ตแ‰€แ‰ต แŠแŒฅแ‰ฅ แŠ แˆˆแ‹. แ‹จแˆŠแ‹ต แˆฌแ‹ฒแˆต แˆแˆณแˆŒ แŠซแˆแ‰ฐแˆณแŠซ แˆแŠ• แ‹ญแŠจแˆฐแ‰ณแˆ? แŠฅแŠ•แŒแ‹ฒแˆ… แ‰ฐแŠจแ‰ณแ‹ญ แŠฅแŠ•แŒจแˆแˆญ! แŠฅแŠ“ แŠ แˆตแ‰ฐแŠ“แŒ‹แŒ แŠจแˆŒแˆˆ แŠฅแŠ•แŒ แ‰€แˆ›แˆˆแŠ•. แŠฅแŠ•แ‹ฐ แŠ แˆˆแˆ˜แ‰ณแ‹ฐแˆ แˆ†แŠ– แ‹ญแˆ… แŠ แˆ›แˆซแŒญ แ‰ฐแŒแ‰ฃแˆซแ‹Š แˆŠแˆ†แŠ• แŠ แ‹ญแ‰ฝแˆแˆแข แ‹ญแˆ…แŠ• แ‰ แˆ›แ‹ตแˆจแŒ แˆˆแ‹ฐแˆ…แŠ•แŠแ‰ต แˆฒแ‰ฃแˆ แ‹จแˆแŠ•แˆแˆแŒˆแ‹แŠ• แ‹จแŒ‹แˆซ แˆ˜แŒˆแˆˆแˆ แŠ•แ‰ฅแˆจแ‰ต แ‰ แ‰ตแŠญแŠญแˆ แˆ˜แ‰ฐแŒแ‰ แˆญ แŠ แŠ•แ‰ฝแˆแˆ แˆแŠญแŠ•แ‹ซแ‰ฑแˆ แ‰ แˆฌแ‹ฒแˆต แ‹แˆตแŒฅ แˆ›แ‰ฃแ‹›แ‰ต แŠ แ‹ญแˆ˜แˆณแˆฐแˆแˆแข

แ‰ แŒแˆแŒฝ แŠฅแŠ•แ‹ฐแˆšแ‰ณแ‹จแ‹ แฃ แ‹จแ‹˜แˆญ แˆแŠ”แ‰ณ แ‰ แŠฅแŠ•แ‹ฐแ‹šแˆ… แ‹“แ‹ญแŠแ‰ต แˆžแ‹ดแˆ แ‹แˆตแŒฅ แ‹ญแŠจแˆฐแ‰ณแˆ

  1. แ‹ฐแŠ•แ‰ แŠ› แˆ€ แ‰ แŒŒแ‰ณแ‹ แˆ‹แ‹ญ แˆ˜แ‰†แˆˆแŠแ‹ซ แ‹ซแŒˆแŠ›แˆแข
  2. แ‹ˆแ‹ฐ แ‰แˆแ‰ แˆ˜แƒแ แ‹ˆแ‹ฐ แ‰ฃแˆชแ‹ซแ‹ แŠจแˆ˜แ‰ฐแˆ‹แˆˆแ‰ แ‰ แŠแ‰ต แŒŒแ‰ณแ‹ แŠ แˆแ‰ฐแˆณแŠซแˆ.
  3. แ‰ฐแŠจแ‰ณแ‹ญ แ‹ˆแ‹ฐ แˆ˜แˆชแŠแ‰ต แŠจแ แ‰ฅแˆแˆแข
  4. แ‹ฐแŠ•แ‰ แŠ› B แŠ แˆตแ‰€แ‹ตแˆž แ‰ แŠค แ‹จแ‰ฐแ‰†แˆˆแˆแ‹แŠ• แ‰ แ‰ฐแˆ˜แˆณแˆณแ‹ญ แŒแ‰ฅแŠ แ‰ต แˆ‹แ‹ญ แˆ˜แ‰†แˆˆแŠแ‹ซ แ‹ซแŒˆแŠ›แˆแข แ‹จแ‹ฐแˆ…แŠ•แŠแ‰ต แŒฅแˆฐแ‰ต!

แŠ แŠ•แ‹ณแŠ•แ‹ต แŒŠแ‹œ แŠฅแŠ•แ‹ฐ แŠ แˆˆแˆ˜แˆณแŠซแ‰ต แ‰ฃแˆ‰ แˆแ‹ฉ แˆแŠ”แ‰ณแ‹Žแ‰ฝ แ‹แˆตแŒฅ แ‰ฅแ‹™ แ‹ฐแŠ•แ‰ แŠžแ‰ฝ แ‰ แ‰ฐแˆ˜แˆณแˆณแ‹ญ แŒŠแ‹œ แˆ˜แ‰†แˆˆแŠแ‹ซแŠ• แˆŠแ‹ญแ‹™ แˆ˜แ‰ปแˆ‹แ‰ธแ‹ แ‰ แŒฃแˆ แ‹จแ‰ฐแˆˆแˆ˜แ‹ฐ แŠแ‹แข แ‰ แŠฅแŠ•แ‹ฐแ‹šแˆ… แ‹“แ‹ญแŠแ‰ต แˆแŠ”แ‰ณแ‹Žแ‰ฝ, แ‰ แˆ›แ‰ฃแ‹›แ‰ต แˆ‹แ‹ญ แ‹จแ‰ฐแˆ˜แˆฐแˆจแ‰ฐ แˆ˜แแ‰ตแˆ„ แˆŠแ‰ฐแŒˆแ‰ แˆญ แ‹ญแ‰ฝแˆ‹แˆ. แŠ แˆˆแ‰ แˆˆแ‹šแ‹ซ แ‰ แ‹šแˆ… แŒฝแˆ‘แ แ‹แˆตแŒฅ แ‹จแ‰ฐแŒˆแˆˆแŒธแ‹แŠ• แˆ˜แแ‰ตแˆ„ แŠฅแŠ•แˆ˜แŠญแˆซแˆˆแŠ•.

แ‰ แŠ แŠ•แ‹ต แˆแˆณแˆŒ แ‰ตแŠญแŠญแˆˆแŠ› แŠ แ‰ฐแŒˆแ‰ฃแ‰ แˆญ

แŠจแˆ‹แ‹ญ แ‹จแ‰ฐแŒˆแˆˆแŒธแ‹แŠ• แ‹จแŠแŒ แˆ‹ แˆแˆณแˆŒ แ‹แ‰…แˆญ แ‹ตแŠญแˆ˜แ‰ถแ‰ฝแŠ• แˆˆแˆ›แˆธแŠแ แŠจแˆ˜แˆžแŠจแˆญแ‹Ž แ‰ แŠแ‰ต แฃ แ‹ญแˆ…แŠ•แŠ• แ‰€แˆ‹แˆ แŒ‰แ‹ณแ‹ญ แŠฅแŠ•แ‹ดแ‰ต แ‰ แ‰ตแŠญแŠญแˆ แˆ˜แ‹ซแ‹ แŠฅแŠ•แ‹ฐแˆšแ‰ปแˆ แŠฅแŠ•แ‹ญ แฃ แˆแŠญแŠ•แ‹ซแ‰ฑแˆ แŠฅแŠ•แ‹ฒแˆ… แ‹“แ‹ญแŠแ‰ฑ แˆ˜แแ‰ตแˆ„ แ‰ แŠฅแ‹แŠแ‰ฑ แ‹จแ‹แ‹ตแ‹ตแˆญ แˆแŠ”แ‰ณ แŠจแŒŠแ‹œ แ‹ˆแ‹ฐ แŒŠแ‹œ แ‰ฐแ‰€แ‰ฃแ‹ญแŠแ‰ต แ‰ แˆšแˆฐแŒฅแ‰ฃแ‰ธแ‹ แˆ˜แ‰ฐแŒแ‰ แˆชแ‹ซแ‹Žแ‰ฝ แ‹แˆตแŒฅ แ‰ฐแ‰€แ‰ฃแ‹ญแŠแ‰ต แ‹ซแˆˆแ‹ แˆตแˆˆแˆ†แŠ แŠฅแŠ“ แŠฅแŠ•แ‹ฒแˆแˆ แˆตแˆˆ แˆ›แŒˆแ‹ต แŠแ‹แข แŠ แŠ•แ‹ต แŠแŒ แˆ‹ แˆแˆณแˆŒ แŠฅแ‹šแˆ… แ‰ แ‰ฐแŒˆแˆˆแŒธแ‹ แ‰ แ‰ฐแŠจแ‹แˆแˆˆแ‹ แˆตแˆแ‰ฐ แ‰€แˆ˜แˆญ แ‹แˆตแŒฅ แŒฅแ‰…แˆ แˆ‹แ‹ญ แ‹จแˆšแ‹แˆ แˆ˜แˆ แˆจแ‰ต แˆ†แŠ– แ‹ซแŒˆแˆˆแŒแˆ‹แˆแข

แˆ˜แ‰†แˆˆแŠแ‹ซ แˆˆแˆ›แŒแŠ˜แ‰ต แ‹จแˆšแŠจแ‰ฐแˆ‰แ‰ตแŠ• แ‹ซแ‹ตแˆญแŒ‰

SET resource_name my_random_value NX PX 30000

แ‹ญแˆ… แ‰ตแŠฅแ‹›แ‹ แ‰แˆแ‰แŠ• แ‹จแˆšแ‹ซแ‹˜แŒ‹แŒ€แ‹ แŠ แˆตแ‰€แ‹ตแˆž แŠจแˆŒแˆˆ แ‰ฅแ‰ป แŠแ‹ (แŠ แˆ›แˆซแŒญ NX)แฃ แ‹จแˆšแ‰†แ‹ญแ‰ แ‰ต แŒŠแ‹œ 30000 แˆšแˆŠแˆฐแŠจแŠ•แ‹ถแ‰ฝ (แŠ แˆ›แˆซแŒญ PX)แข แ‰แˆแ‰ แ‰ฐแ‰€แŠ“แ‰ฅแˆฏแˆ แ‹ˆแ‹ฐ "myrandomvalue". แ‹ญแˆ… แ‹‹แŒ‹ แ‰ แˆแˆ‰แˆ แ‹ฐแŠ•แ‰ แŠžแ‰ฝ แŠฅแŠ“ แ‰ แˆแˆ‰แˆ แ‹จแˆ˜แ‰†แˆˆแŠแ‹ซ แŒฅแ‹ซแ‰„แ‹Žแ‰ฝ แˆ‹แ‹ญ แˆแ‹ฉ แˆ˜แˆ†แŠ• แŠ แˆˆแ‰ แ‰ตแข
แ‰ แˆ˜แˆ แˆจแ‰ฑแฃ แ‹จแ‹˜แˆแ‰€แ‹ฐ แŠฅแˆดแ‰ต แˆ˜แ‰†แˆˆแŠแ‹ซแ‹แŠ• แ‹ฐแˆ…แŠ•แŠแ‰ฑ แ‰ แ‰ฐแŒ แ‰ แ‰€ แˆแŠ”แ‰ณ แˆˆแˆ˜แˆแ‰€แ‰… แŒฅแ‰…แˆ แˆ‹แ‹ญ แ‹ญแ‹แˆ‹แˆแฃ แˆตแŠญแˆชแ•แ‰ฑ Redis แ‰แˆแ‰แŠ• แŠซแˆˆ แ‰ฅแ‰ป แŠฅแŠ•แ‹ฒแˆฐแˆญแ‹ แ‹ญแŠแŒแˆจแ‹‹แˆแฃ แŠฅแŠ“ แ‰ แ‹แˆตแŒก แ‹จแ‰ฐแ‰€แˆ˜แŒ แ‹ แŠฅแˆดแ‰ต แ‰ แ‰ตแŠญแŠญแˆ แ‹จแˆšแŒ แ‰ แ‰€แ‹ แŠแ‹แข แ‹ญแˆ… แ‰ แˆšแŠจแ‰ฐแˆˆแ‹ แ‹จแˆ‰แŠ  แˆตแŠญแˆชแ•แ‰ต แ‹จแ‰ฐแŒˆแŠ˜ แŠแ‹แข

if redis.call("get",KEYS[1]) == ARGV[1] then
    return redis.call("del",KEYS[1])
else
    return 0
end

แ‰ แˆŒแˆ‹ แ‹ฐแŠ•แ‰ แŠ› แ‹จแˆšแ‹ˆแˆฐแ‹ต แˆ˜แ‰†แˆˆแŠแ‹ซ แŠฅแŠ•แ‹ณแ‹ญแˆˆแ‰€แ‰… แˆˆแˆ˜แŠจแˆ‹แŠจแˆ แ‹ญแˆ… แŠ แˆตแˆแˆ‹แŒŠ แŠแ‹แข แˆˆแˆแˆณแˆŒแฃ แŠ แŠ•แ‹ต แ‹ฐแŠ•แ‰ แŠ› แˆ˜แ‰†แˆˆแŠแ‹ซ แ‹ญแ‹ญแ‹›แˆแฃแŠจแ‹šแ‹ซแˆ แŠจแˆ˜แŒ€แˆ˜แˆชแ‹ซแ‹ แˆ˜แ‰†แˆˆแŠแ‹ซ แ‰ แˆ‹แ‹ญ แ‹จแˆšแ‰†แ‹ญ แŠ แŠ•แ‹ณแŠ•แ‹ต แˆตแˆซแ‹Žแ‰ฝแŠ• แˆ˜แ‰†แˆˆแ (แ‰แˆแ‰ แŒŠแ‹œแ‹ แ‹จแˆšแ‹ซแ‰ แ‰ƒแ‰ แ‰ต แŒŠแ‹œ แŠฅแŠ•แ‹ฒแŠ–แˆจแ‹) แŠฅแŠ“ แ‰ แŠ‹แˆ‹ แˆŒแˆ‹ แ‹ฐแŠ•แ‰ แŠ› แ‹จแ‹ซแ‹˜แ‹แŠ• แˆ˜แ‰†แˆˆแŠแ‹ซ แ‹ซแˆตแ‹ˆแŒแ‹ณแˆแข
แ‹ฐแŠ•แ‰ แŠ›แ‹ แ‰ แˆŒแˆ‹ แ‹ฐแŠ•แ‰ แŠ› แ‹จแ‰ฐแ‹ซแ‹˜แ‹แŠ• แˆ˜แ‰†แˆˆแŠแ‹ซ แˆŠแˆˆแ‰… แˆตแˆˆแˆšแ‰ฝแˆ แ‰€แˆ‹แˆ DEL แˆ˜แŒ แ‰€แˆ แ‹ฐแˆ…แŠ•แŠแ‰ฑ แ‹จแ‰ฐแŒ แ‰ แ‰€ แŠแ‹แข แ‰ แ‰ฐแ‰ƒแˆซแŠ’แ‹, แŠจแˆ‹แ‹ญ แ‹ซแˆˆแ‹แŠ• แˆตแŠญแˆชแ•แ‰ต แˆฒแŒ แ‰€แˆ™, แŠฅแ‹ซแŠ•แ‹ณแŠ•แ‹ฑ แˆ˜แ‰†แˆˆแŠแ‹ซ แ‰ แ‹˜แˆแ‰€แ‹ฐ แˆ•แ‰ฅแˆจแ‰แˆแŠ "แ‹จแ‰ฐแˆแˆจแˆ˜" แŠแ‹, แˆตแˆˆแ‹šแˆ… แ‰€แ‹ฐแˆ แˆฒแˆ แ‹ซแˆตแ‰€แˆ˜แŒ แ‹ แ‹ฐแŠ•แ‰ แŠ› แ‰ฅแ‰ป แŠแ‹ แˆ›แˆตแ‹ˆแŒˆแ‹ต แ‹จแˆšแ‰ฝแˆˆแ‹.

แ‹ญแˆ… แ‹จแ‹˜แˆแ‰€แ‹ฐ แˆ•แ‰ฅแˆจแ‰แˆแŠ แˆแŠ• แˆ˜แˆ†แŠ• แŠ แˆˆแ‰ แ‰ต? แŠจ/dev/urandom 20 แ‰ฃแ‹ญแ‰ต แˆ˜แˆ†แŠ• แŠ แˆˆแ‰ แ‰ต แ‰ฅแ‹ฌ แŠฅแŒˆแˆแ‰ณแˆˆแˆแฃ แŠแŒˆแˆญ แŒแŠ• แŒˆแˆ˜แ‹ฑแŠ• แˆˆแŠฅแˆญแˆตแ‹Ž แ‹“แˆ‹แˆ›แ‹Žแ‰ฝ แ‰ แ‰ แ‰‚ แˆแŠ”แ‰ณ แˆแ‹ฉ แˆˆแˆ›แ‹ตแˆจแŒ แ‰ฅแ‹™ แ‹ˆแŒช แ‹จแˆ›แ‹ญแŒ แ‹ญแ‰ แˆ˜แŠ•แŒˆแ‹ถแ‰ฝ แŠ แˆ‰แข แˆˆแˆแˆณแˆŒแฃ RC4แŠ• แ‹ˆแ‹ฐ /dev/urandom แˆ˜แ‹แˆซแ‰ต แŠฅแŠ“ แ‰ แŠฅแˆฑ แˆ‹แ‹ญ แ‹จแ‰ฐแˆ˜แˆฐแˆจแ‰ฐ แ‹จแ‹แˆธแ‰ต-แ‹จแ‹˜แˆแ‰€แ‹ฐ แ‹ฅแˆจแ‰ต แˆ›แˆ˜แŠ•แŒจแ‰ต แŒฅแˆฉ แ‹ญแˆ†แŠ“แˆแข แ‰€แˆˆแˆ แ‹ซแˆˆ แˆ˜แแ‰ตแˆ” แ‰ แˆ›แ‹ญแŠญแˆฎ แˆฐแŠจแŠ•แ‹ต แŒฅแˆซแ‰ต แŠฅแŠ“ แ‹จแ‹ฐแŠ•แ‰ แŠ› แˆ˜แ‰ณแ‹ˆแ‰‚แ‹ซ แ‹แˆตแŒฅ แ‹จแ‹ฉแŠ’แŠญแˆต แŒŠแ‹œ แŒฅแˆแˆจแ‰ต แ‹ซแŠซแ‰ตแ‰ณแˆ; แ‹ฐแˆ…แŠ•แŠแ‰ฑ แ‹จแ‰ฐแŒ แ‰ แ‰€ แŠ แ‹ญแ‹ฐแˆˆแˆแฃ แŒแŠ• แ‰ แŠ แ‰ฅแ‹›แŠ›แ‹Žแ‰น แˆแŠ”แ‰ณแ‹Žแ‰ฝ แŠฅแˆตแŠจ แ‹จแ‰ฐแŒแ‰ฃแˆญ แ‹ฐแˆจแŒƒ แ‹ตแˆจแˆต แŠแ‹ แˆŠแ‰ฃแˆ แ‹ญแ‰ฝแˆ‹แˆแข

แˆˆแ‰แˆแ แ‹จแˆ…แ‹ญแ‹ˆแ‰ต แ‹˜แˆ˜แŠ• แˆ˜แˆˆแŠชแ‹ซ แ‹จแˆแŠ•แŒ แ‰€แˆแ‰ แ‰ต แŒŠแ‹œ "Lock Validity" แ‹ญแ‰ฃแˆ‹แˆแข แ‹ญแˆ… แ‹‹แŒ‹ แˆแˆˆแ‰ฑแˆ แˆ˜แ‰†แˆˆแŠแ‹ซแ‹ แ‰ แˆซแˆต-แˆฐแˆญ แ‹จแˆšแˆˆแ‰€แ‰…แ‰ แ‰ต แŒŠแ‹œ แŠฅแŠ“ แ‹ฐแŠ•แ‰ แŠ› แˆŒแˆ‹ แ‹ฐแŠ•แ‰ แŠ› แ‰ แˆแˆ‹แˆน แ‹จแŒ‹แˆซ แˆ˜แŒˆแˆˆแˆแŠ• แ‹‹แˆตแ‰ตแŠ“ แˆณแ‹ญแŒฅแˆต แˆ€แ‰ฅแ‰ฑแŠ• แŠจแˆ˜แ‰†แˆˆแ‰ แ‰ แŠแ‰ต แŠฆแ•แˆฌแˆฝแŠ‘แŠ• แ‹จแˆšแˆแŒฝแˆแ‰ แ‰ต แŒŠแ‹œ แŠแ‹แข แ‹ญแˆ… แ‹‹แˆตแ‰ตแŠ“ แˆˆแ‰ฐแ‹ˆแˆฐแŠ แŒŠแ‹œ แ‰ฅแ‰ป แ‹จแ‰ฐแŒˆแ‹ฐแ‰  แŠแ‹, แ‹ญแˆ…แˆ แˆ˜แ‰†แˆˆแŠแ‹ซแ‹ แŠจแ‰ฐแŒˆแ‹›แ‰ แ‰ต แŒŠแ‹œ แŒ€แˆแˆฎ แ‹ญแŒ€แˆแˆซแˆ.

แˆตแˆˆแ‹šแˆ… แˆ˜แ‰†แˆˆแŠแ‹ซ แˆˆแˆ›แŒแŠ˜แ‰ต แŠฅแŠ“ แˆˆแˆ˜แˆแ‰€แ‰… แŒฅแˆฉ แˆ˜แŠ•แŒˆแ‹ต แ‰ฐแ‹ˆแ‹ซแ‹ญแ‰ฐแŠ“แˆแข แˆตแˆญแ‹“แ‰ฑ (แŠ แŠ•แ‹ต แŠฅแŠ“ แˆแˆแŒŠแ‹œ แ‹จแˆšแŒˆแŠ แˆแˆณแˆŒแŠ• แ‹ซแŠซแ‰ฐแ‰ฐ แ‹ซแˆแ‰ฐแŠจแ‹แˆแˆˆ แˆตแˆญแ‹“แ‰ต แŠฅแ‹จแ‰ฐแŠแŒ‹แŒˆแˆญแŠ• แŠจแˆ†แŠ) แ‹ฐแˆ…แŠ•แŠแ‰ฑ แ‹จแ‰ฐแŒ แ‰ แ‰€ แŠแ‹แข แ‹ญแˆ…แŠ•แŠ• แ…แŠ•แˆฐ-แˆ€แˆณแ‰ฅ แŠฅแŠ•แ‹ฐแ‹šแˆ… แŠ แ‹ญแŠแ‰ต แ‹‹แˆตแ‰ตแŠ“แ‹Žแ‰ฝ แ‹ˆแ‹ฐแˆŒแˆˆแŠ•แ‰ แ‰ต แ‹จแ‰ฐแŠจแ‹แˆแˆˆ แˆตแˆญแ‹“แ‰ต แŠฅแŠ“แˆซแ‹แˆ˜แ‹แข

แŠ แˆแŒŽแˆชแ‹แˆแŠ• แŠฅแŠ•แ‹ฐแŒˆแŠ“ แˆ˜แ‰†แˆˆแ

แ‹จแ‰ฐแˆฐแˆซแŒจแ‹ แ‹จแŠ แˆแŒŽแˆชแ‹แˆ แˆตแˆชแ‰ต N แˆ˜แˆช Redis แŠฅแŠ•แ‹ณแˆˆแŠ• แ‹ญแŒˆแˆแ‰ณแˆแข แŠฅแŠแ‹šแˆ… แŠ แŠ•แŒ“แ‹Žแ‰ฝ แŠ แŠ•แ‹ณแ‰ธแ‹ แŠจแˆŒแˆ‹แ‹ แˆ™แˆ‰ แ‰ แˆ™แˆ‰ แŠแƒ แŠ“แ‰ธแ‹แฃ แˆตแˆˆแ‹šแˆ… แˆ›แ‰ฃแ‹›แ‰ตแŠ• แ‹ˆแ‹ญแˆ แˆŒแˆ‹ แˆ›แŠ•แŠ›แ‹แŠ•แˆ แˆตแ‹แˆญ แ‹จแˆ›แˆตแ‰ฐแ‰ฃแ‰ แˆญ แˆตแˆญแ‹“แ‰ต แŠ แŠ•แŒ แ‰€แˆแˆแข แ‰ แŠ แŠ•แ‹ต แˆแˆณแˆŒ แˆ‹แ‹ญ แˆ˜แ‰†แˆˆแŠแ‹ซแŠ• แŠฅแŠ•แ‹ดแ‰ต แ‹ฐแˆ…แŠ•แŠแ‰ฑ แ‰ แ‰ฐแŒ แ‰ แ‰€ แˆแŠ”แ‰ณ แˆ›แŒแŠ˜แ‰ต แŠฅแŠ“ แˆ˜แˆแ‰€แ‰… แŠฅแŠ•แ‹ฐแˆšแ‰ปแˆ แŠ แˆตแ‰€แ‹ตแˆ˜แŠ• แˆธแแŠแŠ“แˆแข แŠจแŠ แŠ•แ‹ต แŠแŒ แˆ‹ แˆแˆณแˆŒ แŒ‹แˆญ แˆฒแˆฐแˆซ แˆตแˆแ‰ฐ แ‰€แˆ˜แˆญ แ‹ญแˆ…แŠ•แŠ• แ‹˜แ‹ด แŠฅแŠ•แ‹ฐแˆšแŒ แ‰€แˆ แŠฅแŠ•แ‹ฐ แŠฅแ‹แŠแ‰ฑ แŠฅแŠ•แ‹ˆแˆตแ‹ณแˆˆแŠ•. แ‰ แˆแˆณแˆŒแ‹Žแ‰ปแ‰ฝแŠ• แ‹แˆตแŒฅ N แ‹ˆแ‹ฐ 5 แŠฅแŠ“แˆตแ‰€แˆแŒฃแˆˆแŠ•, แ‹ญแˆ…แˆ แแŒนแˆ แˆแŠญแŠ•แ‹ซแ‰ณแ‹Š แŠฅแˆดแ‰ต แŠแ‹. แŠฅแŠ•แ‹ฐแ‹šแˆ 5 แˆฌแ‹ฒแˆต แˆ›แˆตแ‰ฐแˆญแˆต แ‰ แ‰ฐแˆˆแ‹ซแ‹ฉ แˆ›แˆฝแŠ–แ‰ฝ แ‹ˆแ‹ญแˆ แ‰จแˆญแ‰ฝแ‹‹แˆ แˆ›แˆฝแŠ–แ‰ฝ แˆ‹แ‹ญ แŠฅแˆญแˆต แ‰ แˆญแˆต แ‰ แ‰ฐแŠ“แŒฅแˆ แŠฅแŠ•แ‹ฒแˆ แˆฉ แˆ›แ‹ตแˆจแŒ แŠ แˆˆแ‰ฅแŠ•แข

แˆ˜แ‰†แˆˆแŠแ‹ซ แˆˆแˆ›แŒแŠ˜แ‰ต แ‹ฐแŠ•แ‰ แŠ›แ‹ แ‹จแˆšแŠจแ‰ฐแˆ‰แ‰ตแŠ• แ‰ฐแŒแ‰ฃแˆซแ‰ต แ‹ซแŠจแŠ“แ‹แŠ“แˆ:

  1. แ‹จแŠ แˆแŠ‘แŠ• แŒŠแ‹œ แ‰ แˆšแˆŠแˆฐแŠจแŠ•แ‹ถแ‰ฝ แ‹ซแŒˆแŠ›แˆแข
  2. แ‰ แ‰…แ‹ฐแˆ แ‰ฐแŠจแ‰ฐแˆ แ‰ แˆแˆ‰แˆ แ‹จ N แŒ‰แ‹ณแ‹ฎแ‰ฝ แˆ‹แ‹ญ แ‰ฐแˆ˜แˆณแˆณแ‹ญ แ‰แˆแ แˆตแˆ แŠฅแŠ“ แ‹จแ‹˜แˆแ‰€แ‹ฐ แŠฅแˆดแ‰ถแ‰ฝแŠ• แ‰ แˆ˜แŒ แ‰€แˆ แ‰ แˆแˆ‰แˆ แ‹จ N แŠ แŒ‹แŒฃแˆšแ‹Žแ‰ฝ แˆ‹แ‹ญ แˆ˜แ‰†แˆˆแŠแ‹ซ แˆˆแˆ›แŒแŠ˜แ‰ต แ‹ญแˆžแŠญแˆซแˆแข แ‰ แ‹ฐแˆจแŒƒ 2 แˆ‹แ‹ญ แˆ˜แ‰†แˆˆแŠแ‹ซแŠ• แ‰ แˆ˜แ‹ฐแ‰ แŠ›แŠแ‰ต แˆฒแˆ˜แˆฐแˆญแ‰ฑ แ‹ฐแŠ•แ‰ แŠ›แ‹ แˆ˜แ‰†แˆˆแŠแ‹ซแ‹แŠ• แˆˆแˆ›แŒแŠ˜แ‰ต แˆ˜แ‹˜แŒแ‹จแ‰ตแŠ• แ‹ญแŒ แ‰€แˆ›แˆ, แ‹ญแˆ…แˆ แˆ˜แ‰†แˆˆแŠแ‹ซแ‹ แ‰ แˆซแˆต-แˆฐแˆญ แŠจแ‰ฐแˆˆแ‰€แ‰€แ‰ แ‰ต แŒŠแ‹œ แŒ‹แˆญ แˆฒแŠแƒแ€แˆญ แ‰ แŒฃแˆ แŠ แŒญแˆญ แŠแ‹. แˆˆแˆแˆณแˆŒ แ‹จแˆ›แŒˆแŒƒแ‹ แŒŠแ‹œ 10 แˆฐแŠจแŠ•แ‹ต แŠจแˆ†แŠ, แˆ˜แ‹˜แŒแ‹จแ‰ฑ แ‰  ~ 5-50 แˆšแˆŠแˆฐแŠจแŠ•แ‹ถแ‰ฝ แ‹แˆตแŒฅ แˆŠแˆ†แŠ• แ‹ญแ‰ฝแˆ‹แˆ. แ‹ญแˆ… แ‹ซแˆแ‰ฐแˆณแŠซแ‹ Redis node แˆˆแˆ˜แ‹ตแˆจแˆต แ‰ แˆ˜แˆžแŠจแˆญ แ‹ฐแŠ•แ‰ แŠ›แ‹ แˆˆแˆจแŒ…แˆ แŒŠแ‹œ แ‰ณแŒแ‹ถ แ‹จแˆšแ‰†แ‹ญแ‰ แ‰ตแŠ• แˆแŠ”แ‰ณ แ‹ซแˆตแ‹ˆแŒแ‹ณแˆ: แˆแˆณแˆŒแ‹ แŠจแˆŒแˆˆ, แŠจแ‹šแ‹ซแˆ แ‰ แ‰ฐแ‰ปแˆˆ แแŒฅแŠแ‰ต แŠจแˆŒแˆ‹ แˆแˆณแˆŒ แŒ‹แˆญ แˆˆแˆ˜แŒˆแŠ“แŠ˜แ‰ต แŠฅแŠ•แˆžแŠญแˆซแˆˆแŠ•.
  3. แˆ˜แ‰†แˆˆแŠแ‹ซ แˆˆแˆ˜แ‹แˆฐแ‹ต แ‹ฐแŠ•แ‰ แŠ›แ‹ แˆแŠ• แ‹ซแˆ…แˆ แŒŠแ‹œ แŠฅแŠ•แ‹ณแˆˆแˆ แ‹ซแˆฐแˆ‹แˆ; แ‹ญแˆ…แŠ•แŠ• แˆˆแˆ›แ‹ตแˆจแŒ แ‰ แ‹ฐแˆจแŒƒ 1 แ‹จแ‰ฐแŒˆแŠ˜แ‹แŠ• แ‹จแŒŠแ‹œ แˆ›แˆ…แ‰ฐแˆ แŠ แˆแŠ• แŠซแˆˆแ‹ แ‹จแŒŠแ‹œ แŠฅแˆดแ‰ต แ‹ญแ‰€แŠ•แˆณแˆแข แ‹ฐแŠ•แ‰ แŠ›แ‹ แ‰ แŠ แ‰ฅแ‹›แŠ›แ‹Žแ‰น แŠ แŒ‹แŒฃแˆšแ‹Žแ‰ฝ แˆ˜แ‰†แˆˆแŠแ‹ซแ‹แŠ• (แ‰ขแ‹ซแŠ•แˆต 3) แˆ›แŒแŠ˜แ‰ต แŠจแ‰ปแˆˆ แŠฅแŠ“ แ‹จแ‹ˆแˆฐแ‹ฐแ‹แŠ• แŠ แŒ แ‰ƒแˆ‹แ‹ญ แŒŠแ‹œ แˆˆแˆ›แŒแŠ˜แ‰ต แŠจแ‰ปแˆˆ แ‰ฅแ‰ป แŠแ‹แข แˆ˜แ‰†แˆˆแŠแ‹ซ, แŠจแˆ˜แ‰†แˆˆแŠแ‹ซแ‹ แŒŠแ‹œ แ‹ซแŠแˆฐ, แ‹จแˆ˜แ‰†แˆˆแŠแ‹ซแ‹ แŒแ‹ข แŠฅแŠ•แ‹ฐแ‰ฐแˆแŒธแˆ˜ แ‹ญแ‰†แŒ แˆซแˆ.
  4. แˆ˜แ‰†แˆˆแŠแ‹ซ แŠจแ‰ฐแŒˆแŠ˜แฃ แ‰ แ‹ฐแˆจแŒƒ 3 แˆ‹แ‹ญ แ‹จแ‰ฐแˆฐแˆ‹แ‹แŠ• แ‹ซแˆˆแˆแ‹แŠ• แŒŠแ‹œ แˆฒแ‰€แŠ•แˆต แ‹จแˆ˜แ‰†แˆˆแŠแ‹ซแ‹ แ‰†แ‹ญแ‰ณ แ‹จแˆ˜แŒ€แˆ˜แˆชแ‹ซ แ‹‹แŒ‹ แŠฅแŠ•แ‹ฐ แˆ˜แ‰†แˆˆแŠแ‹ซแ‹ แŒŠแ‹œ แ‹ญแ‹ˆแˆฐแ‹ณแˆแข
  5. แ‹ฐแŠ•แ‰ แŠ›แ‹ แ‰ แˆ†แŠ แˆแŠญแŠ•แ‹ซแ‰ต แˆ˜แ‰†แˆˆแŠแ‹ซแŠ• แˆ›แŒแŠ˜แ‰ต แŠซแˆแ‰ปแˆˆ (แ‹ˆแ‹ญ N/2+1 แŠ แŒ‹แŒฃแˆšแ‹Žแ‰ฝแŠ• แˆ˜แ‰†แˆˆแ แŠซแˆแ‰ปแˆˆ แ‹ˆแ‹ญแˆ แ‹จแˆ˜แ‰†แˆˆแŠแ‹ซ แ‰†แ‹ญแ‰ณแ‹ แŠ แˆ‰แ‰ณแ‹Š แˆ†แŠ– แŠจแ‰ฐแŒˆแŠ˜) แˆแˆ‰แŠ•แˆ แŠ แŒ‹แŒฃแˆšแ‹Žแ‰ฝ แˆˆแˆ˜แŠญแˆแ‰ต แ‹ญแˆžแŠญแˆซแˆ (แˆแŠ•แˆ แŠฅแŠ•แŠณแŠ• แŠฅแŠแ‹šแ‹ซแŠ• แฃ แŠฅแŠ•แ‹ฐ แ‹ญแ‰ณแˆฐแ‰ฅ แŠแ‰ แˆญ, แˆ›แŒˆแ‹ต แŠ แ‹ญแ‰ฝแˆแˆ).

แŠ แˆแŒŽแˆชแ‹แˆ แŠ แˆแ‰ฐแˆ˜แˆณแˆฐแˆˆแˆ?

แ‹ญแˆ… แˆตแˆแ‰ฐ-แ‰€แˆ˜แˆญ แ‹จแ‰ฐแˆ˜แˆฐแˆจแ‰ฐแ‹ แˆแˆ‰แˆ แˆ‚แ‹ฐแ‰ถแ‰ฝ แŠฅแŠ•แ‹ฒแˆฐแˆฉ แ‹จแ‰ฐแˆ˜แˆณแˆฐแˆˆ แˆฐแ‹“แ‰ต แ‰ฃแ‹ญแŠ–แˆญแˆ แ‰ แŠฅแ‹ซแŠ•แ‹ณแŠ•แ‹ฑ แˆ‚แ‹ฐแ‰ต แ‹แˆตแŒฅ แ‹ซแˆˆแ‹ แ‹จแŠ แŠซแ‰ฃแ‰ข แˆฐแ‹“แ‰ต แŠ แˆแŠ•แˆ แ‰ แ‰ฐแˆ˜แˆณแˆณแ‹ญ แแŒฅแŠแ‰ต แ‹ญแˆแˆตแˆณแˆ, แŠฅแŠ“ แˆตแˆ…แ‰ฐแ‰ฑ แŠจแ‰ฐแ‰†แˆˆแˆแ‰ แ‰ต แŒ แ‰…แˆ‹แˆ‹ แŒŠแ‹œ แŒ‹แˆญ แˆฒแŠแŒปแŒธแˆญ แŠ แŠแˆตแ‰ฐแŠ› แŠแ‹. แ‰ แˆซแˆต-แˆฐแˆญ แ‹ญแˆˆแ‰€แ‰ƒแˆ. แ‹ญแˆ… แŒแˆแ‰ต แ‰ แ‰ฐแˆซ แŠฎแˆแ’แ‹แ‰ฐแˆฎแ‰ฝ แ‹แˆตแŒฅ แŠซแˆˆแ‹ แˆแŠ”แ‰ณ แŒ‹แˆญ แ‰ แŒฃแˆ แ‰ฐแˆ˜แˆณแˆณแ‹ญ แŠแ‹-แŠฅแ‹ซแŠ•แ‹ณแŠ•แ‹ฑ แŠฎแˆแ’แ‹ฉแ‰ฐแˆญ แ‹จแŠ แŠซแ‰ฃแ‰ข แˆฐแ‹“แ‰ต แŠ แˆˆแ‹, แŠฅแŠ“ แŠ แ‰ฅแ‹›แŠ›แ‹แŠ• แŒŠแ‹œ แ‰ แŠฎแˆแ’แ‹ฉแ‰ฐแˆฎแ‰ฝ แˆ˜แŠซแŠจแˆ แ‹ซแˆˆแ‹ แ‹จแŒŠแ‹œ แˆแ‹ฉแŠแ‰ต แ‰ตแŠ•แˆฝ แŠแ‹ แ‰ฅแˆˆแŠ• แˆ˜แŒ แ‰ แ‰… แŠฅแŠ•แ‰ฝแˆ‹แˆˆแŠ•.

แ‰ แ‹šแˆ… แŠแŒฅแ‰ฅ แˆ‹แ‹ญ แˆตแˆˆแŠฅแˆญแˆต แ‰ แˆญแˆต แˆ˜แŒˆแˆˆแˆ แˆ•แŒ‹แ‰ฝแŠ• แ‹จแ‰ แˆˆแŒ  แŒแˆแŒฝ แˆ˜แˆ†แŠ• แŠ แˆˆแ‰ฅแŠ•แก แŠฅแˆญแˆต แ‰ แˆญแˆต แˆ˜แŒˆแˆˆแˆ แ‹จแˆšแˆจแŒ‹แŒˆแŒ แ‹ แ‹ฐแŠ•แ‰ แŠ›แ‹ แˆ˜แ‰†แˆˆแŠแ‹ซแ‹ แ‰ แ‰ฐแˆจแŒ‹แŒˆแŒ แ‰ แ‰ต แŒŠแ‹œ (แ‹ญแˆ… แ‹‹แŒ‹ แ‰ แ‹ฐแˆจแŒƒ 3 แˆ‹แ‹ญ แ‹จแ‰ฐแŒˆแŠ˜ แŠแ‹) แŠจแ‹ˆแŒฃ แ‰ฅแ‰ป แŠแ‹, แ‹จแ‰ฐแ‹ˆแˆฐแŠ แ‰ฐแŒจแˆ›แˆช แŒŠแ‹œ แˆฒแ‰€แŠ•แˆต แ‰ฅแ‰ป แŠแ‹. (แ‰ แŠ แŒ แ‰ƒแˆ‹แ‹ญ แ‰ แˆ‚แ‹ฐแ‰ถแ‰ฝ แˆ˜แŠซแŠจแˆ แ‹ซแˆˆแ‹แŠ• แ‹จแŒŠแ‹œ แˆ˜แ‹˜แŒแ‹จแ‰ต แˆˆแˆ›แŠซแŠซแˆต แŒฅแ‰‚แ‰ต แˆšแˆŠแˆฐแŠจแŠ•แ‹ถแ‰ฝ)แข

แ‹จแˆšแŠจแ‰ฐแˆˆแ‹ แŠ แˆตแ‹ฐแˆณแ‰ฝ แˆ˜แŒฃแŒฅแ แ‹จแŒŠแ‹œ แˆแ‹ฉแŠแ‰ตแŠ• แˆ›แˆตแ‰ฐแ‰ฃแ‰ แˆญ แˆตแˆˆแˆšแ‹ซแˆตแˆแˆแŒ‹แ‰ธแ‹ แˆตแˆญแ‹“แ‰ถแ‰ฝ แ‹จแ‰ แˆˆแŒ  แ‹ญแŠ“แŒˆแˆซแˆ แ‹จแˆŠแ‹ แ‹แˆแก แˆˆแ‰ฐแŠจแ‹แˆแˆˆ แ‹จแ‹แ‹ญแˆ แˆ˜แˆธแŒŽแŒซ แ‹ˆแŒฅแŠแ‰ต แ‰€แˆแŒฃแ‹ แˆตแˆ…แ‰ฐแ‰ตแŠ• แ‹จแˆšแ‰‹แ‰‹แˆ แ‹˜แ‹ด.

แ‹แ‹ตแ‰€แ‰ต แˆ‹แ‹ญ แŠฅแŠ•แ‹ฐแŒˆแŠ“ แ‹ญแˆžแŠญแˆฉ

แŠ แŠ•แ‹ต แ‹ฐแŠ•แ‰ แŠ› แˆ˜แ‰†แˆˆแŠแ‹ซ แˆ›แŒแŠ˜แ‰ต แˆฒแ‹ซแ‰…แ‰ฐแ‹ แ‰ แ‹˜แˆแ‰€แ‹ฐ แˆ˜แ‹˜แŒแ‹จแ‰ต แ‰ แŠ‹แˆ‹ แŠฅแŠ•แ‹ฐแŒˆแŠ“ แˆ˜แˆžแŠจแˆญ แŠ แˆˆแ‰ แ‰ตแค แ‹ญแˆ… แ‹จแˆšแ‹ฐแˆจแŒˆแ‹ แ‰ แ‰ฐแˆ˜แˆณแˆณแ‹ญ แˆƒแ‰ฅแ‰ต แˆ‹แ‹ญ แ‰ แ‰ฐแˆ˜แˆณแˆณแ‹ญ แŒŠแ‹œ แˆ˜แ‰†แˆˆแŠแ‹ซ แˆˆแˆ›แŒแŠ˜แ‰ต แ‹จแˆšแˆžแŠญแˆฉ แ‰ฅแ‹™ แ‹ฐแŠ•แ‰ แŠžแ‰ฝ แŠฅแŠ•แ‹ณแ‹ญแˆ˜แˆณแˆฐแˆ‰ แˆˆแˆ›แ‹ตแˆจแŒ แŠแ‹ (แ‹ญแˆ…แˆ แŠ แˆธแŠ“แŠแ‹Žแ‰ฝ แ‹ˆแ‹ฐแˆŒแˆ‰แ‰ แ‰ต "แ‹จแ‰ฐแŠจแ‹แˆแˆˆ-แŠ แŠ•แŒŽแˆ" แˆแŠ”แ‰ณแŠ• แ‹ซแˆตแŠจแ‰ตแˆ‹แˆ)แข แŠฅแŠ•แ‹ฒแˆแˆแฃ แ‹ฐแŠ•แ‰ แŠ›แ‹ แ‰ แŠ แ‰ฅแ‹›แŠ›แ‹Žแ‰น แ‹จแˆฌแ‹ฒแˆต แŠ แŒ‹แŒฃแˆšแ‹Žแ‰ฝ แˆ‹แ‹ญ แˆ˜แ‰†แˆˆแŠแ‹ซ แˆˆแˆ›แŒแŠ˜แ‰ต แ‰ แแŒฅแŠแ‰ต แ‰ แˆšแˆžแŠญแˆญ แˆ˜แŒ แŠ•แฃ แ‹จแŠ แ‹•แˆแˆฎ แˆแŠ”แ‰ณ แ‹จแˆšแˆแŒ แˆญแ‰ แ‰ต แˆ˜แˆตแŠฎแ‰ต แŠฅแ‹จแŒ แ‰ แ‰  แ‹ญแˆ„แ‹ณแˆ (แŠฅแŠ“ แŠฅแŠ•แ‹ฐแŒˆแŠ“ แ‹จแˆ˜แˆžแŠจแˆญ แแˆ‹แŒŽแ‰ต แ‹ญแ‰€แŠ•แˆณแˆ)แข แˆตแˆˆแ‹šแˆ…แฃ แ‰ แˆแˆณแ‰ฅ แ‹ฐแˆจแŒƒแฃ แ‹ฐแŠ•แ‰ แŠ›แ‹ แˆ›แ‰ฃแ‹›แ‰ตแŠ• แ‰ แˆ˜แŒ แ‰€แˆ แ‹จSET แ‰ตแ‹•แ‹›แ‹žแ‰ฝแŠ• แ‹ˆแ‹ฐ N แŠ แŒ‹แŒฃแˆšแ‹Žแ‰ฝ แˆˆแˆ˜แˆ‹แŠญ แ‰ แŠ แŠ•แ‹ต แŒŠแ‹œ แˆ˜แˆžแŠจแˆญ แŠ แˆˆแ‰ แ‰ตแข

แŠฅแ‹šแˆ… แˆ‹แ‹ญ แŠ แ…แŠ•แ‹–แ‰ต แˆ˜แˆตแŒ แ‰ต แ‰ฐแŒˆแ‰ข แŠแ‹ แ‰ฅแ‹™ แ‰แˆแŽแ‰ฝแŠ• แˆ›แŒแŠ˜แ‰ต แ‹ซแˆแ‰ปแˆ‰ แ‹ฐแŠ•แ‰ แŠžแ‰ฝ แˆ˜แ‰†แˆˆแŠแ‹ซแ‹Žแ‰ฝ (แ‰ แŠจแŠแˆ) แ‹ซแŒˆแŠ™แ‰ตแŠ• แ‰แˆแ แ‰ แˆ›แŒแŠ˜แ‰ณแ‰ธแ‹ แ‰ แˆ€แ‰ฅแ‰ฑ แˆ‹แ‹ญ แ‹ซแˆˆแ‹ แˆ˜แ‰†แˆˆแŠแ‹ซ แŠฅแŠ•แ‹ฐแŒˆแŠ“ แŠจแˆ˜แŒแ‹›แ‰ฑ แ‰ แŠแ‰ต แ‰แˆแ แŠฅแˆตแŠชแ‹ซแ‰ แ‰ƒ แ‹ตแˆจแˆต แˆ˜แŒ แ‰ แ‰… แŠ แ‹ญแŠ–แˆญแ‰ฃแ‰ธแ‹แˆ (แˆแŠ•แˆ แŠฅแŠ•แŠณแŠ• แŠ”แ‰ตแ‹ˆแˆญแŠญ แŠจแˆ†แŠ) แˆ˜แŠจแ‹แˆแˆ แ‹ญแŠจแˆฐแ‰ณแˆ , แŠฅแŠ“ แ‹ฐแŠ•แ‰ แŠ›แ‹ แŠจ Redis แŠ แŒ‹แŒฃแˆšแ‹Žแ‰ฝ แŒ‹แˆญ แ‹ซแˆˆแ‹แŠ• แŒแŠ•แŠ™แŠแ‰ต แ‹ซแŒฃแˆ, แŠจแ‹šแ‹ซ แ‰แˆแ‰ แŒŠแ‹œแ‹ แŠฅแˆตแŠชแ‹ซแˆแ แ‹ตแˆจแˆต แ‰ แˆ˜แŒ แ‰ฃแ‰ แ‰… แˆ‹แ‹ญ แŠฅแ‹ซแˆˆ แ‹จแ‰ฐแŒˆแŠแŠแ‰ต แŒฅแˆฐแ‰ต แ‰…แŒฃแ‰ต แˆ˜แŠญแˆแˆ แŠ แˆˆแ‰ฅแ‹Žแ‰ต).

แˆ˜แˆแ‰€แ‰…แŠ• แ‰†แˆแ

แˆ˜แ‰†แˆˆแŠแ‹ซแŠ• แˆ˜แˆแ‰€แ‰… แ‹ฐแŠ•แ‰ แŠ›แ‹ แŠ แŠ•แ‹ตแŠ• แ‹จแ‰ฐแ‹ˆแˆฐแŠ แˆแˆณแˆŒ แ‰ แ‰ฐแˆณแŠซ แˆแŠ”แ‰ณ แˆ˜แ‰†แˆˆแ แ‰ขแ‰ฝแˆแˆ แ‰ฃแ‹ญแˆ˜แˆตแˆแˆ แˆแˆ‰แŠ•แˆ แŠ แŒ‹แŒฃแˆšแ‹Žแ‰ฝ แŠฅแŠ•แ‹ฒแŠจแแ‰ฑ แ‹จแˆšแˆแˆแŒ แ‰€แˆ‹แˆ แŠญแ‹ˆแŠ“ แŠแ‹แข

แ‹จแ‹ฐแˆ…แŠ•แŠแ‰ต แŒแˆแ‰ต

แŠ แˆแŒŽแˆชแ‹แˆ แ‹ฐแˆ…แŠ•แŠแ‰ฑ แ‹จแ‰ฐแŒ แ‰ แ‰€ แŠแ‹? แ‰ แ‰ฐแˆˆแ‹ซแ‹ฉ แˆแŠ”แ‰ณแ‹Žแ‰ฝ แ‹แˆตแŒฅ แˆแŠ• แŠฅแŠ•แ‹ฐแˆšแˆแŒ แˆญ แˆˆแˆ˜แŒˆแˆ˜แ‰ต แŠฅแŠ•แˆžแŠญแˆญ.

แ‰ แˆ˜แŒ€แˆ˜แˆชแ‹ซแฃ แ‹ฐแŠ•แ‰ แŠ›แ‹ แ‰ แŠ แ‰ฅแ‹›แŠ›แ‹Žแ‰น แŠ แŒ‹แŒฃแˆšแ‹Žแ‰ฝ แˆ˜แ‰†แˆˆแŠแ‹ซ แˆ›แŒแŠ˜แ‰ต แŠฅแŠ•แ‹ฐแ‰ปแˆˆ แŠฅแŠ“แˆตแ‰ฅแข แŠฅแ‹ซแŠ•แ‹ณแŠ•แ‹ฑ แŠ แŒ‹แŒฃแˆšแ‹Žแ‰ฝ แˆˆแˆแˆ‰แˆ แ‰ฐแˆ˜แˆณแˆณแ‹ญ แ‹จแˆ…แ‹ญแ‹ˆแ‰ต แ‹˜แˆ˜แŠ• แ‹ซแˆˆแ‹ แ‰แˆแ แ‹ญแ‹ญแ‹›แˆ‰แข แŠแŒˆแˆญ แŒแŠ• แŠฅแ‹ซแŠ•แ‹ณแŠ•แ‹ณแ‰ธแ‹ แŠฅแŠแ‹šแˆ… แ‰แˆแŽแ‰ฝ แ‰ แˆซแˆณแ‰ธแ‹ แŒŠแ‹œ แ‰ฐแŒญแŠแ‹‹แˆ, แˆตแˆˆแ‹šแˆ… แ‰ แ‰ฐแˆˆแ‹ซแ‹จ แŒŠแ‹œ แ‹แˆตแŒฅ แ‹จแŠ แŒˆแˆแŒแˆŽแ‰ต แŒŠแ‹œแ‹ แ‹ซแ‰ แ‰ƒแˆ. แŒแŠ• แ‹จแˆ˜แŒ€แˆ˜แˆชแ‹ซแ‹ แ‰แˆแ แŠจ T1 แ‰ แ‰ฃแˆฐ แŒŠแ‹œ แŠจแ‰ฐแ‹˜แŒ‹แŒ€ (แ‹จแˆ˜แŒ€แˆ˜แˆชแ‹ซแ‹แŠ• แŠ แŒˆแˆแŒ‹แ‹ญ แŠจแˆ›แŒแŠ˜แ‰ณแ‰ฝแŠ• แ‰ แŠแ‰ต แ‹จแˆแŠ•แˆ˜แˆญแŒ แ‹ แŒŠแ‹œ) แŠฅแŠ“ แ‹จแˆ˜แŒจแˆจแˆปแ‹ แ‰แˆแ แŠจ T2 แ‰ แ‰ฃแˆฐ แŒŠแ‹œ แ‰ฐแ‹˜แŒ‹แŒ…แ‰ทแˆ (แŠจแˆ˜แŒจแˆจแˆปแ‹ แˆแˆ‹แˆฝ แ‹จแ‰ฐแˆฐแŒ แ‰ แ‰ต แŒŠแ‹œ) แŠ แŒˆแˆแŒ‹แ‹ญ แ‰ฐแ‰€แ‰ฅแˆแˆ)แฃ แŠจแ‹šแ‹ซ แ‰ แˆตแ‰ฅแˆตแ‰ก แ‹แˆตแŒฅ แ‹ซแˆˆแ‹ แ‹จแˆ˜แŒ€แˆ˜แˆชแ‹ซแ‹ แ‰แˆแ แŒŠแ‹œแ‹ แ‹จแˆšแ‹ซแˆแแ‰ แ‰ต แ‰ขแ‹ซแŠ•แˆต แŠฅแŠ•แ‹ฐแˆšแ‰†แ‹ญ แŠฅแˆญแŒแŒ แŠ› แŠแŠ• MIN_VALIDITY=TTL-(T2-T1)-CLOCK_DRIFT. แˆแˆ‰แˆ แˆŒแˆŽแ‰ฝ แ‰แˆแŽแ‰ฝ แ‰ แŠ‹แˆ‹ แŒŠแ‹œแ‹ซแ‰ธแ‹ แ‹ซแ‰ แ‰ƒแˆแฃ แˆตแˆˆแ‹šแˆ… แˆแˆ‰แˆ แ‰แˆแŽแ‰ฝ แ‰ขแ‹ซแŠ•แˆต แˆˆแ‹šแˆ… แŒŠแ‹œ แ‰ แ‰ฐแˆ˜แˆณแˆณแ‹ญ แŒŠแ‹œ แ‹จแˆšแˆฐแˆฉ แˆ˜แˆ†แŠ“แ‰ธแ‹แŠ• แŠฅแˆญแŒแŒ แŠžแ‰ฝ แˆ˜แˆ†แŠ• แŠฅแŠ•แ‰ฝแˆ‹แˆˆแŠ•แข

แŠ แ‰ฅแ‹›แŠ›แ‹Žแ‰น แ‰แˆแŽแ‰ฝ แˆแŠญ แŠฅแŠ•แ‹ฐแˆ†แŠ‘ แ‰ แˆšแ‰†แ‹ฉแ‰ แ‰ต แŒŠแ‹œแฃ N/2+1 SET NX แŠญแ‹ˆแŠ“แ‹Žแ‰ฝ แ‹จ N/2+1 แ‰แˆแŽแ‰ฝ แŠซแˆ‰ แˆŠแˆณแŠซ แˆตแˆˆแˆ›แ‹ญแ‰ฝแˆ แˆŒแˆ‹ แ‹ฐแŠ•แ‰ แŠ› แˆ˜แ‰†แˆˆแŠแ‹ซแ‹แŠ• แˆ›แŒแŠ˜แ‰ต แŠ แ‹ญแ‰ฝแˆแˆแข แˆตแˆˆแ‹šแˆ…, แŠ แŠ•แ‹ด แˆ˜แ‰†แˆˆแŠแ‹ซ แŠจแ‰ฐแŒˆแŠ˜, แ‰ แ‰ฐแˆ˜แˆณแˆณแ‹ญ แŒŠแ‹œ แŠฅแŠ•แ‹ฐแŒˆแŠ“ แˆ›แŒแŠ˜แ‰ต แŠ แ‹ญแ‰ปแˆแˆ (แ‹ญแˆ… แ‹จแŒ‹แˆซ แˆ˜แŒˆแˆˆแˆ แŠ•แ‰ฅแˆจแ‰ตแŠ• แ‹ญแŒฅแˆณแˆ).
แˆ†แŠ–แˆแฃ แ‰ แ‰ฐแˆ˜แˆณแˆณแ‹ญ แŒŠแ‹œ แˆ˜แ‰†แˆˆแŠแ‹ซ แˆˆแˆ›แŒแŠ˜แ‰ต แ‹จแˆšแˆžแŠญแˆฉ แ‰ฅแ‹™ แ‹ฐแŠ•แ‰ แŠžแ‰ฝ แ‰ แ‰ฐแˆ˜แˆณแˆณแ‹ญ แŒŠแ‹œ แˆŠแˆณแŠซแˆ‹แ‰ธแ‹ แŠฅแŠ•แ‹ฐแˆ›แ‹ญแ‰ฝแˆ แˆ›แˆจแŒ‹แŒˆแŒฅ แŠฅแŠ•แˆแˆแŒ‹แˆˆแŠ•แข

แ‹ฐแŠ•แ‰ แŠ›แ‹ แŠ แ‰ฅแ‹›แŠ›แ‹Žแ‰นแŠ• แŠ แŒ‹แŒฃแˆšแ‹Žแ‰ฝ แŠจแŠจแแ‰ฐแŠ›แ‹ แ‹จแˆ˜แ‰†แˆˆแŠแ‹ซ แ‰†แ‹ญแ‰ณ แŒŠแ‹œ แ‰ แˆ‹แ‹ญ แ‹ˆแ‹ญแˆ แŠจแ‹šแ‹ซ แ‰ แˆ‹แ‹ญ แŠจแ‰†แˆˆแˆแ‹แฃ แˆ˜แ‰†แˆˆแŠแ‹ซแ‹แŠ• แ‹ซแ‰ แˆ‹แˆธแ‹‹แˆ แŠฅแŠ“ แŠ แŒ‹แŒฃแˆšแ‹Žแ‰ฝแŠ• แ‹ญแŠจแแ‰ณแˆแข แˆตแˆˆแ‹šแˆ…, แ‹ฐแŠ•แ‰ แŠ›แ‹ แŠจแ‰†แ‹ญแ‰ณ แŒŠแ‹œ แ‰ฃแŠแˆฐ แŒŠแ‹œ แ‹แˆตแŒฅ แŠ แ‰ฅแ‹›แŠ›แ‹Žแ‰นแŠ• แŠ แŒ‹แŒฃแˆšแ‹Žแ‰ฝ แˆ›แŒˆแ‹ต แ‹จแ‰ปแˆˆแ‰ แ‰ตแŠ• แˆแŠ”แ‰ณ แ‰ฅแ‰ป แŒแˆแ‰ต แ‹แˆตแŒฅ แˆ›แˆตแŒˆแ‰ฃแ‰ต แŠ แˆˆแ‰ฅแŠ•. แ‰ แ‹šแˆ… แŒ‰แ‹ณแ‹ญ แˆ‹แ‹ญ, แŠจแˆ‹แ‹ญ แ‹ซแˆˆแ‹แŠ• แŠญแˆญแŠญแˆญ แ‰ แ‰ฐแˆ˜แˆˆแŠจแ‰ฐ, แ‰ แŒŠแ‹œแ‹ MIN_VALIDITY แˆ›แŠ•แˆ แ‹ฐแŠ•แ‰ แŠ› แˆ˜แ‰†แˆˆแŠแ‹ซแ‹แŠ• แˆ˜แˆแˆถ แˆ›แŒแŠ˜แ‰ต แˆ˜แ‰ปแˆ แ‹จแˆˆแ‰ แ‰ตแˆแข แˆตแˆˆแ‹šแˆ…แฃ แ‰ฅแ‹™ แ‹ฐแŠ•แ‰ แŠžแ‰ฝ แ‹จ N/2+1 แŠ แŒ‹แŒฃแˆšแ‹Žแ‰ฝแŠ• แ‰ แ‰ฐแˆ˜แˆณแˆณแ‹ญ แŒŠแ‹œ แˆ˜แ‰†แˆˆแ แ‹จแˆšแ‰ฝแˆ‰แ‰ต (แ‰ แ‹ฐแˆจแŒƒ 2 แˆ˜แŒจแˆจแˆป แˆ‹แ‹ญ แŠแ‹) แ‰ฅแ‹™แ‹Žแ‰ฝแŠ• แ‹จแˆ˜แ‰†แˆˆแ แŒŠแ‹œ แŠจแ‰ฒแ‰ฒแŠคแˆ แŒŠแ‹œ แ‹จแ‰ แˆˆแŒ  แ‰ แˆšแˆ†แŠ•แ‰ แ‰ต แŒŠแ‹œ แ‰ฅแ‰ป แŠแ‹แฃ แ‰ แ‹šแˆ…แˆ แˆ˜แ‰†แˆˆแŠแ‹ซแ‹แŠ• แ‹‹แŒ‹ แ‹ซแˆณแŒฃแ‹‹แˆแข

แŠฅแŠ“ แˆ˜แ‹ฐแ‰ แŠ› แ‹จแˆ†แŠ แ‹จแ‹ฐแˆ…แŠ•แŠแ‰ต แˆ›แˆจแŒ‹แŒˆแŒซ แˆ˜แˆตแŒ แ‰ตแฃ แ‹ซแˆ‰แ‰ตแŠ• แ‰ฐแˆ˜แˆณแˆณแ‹ญ แˆตแˆแ‰ฐ แ‰€แˆ˜แˆฎแ‰ฝ แˆ˜แŒ แ‰†แˆ แ‹ˆแ‹ญแˆ แŠจแˆ‹แ‹ญ แ‹ซแˆˆแ‹แŠ• แˆตแˆ…แ‰ฐแ‰ต แˆ›แŒแŠ˜แ‰ต แ‰ตแ‰ฝแˆ‹แˆˆแˆ…?

แ‹จแ‰ฐแ‹ฐแˆซแˆฝแŠแ‰ต แŒแˆแ‰ต

แ‹จแˆตแˆญแŠ แ‰ฑ แˆ˜แŒˆแŠ˜แ‰ต แ‰ แˆถแˆตแ‰ต แ‹‹แŠ“ แ‹‹แŠ“ แ‰ฃแˆ…แˆชแ‹ซแ‰ต แˆ‹แ‹ญ แ‹จแ‰ฐแˆ˜แˆฐแˆจแ‰ฐ แŠแ‹.

  1. แˆ˜แ‰†แˆˆแŠแ‹ซแ‹ แ‰ แˆซแˆต-แˆฐแˆญ แˆ˜แˆˆแ‰€แ‰… (แ‰แˆแŽแ‰น แˆตแˆˆแˆšแ‹ซแˆแ‰)แก แ‰ แˆ˜แŒจแˆจแˆป แ‰แˆแŽแ‰น แˆˆแˆ˜แ‰†แˆˆแ แŒฅแ‰…แˆ แˆ‹แ‹ญ แŠฅแŠ•แ‹ฒแ‹แˆ‰ แŠฅแŠ•แ‹ฐแŒˆแŠ“ แ‹ญแŒˆแŠ›แˆ‰แข
  2. แ‰ฅแ‹™แ‹แŠ• แŒŠแ‹œ แ‹ฐแŠ•แ‰ แŠžแ‰ฝ แ‹จแˆšแˆแˆˆแŒˆแ‹ แˆ˜แ‰†แˆˆแŠแ‹ซ แˆณแ‹ญแŒˆแŠ แˆฒแ‰€แˆญ แ‹ˆแ‹ญแˆ แˆฒแŒˆแŠ แŠฅแŠ“ แˆฅแˆซแ‹ แˆฒแŒ แŠ“แ‰€แ‰… แˆ˜แ‰†แˆˆแŠแ‹ซแ‹Žแ‰ฝแŠ• แ‰ แˆ›แŠ•แˆณแ‰ต แŠฅแˆญแˆต แ‰ แˆญแˆต แˆ˜แˆจแ‹ณแ‹ณแ‰ต; แˆตแˆˆแ‹šแˆ… แ‰แˆแ‰แŠ• แŠฅแŠ•แ‹ฐแŒˆแŠ“ แˆˆแˆ›แŒแŠ˜แ‰ต แ‰แˆแŽแ‰น แŠฅแˆตแŠชแ‹ซแˆแ‰… แ‹ตแˆจแˆต แˆ˜แŒ แ‰ แ‰… แ‹จแˆˆแ‰ฅแŠ•แˆ แˆ›แˆˆแ‰ต แŠแ‹แข
  3. แŠ แŠ•แ‹ต แ‹ฐแŠ•แ‰ แŠ› แˆ˜แ‰†แˆˆแŠแ‹ซแŠ• แˆˆแˆ›แŒแŠ˜แ‰ต แŠฅแŠ•แ‹ฐแŒˆแŠ“ แˆ˜แˆžแŠจแˆญ แˆฒแˆแˆแŒแฃ แ‰ฅแ‹™ แˆ˜แ‰†แˆˆแŠแ‹ซแ‹Žแ‰ฝแŠ• แˆˆแˆ›แŒแŠ˜แ‰ต แŠจแˆšแ‹ซแˆตแˆแˆแŒˆแ‹ แŒŠแ‹œ แ‰ แŠ แŠ•แƒแˆซแ‹ŠแŠแ‰ต แˆจแ‹˜แˆ แ‹ซแˆˆ แŒŠแ‹œ แ‹ญแŒ แ‰ฅแ‰ƒแˆแข แ‹ญแˆ… แ‰ แˆƒแ‰ฅแ‰ต แ‰แŠญแŠญแˆญ แ‹แˆตแŒฅ แ‹จแ‰ฐแŠจแˆแˆˆ แ‹จแŠ แŠ•แŒŽแˆ แˆแŠ”แ‰ณ แŠฅแ‹ตแˆแŠ• แ‹ญแ‰€แŠ•แˆณแˆแข

แŠแŒˆแˆญ แŒแŠ•แฃ แˆˆแ‰ฐแ‰€แŠแˆฐ แŠ แ‰…แˆญแ‰ฆแ‰ต แ‰…แŒฃแ‰ต แˆ˜แŠญแˆแˆ แŠ แˆˆแ‰ฆแ‰ตแฃ แ‰ แŠ”แ‰ตแ‹ˆแˆญแŠญ แŠญแแˆŽแ‰ฝ แ‹แˆตแŒฅ แŠจ TTL แŒŠแ‹œ แŒ‹แˆญ แŠฅแŠฉแˆ แŠแ‹แฃ แˆตแˆˆแ‹šแˆ… แ‰€แŒฃแ‹ญ แŠญแแˆŽแ‰ฝ แŠซแˆ‰แฃ แ‹ญแˆ… แ‰…แŒฃแ‰ต แ‹ซแˆแ‰ฐแ‹ˆแˆฐแŠ แˆŠแˆ†แŠ• แ‹ญแ‰ฝแˆ‹แˆแข แ‹ญแˆ„ แ‹จแˆšแˆ†แŠแ‹ แŠ แŠ•แ‹ต แ‹ฐแŠ•แ‰ แŠ› แˆ˜แ‰†แˆˆแŠแ‹ซ แ‰ฃแŒˆแŠ˜ แ‰แŒฅแˆญ แŠฅแŠ“ แŠจแ‹šแ‹ซ แŠจแˆ˜แˆแ‰€แ‰ แ‰ แŠแ‰ต แ‹ˆแ‹ฐ แˆŒแˆ‹ แŠญแแˆ แˆฒแ‰€แˆญแŒฝ แŠแ‹แข

แ‰ แˆ˜แˆญแˆ… แ‹ฐแˆจแŒƒแฃ แˆ›แˆˆแ‰‚แ‹ซ แ‹จแˆŒแˆ‹แ‰ธแ‹ แ‰€แŒฃแ‹ญ แ‹จแŠ แ‹แ‰ณแˆจ แˆ˜แˆจแ‰ฅ แŠญแแˆŽแ‰ฝ แŠซแˆ‰แฃ แˆตแˆญแ‹“แ‰ฑ แˆ‹แˆแ‰ฐแ‹ˆแˆฐแŠ แŒŠแ‹œ แ‹จแˆ›แ‹ญแŒˆแŠ แˆ†แŠ– แˆŠแ‰†แ‹ญ แ‹ญแ‰ฝแˆ‹แˆแข

แŠ แˆแŒปแŒธแˆแฃ แŠ แˆˆแˆ˜แˆณแŠซแ‰ต แŠฅแŠ“ fsync

แ‰ฅแ‹™ แˆฐแ‹Žแ‰ฝ RedisแŠ• แ‹จแˆšแŒ แ‰€แˆ™แ‰ต แˆˆแ‰แˆแ แŠ แŒˆแˆแŒ‹แ‹ฉ แŠจแแ‰ฐแŠ› แŠ แˆแƒแ€แˆ แˆตแˆˆแˆšแˆแˆแŒ‰แฃ แˆ˜แ‰†แˆˆแŠแ‹ซแ‹Žแ‰ฝแŠ• แˆˆแˆ›แŒแŠ˜แ‰ต แŠฅแŠ“ แˆˆแˆ˜แˆแ‰€แ‰… แŠจแˆšแ‹ซแˆตแˆแˆแŒˆแ‹ แˆ˜แ‹˜แŒแ‹จแ‰ต แŠ แŠ•แƒแˆญ แŠฅแŠ•แ‹ฒแˆแˆ แ‰ แˆดแŠฎแŠ•แ‹ต แ‹จแˆšแŒ แŠ“แ‰€แ‰แ‰ตแŠ• แ‹จแˆ˜แŒแ‹›แ‰ต/แ‹จแˆ˜แˆแ‰€แ‰… แˆตแˆซแ‹Žแ‰ฝ แ‰ฅแ‹›แ‰ตแข แ‹ญแˆ…แŠ•แŠ• แˆ˜แˆตแˆแˆญแ‰ต แˆˆแˆ›แˆŸแˆ‹แ‰ต แŠจN Redis แŠ แŒˆแˆแŒ‹แ‹ฎแ‰ฝ แŒ‹แˆญ แ‹จแˆ˜แŒแ‰ฃแ‰ฃแ‰ต แˆ˜แ‹˜แŒแ‹จแ‰ตแŠ• แˆˆแˆ˜แ‰€แŠแˆต แ‹จแˆšแ‹ซแˆตแ‰ฝแˆ แˆตแˆแ‰ต แŠ แˆˆแข แ‹ญแˆ… แ‹จแˆ›แ‰ฃแ‹›แ‰ต แˆตแˆแ‰ต แŠแ‹ (แ‹ˆแ‹ญแˆ "แ‹จแ‹ตแˆƒ แˆฐแ‹ แˆ›แ‰ฃแ‹›แ‰ต" แˆถแŠฌแ‰ฑ แ‹ˆแ‹ฐ แˆ›แŒˆแ‹ต แˆแŠแ‰ณ แ‹จแ‰ฐแ‰€แŠ“แ‰ แˆจแ‰ แ‰ตแฃ แˆแˆ‰แŠ•แˆ แ‰ตแŠฅแ‹›แ‹žแ‰ฝ แ‹ญแˆแŠซแˆ แŠฅแŠ“ แ‰ตแŠฅแ‹›แ‹žแ‰นแŠ• แ‰ แŠ‹แˆ‹ แ‹ซแŠแ‰ฅแ‰ฃแˆแฃ แ‹ญแˆ…แˆ แ‰ แ‹ฐแŠ•แ‰ แŠ›แ‹ แŠฅแŠ“ แ‰ แŠฅแ‹ซแŠ•แ‹ณแŠ•แ‹ฑ แŠ แŒ‹แŒฃแˆš แˆ˜แŠซแŠจแˆ แ‹ซแˆˆแ‹ แ‹จแ‹™แˆญ แŒ‰แ‹ž แŒŠแ‹œ แ‰ฐแˆ˜แˆณแˆณแ‹ญ แŠแ‹ แ‰ฐแ‰ฅแˆŽ แ‹ญแ‰ณแˆฐแ‰ฃแˆแข ).

แŠแŒˆแˆญ แŒแŠ•แฃ แ‰ แŒ แŠ•แŠซแˆซ แ‹แ‹ตแ‰€แ‰ต แˆ˜แˆแˆถ แˆ›แŒแŠ› แˆžแ‹ดแˆ แˆˆแˆ˜แแŒ แˆญ แŠจแˆแˆˆแŒแŠ• แ‹จแˆจแŒ…แˆ แŒŠแ‹œ แ‹จแˆ˜แˆจแŒƒ แˆ›แŠจแˆ›แ‰ป แŒแˆแ‰ตแˆ แŠ แˆˆแข

แ‰ แˆ˜แˆ แˆจแ‰ฑแฃ แŒ‰แ‹ณแ‹ฉแŠ• แˆˆแˆ›แ‰ฅแˆซแˆซแ‰ตแฃ แˆฌแ‹ฒแˆตแŠ• แ‹ซแˆˆแˆแŠ•แˆ แŒฝแŠ“แ‰ต แŠฅแ‹ซแ‹‹แ‰€แˆญแŠ• แŠแ‹ แ‰ฅแˆˆแŠ• แŠฅแŠ“แˆตแ‰ฅแข แ‹ฐแŠ•แ‰ แŠ›แ‹ แŠจ3 แŠ แŒ‹แŒฃแˆšแ‹Žแ‰ฝ 5แ‰ฑแŠ• แˆ›แŒˆแ‹ต แ‹ญแ‰ฝแˆ‹แˆแข แ‹ฐแŠ•แ‰ แŠ›แ‹ แˆŠแ‹ซแŒแ‹ฑแ‰ต แŠจแ‰ปแˆ‰แ‰ต แˆแŠ”แ‰ณแ‹Žแ‰ฝ แ‹แˆตแŒฅ แŠ แŠ•แ‹ฑ แŠฅแŠ•แ‹ฐแŒˆแŠ“ แ‰ฐแŒ€แˆแˆฏแˆ แฃ แ‰ แ‹šแˆ… แŒŠแ‹œ 3 แ‰ฐแˆ˜แˆณแˆณแ‹ญ แˆ€แ‰ฅแ‰ถแ‰ฝ แŠฅแŠ•แ‹ฐแŒˆแŠ“ แ‹ญแ‰ณแ‹ซแˆ‰ แฃ แŠฅแŠ› แˆแŠ•แŠจแˆˆแŠญแˆˆแ‹ แŠฅแŠ•แ‰ฝแˆ‹แˆˆแŠ• แฃ แŠฅแŠ“ แˆŒแˆ‹แŠ›แ‹ แ‹ฐแŠ•แ‰ แŠ› แ‰ แ‰ฐแˆซแ‹ แ‹ฐแŒแˆž แŠฅแŠ•แ‹ฐแŒˆแŠ“ แ‹จแŒ€แˆ˜แˆจแ‹แŠ• แˆแˆณแˆŒ แ‰ แˆ˜แ‹แŒ‹แ‰ต แ‹จแˆ˜แ‰†แˆˆแŠแ‹ซ แŠ แŒแˆ‹แ‹ญแŠแ‰ตแŠ• แ‹จแˆšแ‹ˆแˆตแ‹ฐแ‹แŠ• แ‹จแ‹ฐแˆ…แŠ•แŠแ‰ต แŠ•แ‰ฅแˆจแ‰ฑแŠ• แ‹ญแŒฅแˆณแˆแข

แŠ แˆตแ‰€แ‹ตแˆ˜แˆ… แ‹ณแ‰ณ (AOF) แŠซแŠแ‰ƒแˆ… แˆแŠ”แ‰ณแ‹ โ€‹โ€‹แ‰ แ‰ตแŠ•แˆน แ‹ญแˆปแˆปแˆ‹แˆแข แˆˆแˆแˆณแˆŒ แ‹จ SHUTDOWN แ‰ตแ‹•แ‹›แ‹ แ‰ แˆ˜แˆตแŒ แ‰ต แŠฅแŠ“ แŠฅแŠ•แ‹ฐแŒˆแŠ“ แ‰ แˆ›แˆตแŒ€แˆ˜แˆญ แŠ แŒˆแˆแŒ‹แ‹ญแŠ• แˆ›แˆตแ‰ฐแ‹‹แ‹ˆแ‰… แ‹ญแ‰ฝแˆ‹แˆ‰แข แ‰ แˆฌแ‹ฒแˆต แ‹แˆตแŒฅ แ‹ซแˆ‰แ‰ต แ‹จแˆ›แ‰ฅแ‰‚แ‹ซ แˆตแˆซแ‹Žแ‰ฝ แ‰ แ‰ตแˆญแŒ‰แˆ แ‹ฐแˆจแŒƒ แ‰ฐแŒแ‰ฃแˆซแ‹Š แˆตแˆˆแˆšแˆ†แŠ‘ แŠ แŒˆแˆแŒ‹แ‹ฉ แ‰ขแŒ แ‹แˆ แŒŠแ‹œ แˆ˜แˆ„แ‹ฑแŠ• แˆตแˆˆแˆšแ‰€แŒฅแˆ แˆแˆ‰แˆ แแˆ‹แŒŽแ‰ถแ‰ปแ‰ฝแŠ• แŒฅแˆฉ แŠ“แ‰ธแ‹แข แˆ˜แ‹ฐแ‰ แŠ› แˆ˜แ‹˜แŒ‹แ‰ต แŠฅแˆตแŠซแˆˆ แ‹ตแˆจแˆต แˆ˜แ‹ฐแ‰ แŠ›แข แ‹จแˆ˜แ‰ฅแˆซแ‰ต แˆ˜แ‰†แˆซแˆจแŒฅ แˆแŠ• แˆ›แ‹ตแˆจแŒ แŠ แˆˆแ‰ แ‰ต? Redis แ‰ แŠแ‰ฃแˆชแŠแ‰ต แŠจแ‰ฐแ‹‹แ‰€แˆจ แ‰ แ‹ฒแˆตแŠญ แˆ‹แ‹ญ แ‰ แ‹จแˆฐแŠจแŠ•แ‹ฑ fsync แ‰ แˆ›แˆ˜แˆณแˆฐแˆแฃ แŠจแ‹ณแŒแˆ แˆ›แˆตแŒ€แˆ˜แˆญ แ‰ แŠ‹แˆ‹ แ‰แˆแ‹แ‰ฝแŠ• แ‰ แ‰‚ แˆ‹แ‹ญแˆ†แŠ• แ‹ญแ‰ฝแˆ‹แˆแข แ‰ แŠ•แ‹ตแˆ แˆ€แˆณแ‰ฅแฃ แ‰ แˆ›แŠ•แŠ›แ‹แˆ แ‹จแŠ แ‰ฅแŠแ‰ต แˆแŠ”แ‰ณ แˆ‹แ‹ญ แ‹จแˆ˜แ‰†แˆˆแŠแ‹ซแ‹Žแ‰ฝแŠ• แ‹ฐแˆ…แŠ•แŠแ‰ต แˆ›แˆจแŒ‹แŒˆแŒฅ แŠจแˆแˆˆแŒแŠ• แˆ›แŠซแ‰ฐแ‰ต แŠ แˆˆแ‰ฅแŠ• fsync=always แˆˆแˆจแŒ…แˆ แŒŠแ‹œ แ‹จแ‹แˆ‚แ‰ฅ แˆ›แŠจแˆ›แ‰ป แ‰…แŠ•แ‰ฅแˆฎแ‰ฝ แ‹แˆตแŒฅ. แ‹ญแˆ… แˆ™แˆ‰ แ‰ แˆ™แˆ‰ แŠ แˆแŒปแŒธแˆแŠ• แ‹ญแŒˆแ‹ตแˆ‹แˆ, แŠฅแŠ•แ‹ฐแ‹šแˆ… แ‹ซแˆ‰ แ‹จแˆฒแ’ แˆตแˆญแ‹“แ‰ถแ‰ฝ แ‹ฐแˆจแŒƒ, แ‹ญแˆ…แˆ แ‰ แ‰ฐแˆˆแˆแ‹ถ แ‹จแ‰ฐแŠจแ‹แˆแˆ‰ แˆ˜แ‰†แˆˆแŠแ‹ซแ‹Žแ‰ฝ แ‹ฐแˆ…แŠ•แŠแ‰ฑ แ‹จแ‰ฐแŒ แ‰ แ‰€ แ‰ตแŒแ‰ แˆซ แŒฅแ‰…แˆ แˆ‹แ‹ญ แ‹ญแ‹แˆ‹แˆ‰.

แŠแŒˆแˆญ แŒแŠ• แˆแŠ”แ‰ณแ‹ โ€‹โ€‹แ‰ แˆ˜แŒ€แˆ˜แˆชแ‹ซ แŠฅแ‹ญแ‰ณ แŠจแˆšแ‰ณแ‹จแ‹ แ‹จแ‰ฐแˆปแˆˆ แŠแ‹. แ‰ แˆ˜แˆญแˆ… แ‹ฐแˆจแŒƒแฃ แ‹จแŠ แˆแŒŽแˆชแ‹แˆ แ‹ฐแˆ…แŠ•แŠแ‰ต แ‰ฐแŒ แ‰ฅแ‰† แ‹ญแ‰†แ‹ซแˆ แˆแŠญแŠ•แ‹ซแ‰ฑแˆ แŠ แŠ•แ‹ต แˆแˆณแˆŒ แŠจแ‰ฐแˆณแŠซ แ‰ แŠ‹แˆ‹ แŠฅแŠ•แ‹ฐแŒˆแŠ“ แˆฒแŒ€แˆ˜แˆญ แŠ แˆแŠ• แ‰ฃแˆˆแ‹ แˆ˜แ‰†แˆˆแŠแ‹ซ แ‹แˆตแŒฅ แŠ แ‹ญแˆณแ‰ฐแแˆแข

แ‹ญแˆ…แŠ•แŠ• แˆˆแˆ›แˆจแŒ‹แŒˆแŒฅแฃ แŠจแ‰ฐแˆณแŠซแˆแŠ• แ‰ แŠ‹แˆ‹แฃ แˆแˆณแˆŒแ‹ แŠจแˆแŠ•แŒ แ‰€แˆแ‰ แ‰ต แŠจแแ‰ฐแŠ› TTL แ‰ แ‰ตแŠ•แˆน แ‰ แˆแŒฆ แˆ˜แ‰†แ‹จแ‰ฑแŠ• แ‰ฅแ‰ป แˆ›แˆจแŒ‹แŒˆแŒฅ แŠ แˆˆแ‰ฅแŠ•แข แˆตแˆˆแ‹šแˆ… แ‹แ‹ตแ‰€แ‰ต แ‰ แˆšแŠจแˆฐแ‰ตแ‰ แ‰ต แŒŠแ‹œ แŠ•แ‰ แ‹จแŠแ‰ แˆฉแ‰ตแŠ• แˆแˆ‰แŠ•แˆ แ‰แˆแŽแ‰ฝ แ‹จแˆ›แ‰ฅแ‰‚แ‹ซ แŒŠแ‹œ แŠฅแŠ“ แŠ แ‹แ‰ถแˆ›แ‰ฒแŠญ แˆ˜แˆแ‰€แ‰…แŠ• แŠฅแŠ•แŒ แ‰ฅแ‰ƒแˆˆแŠ•แข

แ‹จแ‹˜แŒˆแ‹จ แ‹ณแŒแˆ แˆ›แˆตแŒ€แˆ˜แˆญแŠ• แ‰ แˆ˜แŒ แ‰€แˆ แ‰ แˆ˜แˆญแˆ… แ‹ฐแˆจแŒƒ แ‰ แˆฌแ‹ฒแˆต แ‹แˆตแŒฅ แ‹จแˆจแŒ…แˆ แŒŠแ‹œ แŒฝแŠ“แ‰ต แ‰ฃแ‹ญแŠ–แˆญแˆ แ‹ฐแˆ…แŠ•แŠแ‰ตแŠ• แˆ›แŒแŠ˜แ‰ต แ‹ญแ‰ปแˆ‹แˆแข แ‹ญแˆแŠ• แŠฅแŠ•แŒ‚ แ‹ญแˆ… แ‰ฐแ‹ฐแˆซแˆฝแŠแ‰ตแŠ• แ‰ แˆ˜แŒฃแˆต แ‰…แŒฃแ‰ต แˆŠแ‹ซแˆตแŠจแ‰ตแˆ แŠฅแŠ•แ‹ฐแˆšแ‰ฝแˆ แˆแ‰ฅ แ‹ญแ‰ แˆ‰แข แˆˆแˆแˆณแˆŒแฃ แŠ แ‰ฅแ‹›แŠ›แ‹ แŠ แŒ‹แŒฃแˆšแ‹Žแ‰ฝ แŠซแˆแ‰ฐแˆณแŠฉ แˆตแˆญแ‹“แ‰ฑ แˆˆแ‰ฒแ‰ฒแŠคแˆ แŒŠแ‹œ แ‰ แŠ แˆˆแˆ แŠ แ‰€แ แ‹ฐแˆจแŒƒ แ‹จแˆ›แ‹ญแŒˆแŠ แ‹ญแˆ†แŠ“แˆ (แŠฅแŠ“ แ‰ แ‹šแˆ… แŒŠแ‹œ แˆแŠ•แˆ แŠ แ‹ญแŠแ‰ต แŒแ‰ฅแŠ แ‰ต แˆŠแ‰ณแŒˆแ‹ต แŠ แ‹ญแ‰ฝแˆแˆ)แข

แ‹จแŠ แˆแŒŽแˆชแ‹แˆแŠ• แ‰ฐแŒˆแŠแŠแ‰ต แˆ›แˆปแˆปแˆ: แˆ˜แ‰†แˆˆแŠแ‹ซแ‹แŠ• แˆ›แˆซแ‹˜แˆ

แ‰ แ‹ฐแŠ•แ‰ แŠžแ‰ฝ แ‹จแˆšแˆ แˆซแ‹ แˆฅแˆซ แŠ แŠแˆตแ‰ฐแŠ› แ‹ฐแˆจแŒƒแ‹Žแ‰ฝแŠ• แŠซแ‰€แˆ, แŠแ‰ฃแˆชแ‹แŠ• แ‹จแˆ˜แ‰†แˆˆแŠแ‹ซ แŒŠแ‹œ แˆ˜แ‰€แŠแˆต แŠฅแŠ“ แˆ˜แ‰†แˆˆแŠแ‹ซแ‹Žแ‰ฝแŠ• แˆˆแˆ›แˆซแ‹˜แˆ แ‹˜แ‹ดแŠ• แˆ˜แ‰ฐแŒแ‰ แˆญ แ‹ญแ‰ปแˆ‹แˆ. แ‰ แˆ˜แˆญแˆ… แ‹ฐแˆจแŒƒแฃ แ‹ฐแŠ•แ‰ แŠ›แ‹ แ‰ แˆตแˆŒแ‰ถแ‰ฝ แŠจแ‰ฐแŒ แˆ˜แ‹ฐ แŠฅแŠ“ แ‹จแˆ˜แ‰†แˆˆแŠแ‹ซ แŒŠแ‹œแ‹ แ‹‹แŒ‹ แ‰ แŠ แ‹ฐแŒˆแŠ› แˆแŠ”แ‰ณ แŠจแ‰€แŠแˆฐ แ‰แˆแ‰ แŠ แˆแŠ•แˆ แŠซแˆˆ แŠฅแŠ“ แŠฅแˆดแ‰ฑ แŠ แˆแŠ•แˆ แ‹จแ‰ฐแŒˆแŠ˜แ‹ แ‹จแ‹˜แˆแ‰€แ‹ฐ แŠฅแˆดแ‰ต แŠจแˆ†แŠ แ‹จ TTL แ‰แˆแแŠ• แ‹จแˆšแ‹ซแˆซแ‹แˆ™ แˆˆแˆแˆ‰แˆ แˆแŠ”แ‰ณแ‹Žแ‰ฝ แ‹จแˆ‰แŠ  แˆตแŠญแˆชแ•แ‰ต แˆ˜แˆ‹แŠญ แ‹ญแ‰ฝแˆ‹แˆ‰แข แˆ˜แ‰†แˆˆแŠแ‹ซแ‹ แˆฒแŒˆแŠ.

แ‹ฐแŠ•แ‰ แŠ›แ‹ แ‰ แ‹ตแŒ‹แˆš แ‹จแ‰ฐแŒˆแŠ˜แ‹แŠ• แˆ˜แ‰†แˆˆแŠแ‹ซ แ‰ แŠ แŒˆแˆแŒแˆŽแ‰ต แŒŠแ‹œ แ‹แˆตแŒฅ แŠ แ‰ฅแ‹›แŠžแ‰นแŠ• แŒ‰แ‹ณแ‹ฎแ‰ฝ แ‰ แ‰ฐแˆณแŠซ แˆแŠ”แ‰ณ แŠจแ‰†แˆˆแˆ แ‰ แŠ‹แˆ‹ แ‰ฅแ‰ป แŠแ‹ แ‹จแˆšแ‹ซแˆตแ‰ แ‹แข

แŠฅแ‹แŠแ‰ต แŠแ‹, แŠ แˆแŒŽแˆชแ‹แˆ แ‰ แ‰ดแŠญแŠ’แŠซแ‹ŠแŠแ‰ต แŠ แ‹ญแˆˆแ‹ˆแŒฅแˆ, แˆตแˆˆแ‹šแˆ… แˆ˜แ‰†แˆˆแŠแ‹ซแ‹Žแ‰ฝแŠ• แˆˆแˆ›แŒแŠ˜แ‰ต แŠจแแ‰ฐแŠ›แ‹ แ‹จแ‹ตแŒ‹แˆš แˆ™แŠจแˆซแ‹Žแ‰ฝ แ‰ฅแ‹›แ‰ต แ‹แˆตแŠ• แˆ˜แˆ†แŠ• แŠ แˆˆแ‰ แ‰ต, แŠ แˆˆแ‰ แˆˆแ‹šแ‹ซ แ‹จแ‰ฐแ‹ฐแˆซแˆฝแŠแ‰ต แ‰ฃแˆ…แˆชแ‹ซแ‰ฑ แ‹ญแŒฃแˆณแˆ‰.

แˆแŠ•แŒญ: hab.com

แŠ แˆตแ‰ฐแ‹ซแ‹จแ‰ต แ‹ซแŠญแˆ‰