ãã§ãŒã³ã¬ããªã±ãŒã·ã§ã³ã®äœ¿çšäŸãåŒãç¶ãæ€èšããŸãã
æåã®éšåã§åºæ¬çãªå®çŸ©ãšã¢ãŒããã¯ãã£ã説æããŸããã2çªç®ã®éšåãèªãåã«ããããããçè§£ããããšããå§ãããŸãã
ãã®èšäºã§ã¯ã次ã®ã·ã¹ãã ã«ã€ããŠåŠç¿ããŸãã
- Hibariã¯ãerlangã§äœæããã忣åã®ãã©ãŒã«ããã¬ã©ã³ããªããžããªã§ãã
- HyperDexã¯ã2æ¬¡å±æ§ã«ããã¯ã€ãã¯æ€çŽ¢ãšç¯å²æ€çŽ¢ããµããŒããã忣ããŒå€ã¹ãã¬ãŒãžã§ãã
- ChainReaction-å ææ§+äžè²«æ§ããã³ãžãªã¬ããªã±ãŒã·ã§ã³ã
- 远å ã®å€éšç£èŠ/åæ§æããã»ã¹ã䜿çšããã«åæ£ã·ã¹ãã ãæ§ç¯ããŸãã
5.ã²ã°ã
Hibariã¯ãã¢ãŒã©ã³ã§èšè¿°ããã忣åãã©ãŒã«ããã¬ã©ã³ãKVãªããžããªã§ãã ãã§ãŒã³ã¬ããªã±ãŒã·ã§ã³ïŒåºæ¬çãªã¢ãããŒãïŒã䜿çšããŸãã å³å¯ãªäžè²«æ§ãå®çŸããŸãã ãã¹ãã§ã¯ãHibariã¯é«ãããã©ãŒãã³ã¹ã瀺ããŸã-2ãŠããããµãŒããŒã§1ç§ãããæ°åã®æŽæ°ãéæãããŸããïŒ1Kbãªã¯ãšã¹ãïŒ
5.1ã¢ãŒããã¯ãã£
ããŒã¿ã®é
眮ã«ã¯ãäžè²«ããããã·ã¥ã䜿çšãããŸãã ã¹ãã¬ãŒãžã®åºç€ã¯ãç©çãããã¯ãšè«çãããã¯ã§ãã
ç©çããªãã¯ã¯ãLinuxãããããEC2ã€ã³ã¹ã¿ã³ã¹ãäžè¬çã«ã¯VMå
šäœãåãããµãŒããŒã§ãã
è«çããªãã¯ã¯ãã¯ã©ã¹ã¿ã®ã¡ã€ã³ããã»ã¹ãæ©èœãããªããžããªã€ã³ã¹ã¿ã³ã¹ã§ãããåãããã¯ã¯
1ã€ã®ãã§ãŒã³å
ã®ããŒãã§ãã æ¬¡ã®äŸã§ã¯ãã¯ã©ã¹ã¿ãŒã¯åç©çãããã¯ã«2ã€ã®è«çãããã¯ãé
眮ããããã«æ§æããããã§ãŒã³ã®é·ãã¯2ã§ãã
ãã¹ã¿ãŒããã»ã¹ïŒæåã®éšåã®å®çŸ©ãåç
§ïŒã¯
管çãµãŒããŒãšåŒã°ã
ãŸã ã
ããŒã¿ã¯åã«åå空éã«åå²ãã圹å²ãæãããããŒãã«ãã«æ ŒçŽãããåããŒãã«ã¯å°ãªããšã1ã€ã®ãã§ãŒã³ã«æ ŒçŽãããåãã§ãŒã³ã¯1ã€ã®ããŒãã«ã«ã®ã¿ããŒã¿ãæ ŒçŽããŸãã
Hibariã¯ã©ã€ã¢ã³ãã¯ããã¹ãŠã®ãã§ãŒã³ïŒããã³ãã¹ãŠã®ããŒãã«ïŒã®ãã¹ãŠã®ããããšããŒã«ã®ãªã¹ããå«ãæŽæ°ã管çãµãŒããŒããåä¿¡ããŸãã ãããã£ãŠã顧客ã¯ã©ã®è«çããŒãã«ãªã¯ãšã¹ããéä¿¡ããããããã«ææ¡ã§ããŸãã
5.2ããã·ã¥
ã²ã°ãã¯ãã¢ã䜿çšããŸã
\ {TãK \} ããŒãä¿åãããã§ãŒã³ã®ååãæ±ºå®ãã
ããŒãã«ã§
ïŒããŒ
ééã«ãããã³ã°
ïŒMD5ã䜿çšïŒã1ã€ã®ãã§ãŒã³ãæ
åœããã»ã¯ã·ã§ã³ã«åå²ãããŸãã ã»ã¯ã·ã§ã³ã¯ããã§ãŒã³ã®ãééãã«å¿ããŠãç°ãªãå¹
ã«ããããšãã§ããŸããæ¬¡ã«äŸã瀺ããŸãã
ãããã£ãŠãäžéšã®ç©çãããã¯ãéåžžã«åŒ·åãªå Žåããã®äžã«ãããã§ãŒã³ã«ã¯ãããåºãã»ã¯ã·ã§ã³ãå²ãåœãŠãããšãã§ããŸãïŒããã«å€ãã®ããŒããããã«èœã¡ãŸãïŒã
6. HyperDex
ãã®ãããžã§ã¯ãã®ç®æšã¯ãä»ã®äžè¬çãªãœãªã¥ãŒã·ã§ã³ïŒBigTableãCassandraãDynamoïŒãšã¯ç°ãªããã»ã«ã³ããªå±æ§ã®ã¯ã€ãã¯æ€çŽ¢ããµããŒãããç¯å²æ€çŽ¢ãè¿
éã«å®è¡ã§ãã忣Key-Valueã¹ãã¬ãŒãžãæ§ç¯ããããšã§ããã ããšãã°ã以åã«æ€èšãããã·ã¹ãã ã§ã¯ãç¹å®ã®ç¯å²å
ã®ãã¹ãŠã®å€ãæ€çŽ¢ããã«ã¯ããã¹ãŠã®ãµãŒããŒãééããå¿
èŠããããããã¯æããã«åãå
¥ããããŸããã HyperDexã¯
Hyperspace Hashingã䜿çšããŠãã®åé¡ã解決ããŸãã
6.1ã¢ãŒããã¯ãã£
ãã€ããŒã¹ããŒã¹ããã·ã¥ã®ã¢ã€ãã¢ã¯ã
å屿§ã1ã€ã®åº§æšè»žã«å¯Ÿå¿ãã2次å
空éã ããšãã°ããªããžã§ã¯ãïŒåãå§ãé»è©±çªå·ïŒã®å Žåãã¹ããŒã¹ã¯æ¬¡ã®ããã«ãªããŸãã
ç°è²ã®è¶
å¹³é¢ã¯ãã¹ãŠã®ããŒãééããå§=ã¹ãã¹ãé»è²-ãã¹ãŠã®ããŒãå=ãžã§ã³ãééããŸãã ãããã®å¹³é¢ã®äº€å·®ç¹ã¯ãJohnãšããååãšSmithãšããååã®äººã
ã®é»è©±çªå·ã®æ€çŽ¢ã¯ãšãªã«å¯Ÿããå¿çã圢æããŸãã ã ããã®èŠæ±
屿§ãè¿ã
次å
éšå空éã
ãµãŒãã¹ããŒã¹ã¯ã«åãããŠããŸã
次å
ã®ã°ãã°ãã®é åãåé åã¯åäžã®ãµãŒããŒã«å²ãåœãŠãããŸãã ãªãŒãžã§ã³ããã®åº§æšãæã€ãªããžã§ã¯ãã¯ããã®ãªãŒãžã§ã³ã®ãµãŒããŒã«ä¿åãããŸãã ãããã£ãŠããªããžã§ã¯ããšãµãŒããŒã®éã«ããã·ã¥ãæ§ç¯ãããŸãã
æ€çŽ¢ã¯ãšãªïŒç¯å²å¥ïŒã«ãããçµæã®ãã€ããŒãã¬ãŒã³ã«å«ãŸããé åãæ±ºå®ããããããããŒãªã³ã°ããããµãŒããŒã®æ°ãæå°éã«æããããŸãã
ãã®ã¢ãããŒãã«ã¯1ã€ã®åé¡ããããŸããå¿
èŠãªãµãŒããŒã®æ°ã¯ã屿§ã®æ°ããææ°é¢æ°çã«å¢å ããŸãã if屿§
ãã®åŸãããªããå¿
èŠ
ãµãŒããŒã ãã®åé¡ã解決ãããããHyperDexã¯ãã€ããŒã¹ããŒã¹ã®ããŒãã£ã·ã§ã³ãããããã屿§ã®ãµãã»ãããæã€ãµãã¹ããŒã¹ïŒããäœã次å
ïŒã«é©çšããŸãã
6.2ã¬ããªã±ãŒã·ã§ã³
å³å¯ãªäžè²«æ§ã確ä¿ããããã«ãèè
ã¯ãã§ãŒã³ã¬ããªã±ãŒã·ã§ã³ã«åºã¥ãç¹å¥ãªã¢ãããŒããéçºããŸããã
å€ã«äŸåãããã§ãŒã³ã§ã¯ã察å¿ãã屿§ãããã·ã¥ããããšã§åŸç¶ã®åããŒããæ±ºå®ãããŸãã ããšãã°ãããŒ
æåã«ããŒã¹ããŒã¹ã«ããã·ã¥ããïŒ
ãã€ã³ããªãŒããŒãšãåŒã°ããããããã§ãŒã³ãååŸãããŸãïŒã次ã«
$ã€ã³ã©ã€ã³$ "John" $ã€ã³ã©ã€ã³$ 察å¿ãã軞äžã®åº§æšãªã©ã«ã ïŒæŽæ°ã®äŸã«ã€ããŠã¯ãäžã®ç»åãåç
§ããŠãã ããã
ïŒ
ãã¹ãŠã®æŽæ°ã¯ããªã¯ãšã¹ããæŽçãããã€ã³ããªãŒããŒãééããŸãïŒç·åœ¢åå¯èœæ§ïŒã
æŽæ°ããªãŒãžã§ã³ã®å€æŽã«ã€ãªããå Žåãæåã«å€ãããŒãžã§ã³ã®çŽåŸã«æ°ããããŒãžã§ã³ãæžã蟌ãŸããŸãïŒæŽæ°ãåç
§ïŒ
ïŒãããŒã«ããACKãåä¿¡ãããšãåã®ãµãŒããŒããå€ãããŒãžã§ã³ãžã®ãªã³ã¯ã倿ŽãããŸãã åæãªã¯ãšã¹ããè¡ãã«ã¯ïŒäŸïŒ
ãããŠ
ïŒäžè²«æ§ãã€ã³ãã«éåããŠããªãå ŽåãªãŒããŒã¯ãåä¿¡ããå ŽåããµãŒããŒã«ããŒãžã§ãã³ã°ããã³ãã®ä»ã®ã¡ã¿æ
å ±ã远å ããŸã
åã«
泚æãæ··ä¹±ããŠããã®ã§ãåŸ
ã€å¿
èŠããããšå€æã§ããŸã
ã
7. ChainReaction
å æ+åæã¢ãã«ã䜿çšãããå æïŒå æïŒåæã«ç«¶åã®ãªãåæã®æ¡ä»¶ã远å ãããŸãã å æçåæãå®çŸããããã«ãã¡ã¿ããŒã¿ãåãªã¯ãšã¹ãã«è¿œå ããããã¹ãŠã®å æäŸåããŒã®ããŒãžã§ã³ã瀺ããŸãã ChainReactionã䜿çšãããšãè€æ°ã®ããŒã¿ã»ã³ã¿ãŒã§ãžãªã¬ããªã±ãŒã·ã§ã³ãå®è¡ã§ããCRAQã®ã¢ã€ãã¢ãããã«çºå±ãããŸãã
7.1ã¢ãŒããã¯ãã£
FAWNã®ã¢ãŒããã¯ãã£ã¯ãããããªå€æŽã§äœ¿çšãããŸã-åDCã¯
ããŒã¿ãµãŒã㌠-ããã¯ãšã³ãïŒããŒã¿ã¹ãã¬ãŒãžãã¬ããªã±ãŒã·ã§ã³ãDHTãªã³ã°ã®åœ¢æïŒããã³
ã¯ã©ã€ã¢ã³ããããã· -ããã³ããšã³ãïŒç¹å®ã®ããŒããžã®èŠæ±ã®éä¿¡ïŒã§æ§æãããŸãã åããŒã¯ãRé£ç¶ããŒãã«è€è£œããããã§ãŒã³ã圢æããŸãã èªã¿åãèŠæ±ã¯ããŒã«ã«ãã£ãŠåŠçãããæžã蟌ã¿ã¯ãããã«ãã£ãŠåŠçãããŸãã
7.2 1ã€ã®ããŒã¿ã»ã³ã¿ãŒ
ãã§ãŒã³ã¬ããªã±ãŒã·ã§ã³ããçããéèŠãªç¹æ§ã®1ã€ã«æ³šæããŠãã ãã-ããŒãã
äžéšã®ã¯ã©ã€ã¢ã³ãæäœãšå æçæŽåæ§ãããããã®åŸã以åã®ãã¹ãŠã®ããŒãã-ãšåãã§ãã ã ãããæäœ
ãµã€ãã§æåŸã«èŠã
ããã®åŸããã¹ãŠã®å æäŸåïŒãã
ïŒèªã¿åãæäœã¯ãå
é ããæ¬¡ã®ããŒãã§ã®ã¿å®è¡ã§ããŸã
ã ããã«
æ«å°Ÿã§å®è¡ãããŸã-èªã¿åãå¶éã¯ãããŸããã DCã®ããŒã«ã«ãã£ãŠå®è¡ãããæžãèŸŒã¿æäœã瀺ããŸã
DC-Write-StableïŒdïŒãªã© ã
åã¯ã©ã€ã¢ã³ãã¯ãã¯ã©ã€ã¢ã³ããèŠæ±ãããã¹ãŠã®ããŒã®ãªã¹ãïŒã¡ã¿ããŒã¿ïŒã圢åŒïŒããŒãããŒãžã§ã³ãchainIndexïŒã§ä¿åããŸããããã§ãchainIndexã¯ãããŒããŒã®æåŸã®èŠæ±ã«å¿çãããã§ãŒã³å
ã®ããŒãã®äœçœ®ã§ãã
ã¡ã¿ããŒã¿ã¯ãã¯ã©ã€ã¢ã³ããDC-Write-StableïŒdïŒã§ãããã©ãããèªèããŠããªãããŒã«ã€ããŠã®ã¿ä¿åãããŸã ã
7.2.1æžãèŸŒã¿æäœ
æäœãDC-Write-StableïŒdïŒã«ãªã£ãããèªã¿åãèŠæ±ã¯ä»¥åã®ããŒãžã§ã³ãèªã¿åãããšãã§ããŸããã
åæžã蟌ã¿èŠæ±ã«ã€ããŠãæåŸã®æžãèŸŒã¿æäœã远å ãããåã«èªã¿åãæäœãå®è¡ããããã¹ãŠã®ããŒã®ãªã¹ãã ã¯ã©ã€ã¢ã³ããããã·ããªã¯ãšã¹ããåä¿¡ãããšããã«ãã¡ã¿ããŒã¿ãããã¹ãŠã®ããŒã®æ«å°Ÿã§ããããã³ã°èªã¿åããå®è¡ããŸãïŒåãããŒãžã§ã³ãŸãã¯æ°ããããŒãžã§ã³ã®ååšã®ç¢ºèªãåŸ
ã£ãŠããŸããã€ãŸããå æäžè²«æ§ã®æ¡ä»¶ãæºãããŸãïŒã 確èªãåä¿¡ããããšã察å¿ãããã§ãŒã³ã®ãããã«æžã蟌ã¿èŠæ±ãéä¿¡ãããŸãã
æ°ããå€ãä¿åããããš
ãã§ãŒã³ã®ããŒãã®å Žåãéç¥ã¯ã¯ã©ã€ã¢ã³ãã«éä¿¡ãããŸãïŒæåŸã®ããŒãã®ã€ã³ããã¯ã¹ãšãšãã«ïŒã ã¯ã©ã€ã¢ã³ãã¯chainIndexãæŽæ°ããéä¿¡ãããããŒã®ã¡ã¿ããŒã¿ã次ã®ããã«åé€ããŸã ããããDC-Write-StableïŒdïŒã§ããããšãç¥ãããããã«ãªããŸããã 䞊è¡ããŠãèšé²ã¯ããã«ç¶ããããŸã-
é
å»¶äŒæ ã ãããã£ãŠãæåã®æžãèŸŒã¿æäœãåªå
ãããŸãã
ããŒãã tailãããŒã®æ°ããããŒãžã§ã³ãä¿åãããšããã«ãéç¥ãã¯ã©ã€ã¢ã³ãã«éä¿¡ããããã§ãŒã³ã®ãã¹ãŠã®ããŒãã«éä¿¡ãããŠãããŒãå®å®ããŠãããšããŒã¯ãããŸãã
7.2.2èªã¿åãæäœ
ã¯ã©ã€ã¢ã³ããããã·ãèªã¿åãèŠæ±ãéä¿¡ããŸã
è² è·ã忣ããªãããåè·¯å
ã®ããŒãã å¿çãšããŠãããŒãã¯å€ãšãã®å€ã®ããŒãžã§ã³ãéä¿¡ããŸãã å¿çã¯ã¯ã©ã€ã¢ã³ãã«éä¿¡ãããŸãããæ¬¡ã®å ŽåïŒ
- ããŒãžã§ã³ãå®å®ããŠããå Žåãæ°ããchainIndexã¯ãã§ãŒã³ã®ãµã€ãºãšçãããªããŸãã
- ããŒãžã§ã³ãæ°ããå Žåãæ°ããchainIndex = indexã
- ãã以å€ã®å ŽåãchainIndexã¯å€æŽãããŸããã
7.2.3ããŒãã®ãã§ã€ã«ãªãŒããŒ
ããã¯åºæ¬çãªã¢ãããŒããšã»ãŒå®å
šã«åãã§ãããå Žåã«ãã£ãŠã¯ã¯ã©ã€ã¢ã³ãã®chainIndexãç¡å¹ã«ãªããšããäºå®ã«ããã€ãã®éãããããŸã-ããã¯ãªã¯ãšã¹ããå®è¡ãããšãã«ç°¡åã«æ±ºå®ããïŒãã®ããŒãžã§ã³ã«ã¯ããŒããããŸããïŒããªã¯ãšã¹ãã¯ãã§ãŒã³ã®ãããã«ãªãã€ã¬ã¯ããããç®çã®ããŒãžã§ã³ã®ããŒããæ€çŽ¢ããŸã
7.3ããã€ãã®ïŒ ïŒããŒã¿ã»ã³ã¿ãŒïŒãžãªã¬ããªã±ãŒã·ã§ã³ïŒ
åäžãµãŒããŒã¢ãŒããã¯ãã£ã®ã¢ã«ãŽãªãºã ãåºæ¬ãšããããããæå°éã«é©åãããŸãã ãŸããã¡ã¿ããŒã¿ã§ãããŒãžã§ã³ãšchainIndexã®å€ã ãã§ãªããN次å
ã®ããŒãžã§ã³ä»ããã¯ãã«ãå¿
èŠã§ãã
DC-Write-StableïŒdïŒãšåæ§ã®æ¹æ³ã§Global-Write-Stableãå®çŸ©ããŸããæžãèŸŒã¿æäœã¯ããã¹ãŠã®DCã®ããŒã«ã§å®è¡ãããå ŽåãGlobal-Write-StableãšèŠãªãããŸãã
åDCã«æ°ããã³ã³ããŒãã³ãã衚瀺ãããŸã
-remote_proxy ããã®ã¿ã¹ã¯ã¯ä»ã®DCããæŽæ°ãåä¿¡/éä¿¡ããããšã§ãã
7.3.1ãµãŒããŒã§ã®æžãèŸŒã¿æäœã®å®è¡ ïŒ
æåã¯åäžãµãŒããŒã¢ãŒããã¯ãã£ã«äŒŒãŠããŸã-èªã¿åãã®ããããã³ã°ãæåã®æžã蟌ã¿ãå®è¡ããŸã
ãã§ãŒã³ã®çµã³ç®ã ãã®æç¹ã§ãã¯ã©ã€ã¢ã³ããããã·ã¯ã¯ã©ã€ã¢ã³ãã«æ°ãããã¯ã¿ãŒchainIndexãéä¿¡ããŸãã
-æå³ããããŸã
ã æ¬¡-ãã€ãã®ããã«ã æåŸã®è¿œå æäœ-æŽæ°ã¯remote_proxyã«éä¿¡ãããè€æ°ã®èŠæ±ãèç©ããŠãããã¹ãŠãéä¿¡ããŸãã
ããã§2ã€ã®åé¡ãçºçããŸãã
- ç°ãªãDCããã®ç°ãªãæŽæ°ããã°ã©ã éã®äŸåé¢ä¿ã確èªããæ¹æ³ã¯ïŒ
åremote_proxyã¯ãããŒã«ã«ããŒãžã§ã³ãã¯ãã«ãæ ŒçŽããŸã å¯žæ³ ãéåä¿¡ãããæŽæ°ã®æ°ãä¿åããåæŽæ°ã§éä¿¡ããŸãã ãããã£ãŠãå¥ã®DCããæŽæ°ãåä¿¡ãããšãremote_proxyã¯ã«ãŠã³ã¿ãŒããã§ãã¯ããããŒã«ã«ã«ãŠã³ã¿ãŒãå°ãªãå Žåã察å¿ããæŽæ°ãåä¿¡ããããŸã§æäœã¯ãããã¯ãããŸãã - ä»ã®DCã§ãã®æäœã®äŸåé¢ä¿ãæäŸããæ¹æ³ã¯ïŒ
ããã¯ããã«ãŒã ãã£ã«ã¿ãŒã䜿çšããŠå®çŸãããŸãã ã¯ã©ã€ã¢ã³ããããã·ããæžã蟌ã¿/èªã¿åãæäœãå®è¡ãããšãã¡ã¿ããŒã¿ã«å ããŠããã«ãŒã ãã£ã«ã¿ãŒãåããŒã«éä¿¡ãããŸãïŒå¿çãã£ã«ã¿ãŒãšåŒã°ããŸãïŒã ãããã®ãã£ã«ã¿ãŒã¯AccessedObjectsãªã¹ãã«ä¿åãããæžã蟌ã¿/èªã¿åãæäœãèŠæ±ãããšããã¡ã¿ããŒã¿ã¯éä¿¡ãããããŒããã£ã«ã¿ãŒã«ãããŸãïŒäŸåãã£ã«ã¿ãŒãšåŒã°ããŸãïŒã åæ§ã«ãæžãèŸŒã¿æäœã®åŸã察å¿ãããã£ã«ã¿ãŒã¯åé€ãããŸãã æžãèŸŒã¿æäœãå¥ã®DCã«éä¿¡ãããšããã®èŠæ±ã®äŸåé¢ä¿ãã£ã«ã¿ãŒãšå¿çãã£ã«ã¿ãŒãéä¿¡ãããŸãã
ããã«ããã®ãã¹ãŠã®æ
å ±ãåä¿¡ãããªã¢ãŒãDCã¯ãå¿çãã£ã«ã¿ãŒã®èšå®ããããããã€ãã®ã¯ãšãªãã£ã«ã¿ãŒã®èšå®ããããšäžèŽããå Žåããã®ãããªæäœãæœåšçã«å¶çºçã«äŸåããããšã確èªããŸãã æœåšçã«-ãã«ãŒã ãã£ã«ã¿ãŒã®ããã
7.3.2èªã¿åãæäœ
åäžãµãŒããŒã¢ãŒããã¯ãã£ãšåæ§ã«ãã¹ã«ã©ãŒã®ä»£ããã«chainIndexãã¯ãã«ã䜿çšããããã«èª¿æŽããDCã§ããŒã倱ãããå¯èœæ§ããããŸãïŒæŽæ°ãéåæã§ããããïŒ-èŠæ±ãåŸ
æ©ããããå¥ã®DCã«ãªãã€ã¬ã¯ãããŸãã
7.3.3ç«¶åã®è§£æ±º
ã¡ã¿ããŒã¿ã®ãããã§ãå æäŸåã®æäœã¯åžžã«æ£ããé åºã§å®è¡ãããŸãïŒãã®ããã«ããã»ã¹ããããã¯ããå¿
èŠãããå ŽåããããŸãïŒã ããããç°ãªãDCã§ã®ç«¶äºäžã®å€åã¯ãç«¶åã«ã€ãªããå¯èœæ§ããããŸãã ãã®ãããªç¶æ³ã解決ããããã«ãåæŽæ°æäœã«ãã¢ãååšããæçµæžã蟌ã¿åªå
ã䜿çšãããŸã
ã©ãã§
-ãããã·ã§ã®æé
-DCã®IDã
7.3.4ããŒãé害ã®åŠç
åäžãµãŒããŒã¢ãŒããã¯ãã£ã«äŒŒãŠããŸãã
8.ã¹ã±ãŒã©ãã«ã¬ããªã±ãŒã·ã§ã³ãããã³ã«ã®èšèšã§ã·ã£ãŒãã£ã³ã°ã掻çšãã
ãã®èª¿æ»ã®ç®çã¯ãã¯ã©ã¹ã¿ãŒãåæ§æ/ç£èŠããããã®å€éšãã¹ã¿ãŒããã»ã¹ã䜿çšããã«ãã·ã£ãŒããšã¬ããªã±ãŒã·ã§ã³ãåãã忣ã·ã¹ãã ãæ§ç¯ããããšã§ãã
çŸåšã®äž»ãªã¢ãããŒãã§ã¯ãèè
ã«ã¯æ¬¡ã®ãããªæ¬ ç¹ããããŸãã
è€è£œïŒ
- ãã©ã€ããª/ããã¯ã¢ãã-ãã©ã€ããªã誀ã£ãŠå€±æãšèå¥ãããå Žåãç¶æ
ã«ççŸãçããŸãã
- Quorum Intersection-ã¯ã©ã¹ã¿ãŒã®åæ§æäžã«ç¶æ
ã®äžäžèŽãçããå¯èœæ§ããããŸãã
峿 Œãªäžè²«æ§ïŒ
- ãããã³ã«ã¯ãå¿
èŠã«å¿ããŠå€æ°æ±ºã¢ã«ãŽãªãºã ïŒPaxosãªã©ïŒã«äŸåããŸã çµã³ç®ãèœãšã ããŒãã
ããŒãéå®³ã®æ€åºïŒ
- P / Bããã³CRã¯ããã§ã€ã«ã¹ãããã¢ãã«ã䜿çšããé害ããŒãã®å®å
šãªæ€åºã®ååšãæå³ããŸããããã¯å®éã«ã¯éæã§ãããé©åãªã¹ãã£ã³ééãéžæããå¿
èŠããããŸãã
- ZooKeeperã§ãåãåé¡ãçºçããŸã-倿°ã®ã¯ã©ã€ã¢ã³ãã§ã¯ãæ§æãæŽæ°ããã®ã«ããªãã®æéïŒ> 1ç§ïŒãå¿
èŠã§ãã
èè
ã«ãã£ãŠææ¡ããã
Elastic replicationãšåŒã°ããã¢ãããŒãã«ã¯ããããã®æ¬ ç¹ããªããæ¬¡ã®ç¹åŸŽããããŸãã
- å³å¯ãªäžè²«æ§ã
- èœäžã«èãã ããŒãã«ã¯ çµã³ç®ã
- äžè²«æ§ã倱ããã«åæ§æããŸãã
- 倿°æ±ºã«åºã¥ãåæãããã³ã«ã®å¿
èŠã¯ãããŸããã
æŠèŠãã¬ãŒãïŒ
8.1ã¬ããªã«ã®æ§æ
åã·ã£ãŒãã¯ãæ§æã®ã·ãŒã±ã³ã¹ãå®çŸ©ããŸã
ããšãã°ãæ°ããæ§æã«ã¯ãäœããã®çš®é¡ã®èœã¡ãã¬ããªã«ãå«ãŸããŠããŸãã
æ§æã·ãŒã±ã³ã¹ã®åèŠçŽ ã¯ä»¥äžã§æ§æãããŸãã
- ã¬ããªã«-ã¬ããªã«ã®ã»ããã
- orderer-ç¹å¥ãªåœ¹å²ãæã€ã¬ããªã«ã®IDïŒä»¥äžãåç
§ïŒã
åã·ã£ãŒãã¯ãã¬ããªã«ã®ã»ããã§è¡šãããŸãïŒæ§é -
ïŒãã€ãŸã ãã·ã£ãŒãããšãã¬ããªã«ãã®åœ¹å²ãåããŸããã
åã¬ããªã«ã«ã¯æ¬¡ã®ããŒã¿ãæ ŒçŽãããŸãã
- conf-ãã®ã¬ããªã«ãå±ããæ§æã®IDã
- orderer-ãã®ã¬ããªã«ã¯ããã®æ§æã®çºæ³šè
ã§ãã
- ã¢ãŒã-ã¬ããªã«ã¢ãŒãã3ã€ã®ããããïŒ ïŒé-ããã®ãã¹ãŠã®ã¬ããªã« ïŒã ïŒããã®ãã¹ãŠã®ã¬ããªã« ïŒã ã
- å±¥æŽ-å®éã®ã¬ããªã«ããŒã¿ã«å¯Ÿããäžé£ã®æäœ ïŒãŸãã¯åãªãæ¡ä»¶ïŒã
- å®å®-ãã®ã¬ããªã«ã«ãã£ãŠä¿®æ£ãããå±¥æŽãã¬ãã£ãã¯ã¹ã®æå€§é·ã æããã«ã ã
ã¬ããªã«æ³šæè
ã®äž»ãªç®çã¯ãæ®ãã®ã¬ããªã«ã«ãªã¯ãšã¹ããéä¿¡ããæå€§ã®å±¥æŽãã¬ãã£ãã¯ã¹ãç¶æããããšã§ãã
8.2ã·ã£ãŒãã®æ§æ
ç Žçã¯ã
匟æ§ãã³ããšåŒã°ãããªã³ã°ã«çµåãããŸãã åã·ã£ãŒãã¯1ã€ã®ãªã³ã°ã«ã®ã¿å±ããŸãã ãã¹ãŠã®ç Žçã®å
é§è
ç¹å¥ãªåœ¹å²ãæãããŸã-圌ã¯åœŒã®ããã®
ã·ãŒã±ã³ãµãŒã§ãã ã·ãŒã±ã³ãµãŒã®ä»äºã¯ãã¬ããªã«ã«é害ãçºçããå Žåã«ãåŸç¶ãµãŒããŒã«æ°ããæ§æãæäŸããããšã§ãã
次ã®2ã€ã®æ¡ä»¶ãå¿
èŠã§ãã
- åãšã©ã¹ãã£ãã¯ãã³ãã«ã¯ãå°ãªããšã1ã€ã®ã·ã£ãŒããš1ã€ã®äœæ¥ã¬ããªã«ããããŸãã
- å匟æ§ãã³ãã«ã¯ããã¹ãŠã®ã¬ããªã«ãæ©èœããã·ã£ãŒããå°ãªããšã1ã€ãããŸãã
2çªç®ã®æ¡ä»¶ã¯å³ããããããã«èŠããŸããããã¹ã¿ãŒããã»ã¹ã決ããŠèœã¡ãªããšãããåŸæ¥ã®ãæ¡ä»¶ãšåçã§ãã
8.3ãã§ãŒã³ã¬ããªã±ãŒã·ã§ã³ã®äœ¿çš
ãæ³åã®ãšãããã¬ããªã«ã¯ãã§ãŒã³ãšããŠæ§æãããŠããŸãïŒåºæ¬çãªã¢ãããŒãïŒ-泚æè
ãå
é ã«ããŸãããããããªéãããããŸãã
- CRã§é害ãçºçããå ŽåãERã§ããŒãããã§ãŒã³ããã¹ããŒããïŒæ°ããããŒãã«çœ®ãæããããŸãïŒãæ°ãããã§ãŒã³ãäœæãããŸãã
- CRã®èªã¿åãèŠæ±ã¯ãããŒã«ã§ãERã§åŠçãããŸããæžã蟌ã¿èŠæ±ãšåãæ¹æ³ã§ãã§ãŒã³å
šäœãééããŸãã
8.5é害çºçæã®åæ§æ
- ã¬ããªã«ã¯ãã·ã£ãŒãã®ã¬ããªã«ãšã·ãŒã±ã³ãµãŒã·ã£ãŒãã®ã¬ããªã«ã®äž¡æ¹ã«ãã£ãŠç£èŠãããŸãã
- éå®³ãæ€åºããããšããã«ãã¬ããªã«ã¯ããã«é¢ããã³ãã³ããéä¿¡ããŸãã
- Sequencerãæ°ããæ§æãéä¿¡ããŸãïŒã¬ããªã«ã®é害ã¯ãããŸããïŒã
- ç¶æ
ããšã©ã¹ãã£ãã¯ãã³ããšåæããæ°ããã¬ããªã«ãäœæãããŸãã
- ãã®åŸãã·ãŒã±ã³ãµãŒã¯è¿œå ãããã¬ããªã«ãšãšãã«æ°ããæ§æãéä¿¡ããŸãã
åç
§è³æ