Share
Embed
精緻に解析可能な恒常性のあるメール基盤の設計 / CKP-QGPOP-auntonmous-mail
九州大学・ペパボ研究所共同研究:メール基盤の安定性向上とリソース管理の再設計
松本 亮介*, 小田 知央*, 笠原 義晃**, 嶋吉 隆夫**, 岡村 耕二**
*Pepabo R&D Institute, GMO Pepabo, Inc. / **九州大学 情報基盤研究開発センター
2017.12.7 CKP-QGPOP研究会
MATSUMOTO Ryosuke PRO
December 07, 2017
Transcript
33 slides
-
भେֶɾϖύϘݚڀॴڞಉݚڀɿϝʔϧج൫ͷ҆ఆੑ্ͱϦιʔεཧͷ࠶ઃܭ দຊ ྄հ*, খా ԝ*, ּݪ ٛߊ**, ౢ٢ ོ**, Ԭଜ
ߞೋ** *Pepabo R&D Institute, GMO Pepabo, Inc. / **भେֶ ใج൫ݚڀ։ൃηϯλʔ 2017.12.7 CKP-QGPOPݚڀձ ਫ਼៛ʹղੳՄೳͳ ߃ৗੑͷ͋Δϝʔϧج൫ͷઃܭ -
• ߴूੵϚϧνΞΧϯτܕͷϝʔϧૹड৴γεςϜͷ҆ఆԽ • ςφϯτؒͷϦιʔεڝ߹Λগͳ҆͘͠ఆͨ͠ϝʔϧγεςϜΛ࣮ݱ • ੩తͳྲྀྔ੍ݶͰͳ͘దԠతͳྲྀྔɾϦιʔε੍ݶʹΑΓշదͳڥΛ࣮ݱ • େྔૹ৴࣌ݕͱͱʹΦʔτεέʔϦϯάʹΑΔϦιʔε૿ڧ • ֤ίϯϙʔωϯτͰηογϣϯσʔλΛอଘ͠ղੳʹ׆༻
• ྲྀྔ੍ݶɺҟৗݕɺෆਖ਼ݕɺΦʔτεέʔϦϯάɺػցֶशͳͲʹ׆༻ 5 త -
• ߃ৗੑͷ͋Δਫ਼៛ʹղੳՄೳͳϝʔϧج൫ʹؔ͢Δݚڀ։ൃ • NIIΫϥυ࣮ূ࣮ݧʹ͓͚Δ৽͍͠ίϯςφج൫ͷల։ͱݕূ • Ԡ༻ͱͯ͠৽͍͠ϝʔϧج൫ͷઃܭ ← ࠓͷൃද • ৽͍͠ίϯςφج൫
= FastContainerΞʔΩςΫνϟʹج࣮ͮ͘ 6 भେֶ ใج൫ݚڀ։ൃηϯλʔͱڞಉݚڀ -
FastContainer※1 ʹ͍ͭͯ ※1. দຊ྄հ, ۙ౻ Ӊஐ࿕, ࡾ ༔հ, ྗ ݈࣍,
܀ྛ ݈ଠ, FastContainer: WebΞϓϦέʔγϣϯίϯςφͷىಈΛϦΞΫςΟϒʹܾఆ͢ΔίϯςφཧΞʔ ΩςΫνϟ, ใॲཧֶձݚڀใࠂΠϯλʔωοτͱӡ༻ٕज़ʢIOTʣ,2017-IOT-38, Vol.14, pp.1-8, 20176݄. -
• ಥൃతͳΞΫηε͚࣌ͩεέʔϧ͢Δͷͳ͍ͥ͠ͷ͔ʁ • γεςϜ͕ෆมੑΛ࣋ͭͱมԽେ͖ͳίετ͕͏ • γεςϜͷߏཁૉෆมੑΛ࣋ͪঢ়ଶมԽͷίετ͕ߴ͍ • ෆมੑΛҡ࣋͢Δ͜ͱ͕γεςϜཧͷతͰ͋Δ • ఆͷൣғͰ࣭Λ࠷େԽ͢Δ͜ͱΛతͱ͍ͯ͠Δ
• ఆͰ͖ͳ͍ΞΫηεूத͕ଟൃ͢Δ࣌ʹෆ͖ 9 ෆมੑΛ͏γεςϜͷ՝ -
• ঢ়ଶͷมԽΛߴʹߦ͑ͯԠతʹಈ࡞Ͱ͖Δ͜ͱΛॏࢹ • γεςϜͷཁૉͷఀࢭ͔ΒىಈॲཧͷޮԽʹண • γεςϜͷཁૉͷఀࢭঢ়ଶΛڐ༰͢ΔγεςϜ • ৗʹఀࢭͱىಈ͕॥Մೳͳ߃ৗੑΛ࣋ͭγεςϜΛࢦ͢ • ॥Մೳ
= Մ༻ੑ͕ߴ͘ৗʹมԽՄೳͳج൫Λ࣮ݱͰ͖Δ 12 Մ༻ੑߴ͘มԽʹڧ͍ج൫Λઃܭ͢Δʹʁ -
มԽ͠ଓ͚Δ͜ͱ͔ΒಘΒΕΔ҆ఆੑ 13 ϗετ" ϗετ" ϗετ" ϗετ" ϗετ" Πϯλʔωοτ ϗετ" ϗετ"
ϗετ" ͕ͯఀࢭ Ԡతʹىಈ Ԡతʹ εέʔϧΞοϓ ऩ༰αʔόA ऩ༰αʔόB HTTPϦΫΤετ Ԡతʹ εέʔϧΞτ • ϗετͷىಈͱఀࢭΛ॥ • ৗʹ॥͠ଓ͚ΔΞʔΩςΫνϟ • มԽ͠ଓ͚Δ͜ͱʹΑΔ҆ఆੑ • ॥ͷվળΛٻ ৗʹมԽՄೳͰ͋ΔͨΊಥൃతͳΞ ΫηεूதͷΑ͏ͳมԽʹੑͷ ͋ΔΞʔΩςΫνϟΛ࣮ݱՄೳ -
HTTP FastContainerͷϑϩʔ 15 8FC1SPYZ ʢOHY@NSVCZ $.%# ʴ "1* -PDBM8FC1SPYZ OHY@NSVCZ
$MJFOU ίϯςφ ίϯςφ ίϯςφ w )551ϦΫΤετͷ)PTUOBNF ΛΩʔʹɺ$.%# ߏཧ%# ͔ΒίϯςφͷใΛऔಘ )551 4 ϦΫΤετ w ίϯςφͷ*1ͱϙʔτʹج͍ ͯίϯςφʹϓϩΩγ w ίϯςφ͕-JTUFO͍ͯ͠ͳ͍ ߹$.%#͔Βίϯςφ ใΛಘͯىಈ $POUBJOFS&OHJOF IBDPOJXB -
• HTTPϕʔε͚ͩͰͳ͘TCP/UDPϕʔεͷFastContainerΛ࣮ݱͤ͞Δ • HTTPϕʔεͩͱdomainΛΩʔʹৼΓ͚͕Մೳ • TCP/UDPϕʔεͩͱϙʔτͱIPΞυϨεϕʔεͷৼΓ͚͕ඞཁ • ϓϩτίϧͷதΛݟͣʹΑΓ൚༻Խͤ͞Δ 18 HTTPϕʔεͷFastContainerͷԠ༻
※1. দຊ྄հ, ۙ౻ Ӊஐ࿕, ࡾ ༔հ, ྗ ݈࣍, ܀ྛ ݈ଠ, FastContainer: WebΞϓϦέʔγϣϯίϯςφͷىಈΛϦΞΫςΟϒʹܾఆ͢ΔίϯςφཧΞʔ ΩςΫνϟ, ใॲཧֶձݚڀใࠂΠϯλʔωοτͱӡ༻ٕज़ʢIOTʣ,2017-IOT-38, Vol.14, pp.1-8, 20176݄. -
͜Ε·ͰͷHTTP-FastContainer 19 8FC1SPYZ ʢOHY@NSVCZ $.%# -PDBM8FC1SPYZ OHY@NSVCZ -74 $MJFOU ίϯςφ
ίϯςφ ίϯςφ PSϙʔτΛ 8FC1SPYZྲྀ͢ )551ϦΫΤετ ͔Β)PTUOBNF ΛΩʔʹɺ$.%# ͔Βϗετ04ͷ*1 ͱίϯςφͷ*1ͱ ϙʔτΛऔಘ )551 4 ϦΫΤετ ίϯςφͷ*1ͱϙʔτʹج ͍ͯίϯςφʹϓϩΩγɻ ίϯςφͷ*1ϙʔτɺ 8FC1SPYZ͔Βϔομͱ ͯ͠༩͞Εͯ͘Δɻ ίϯςφ͕-JTUFO͍ͯ͠ͳ ͍߹$.%#͔Βίϯς φใΛಘͯىಈͤ͞Δɻ $POUBJOFS&OHJOF IBDPOJXB Πϯλʔωοτ ϓϥΠϕʔτ ωοτϫʔΫ -
TCP/UDP-FastContainer 20 $.%# -PDBM5$16%11SPYZ OHY@NSVCZ -74 $MJFOU ίϯςφ ίϯςφ ίϯςφ
άϩʔόϧ *1ΞυϨεϙʔτʹରԠ ͢Δ5$16%1ϓϩΩγ ͷ*1ΞυϨεϙʔτʹ 'PSXBSE άϩʔόϧ *1ΞυϨεϙʔτ ϦΫΤετ 'PSXBSE͞Ε͖ͯͨύέοτΛड ৴ͨ͠αʔό*1ΞυϨεϙʔτʹ ඥͮ͘ίϯςφใΛ$.%#͔Β ಘͯɺίϯςφ͕ىಈ͍ͯͨ͠Β QSPYZɺىಈ͍ͯ͠ͳ͚Είϯ ςφىಈ͔ͯ͠ΒQSPYZ $POUBJOFS&OHJOF IBDPOJXB Πϯλʔωοτ ϓϥΠϕʔτ ωοτϫʔΫ ϗετ04 ϙʔτϓʔϧ άϩʔόϧ*1ΞυϨ εɿϙʔτϓʔϧ -
• ϝʔϧgatewayΫϥεͷίϯςφResidentContainer • εέʔϧ࣌ॳظίϯςφ࠷ҡ࣋͠ͳ͕ΒεέʔϧΞοϓorΞτ • Ϣʔβͷϝʔϧૹड৴ΫϥεͷίϯςφFastContainer ※1 • શ͘ίϯςφ͕ىಈ͍ͯ͠ͳ͍ঢ়ଶ͕͋Γ͏Δํࣜ 22
FastContainerͱResidentContainer ※1. দຊ྄հ, ۙ౻ Ӊஐ࿕, ࡾ ༔հ, ྗ ݈࣍, ܀ྛ ݈ଠ, FastContainer: WebΞϓϦέʔγϣϯίϯςφͷىಈΛϦΞΫςΟϒʹܾఆ͢ΔίϯςφཧΞʔ ΩςΫνϟ, ใॲཧֶձݚڀใࠂΠϯλʔωοτͱӡ༻ٕज़ʢIOTʣ,2017-IOT-38, Vol.14, pp.1-8, 20176݄. -
%PWFDPU "VTFS 1PTUpY 1NJMUFS "VTFS 1PTUpY 1NJMUFS */ 1PTUpY
1NJMUFS 065 )PNFPTUBUJD"*&.BJM4ZTUFN'MPX ֎෦.6" ֎෦.5" .BJM#PY )PNFPTUBUJD"*&.BJM4ZTUFN %PWFDPU -.51 "VTFS WJSVTHX WJSVTHX 'BTU$POUBJOFS 3FTJEFOU$POUBJOFS 1PTUpY NSVCZ %PWFDPU "VTFS .BJM#PY %PWFDPU -.51 "VTFS %PWFDPU "VTFS .BJM#PY %PWFDPU -.51 "VTFS %PWFDPU "VTFS .BJM#PY %PWFDPU -.51 "VTFS %PWFDPU NSVCZ "VTFS .BJM#PY %PWFDPU -.51 "VTFS ສίϯςφͷεέʔϥϏϦςΟ $.%# "1* 1PTUpY 1NJMUFS "VTFS 1PTUpY 1NJMUFS "VTFS 1PTUpY 1NJMUFS "VTFS -# -
*."1 "VTFS *."1 "VTFS %BUB /'4 *."1 "VTFS 0@&9$-CBTFEMPDLXJUIPVUNNBQ "VUP4DBMF6Q
"VUP4DBMF0VU 4.51 "VTFS 4.51 */ 4.51 */ 4.51 */ .BJMEJS JOEFYDBDIJOH 'BTU$POUBJOFS 3FTJEFOU$POUBJOFS 4.51 065 4.51 065 4.51 065 .JMUFS $.%# "1* *."1 1MVHJO .JMUFS 0@&9$-CBTFEMPDLXJUIPVUNNBQ .BJMRVFVFT 0@&9$-CBTFEMPDLXJUIPVUNNBQ .BJMRVFVFT "* .BJMEJS DPOOFDUJPO ·IPSJ4ZUFN )PNFPTUBUJD"*&.BJM4ZTUFN-BZFS &.BJMCFIBWJPS*' .JMUFS -
%PWFDPU "VTFS %PWFDPU "VTFS %BUB /'4 %PWFDPU "VTFS EPUMPDL "VUP4DBMF6Q
"VUP4DBMF0VU 1PTUpY "VTFS 1PTUpY */ 1PTUpY */ 1PTUpY */ .BJMEJS JOEFYDBDIJOH 'BTU$POUBJOFS 3FTJEFOU$POUBJOFS 1PTUpY 065 1PTUpY 065 1PTUpY 065 1NJMUFS $.%# "1* %PWFDPU NSVCZ QMVHJO 1NJMUFS EPUMPDL .BJMRVFVFT EPUMPDL .BJMRVFVFT "* .BJMEJS DPOOFDUJPO ·IPSJ4ZUFN )PNFPTUBUJD"*&.BJM4ZTUFN-BZFS &.BJMCFIBWJPS*' 1NJMUFS -
• SMTPPmilterʢmilterαʔόʣ※1 • SMTPαʔόϓϩηεͱಠཱͯ͠ಈ࡞ʢෳಈ࡞Մೳʣ • IMAPdovecot-mruby-pluginʢIMAP֦ுϓϥάΠϯʣ※2 • IMAPαʔόϓϩηε୯ҐͰಈ࡞ 28 ૹड৴ηογϣϯσʔλͷճऩ
˞IUUQTHJUIVCDPNNBUTVNPUPSZQNJMUFS ˞IUUQTHJUIVCDPNNBUTVNPUPSZEPWFDPUNSVCZQMVHJO -
• େྔʢສͷنʣͷυϝΠϯʹඥͮ͘relayઌίϯςφΛಈతʹܾఆ͍ͨ͠ • key͔ΒͷvalueऔಘॲཧΛΫϥΠΞϯτɾαʔό྆ํ͔Βఆ͍ٛͨ͠ • postfix-mrubyͷ׆༻ ※1 • relayઌ୳ࡧ࣌ͷkey͔Βͷlookup tableॲཧΛmrubyͰ৽ͨʹఆٛՄೳ
• HTTPΫϥΠΞϯτͱAPIؒͷ௨৴σʔλɾϑΥʔϚοτࣗୡͰ࣮Մೳ 29 େྔͷLMTPίϯςφʹର͢ΔrelayͷৼΓ͚ ˞IUUQTHJUIVCDPNUNUNQPTUpYNSVCZ -
• TCP-FastContainerʹରԠͤ͞Δͱϙʔτ͕৭ʑʹͳΔ • ϝʔϧͰ5225ΛIMAPʹ͏ύλʔϯͳͲ • DNSͷtxtϨίʔυͰࣗಈMUAઃఆΛ͢Δͷ͕͋Δ • RFC6186 Use of
SRV Records for Locating Email Submission/Access Services • SRVϨίʔυʹϙʔτͷઃఆͳͲΛॻ͍ͯMUA͕ͦΕΛݟͯ͘ΕΔ 31 ϝʔϧΫϥΠΞϯτઃఆͷࣗಈԽ -
• भେֶใج൫ݚڀ։ൃηϯλʔͱڞಉݚڀ • ϝʔϧͷྲྀྔ੍ޚΛࡉ͔͘ߦ͑ΔΑ͏ͳج൫ͷઃܭ • ϝʔϧΠϯελϯε͕ΦʔτεέʔϦϯά • ηογϣϯ୯ҐͰىಈ͠ɺҰఆظؒىಈޙɺఀࢭ͢Δ॥Λ܁Γฦ͢ • ηογϣϯσʔλΛਫ਼៛ʹऩू͠ඇಉظͰղੳՄೳͳج൫
• NIIΫϥυ࣮ূ࣮ݧڥʹίϯςφج൫Λల։͠ςετ༧ఆ 33 ߃ৗੑͷ͋Δਫ਼៛ʹղੳՄೳͳϝʔϧج൫