FastContainerをメール基盤へ適用 - 精緻に制御可能な恒常性のある高集積マルチアカウント型のメール基盤
by
MATSUMOTO Ryosuke
×
Copy
Open
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Slide 1
Slide 1 text
͘͞ΒΠϯλʔωοτגࣜձࣾ (C) Copyright 1996-2018 SAKURA Internet Inc ͘͞ΒΠϯλʔωοτݚڀॴ FastContainerΛϝʔϧج൫ద༻ - ਫ਼៛ʹ੍ޚՄೳͳ߃ৗੑͷ͋Δ ߴूੵϚϧνΞΧϯτܕͷϝʔϧج൫ 2018/11/17 ্ڃݚڀһ দຊ ྄հ ୈ3ճWeb System Architectureݚڀձˏ౦ژ #wsaݚ
Slide 2
Slide 2 text
2 ɾ͘͞ΒΠϯλʔωοτݚڀॴ ্ڃݚڀһ ɾגࣜձࣾGrooves Forkewll ٕज़ސ ɾϖύϘݚڀॴ ٬һݚڀһ ݚڀސ ɾηΩϡϦςΟɾΩϟϯϓߨࢣ ɾใॲཧֶձ Πϯλʔωοτͱӡ༻ٕज़ݚڀձ ֤छҕһ ɾژେֶത࢜ʢใֶʣ দຊ྄հ / ·ͭͱΓʔ / @matsumotory
Slide 3
Slide 3 text
3 1. എܠͱత 2. ఏҊख๏ͷઃܭͱ࣮ 3. ·ͱΊͱࠓޙͷ՝ ࣍ ຊൃදҎԼͷݚڀൃදΛൃలͤͨ͞ͷͰ͋Δɻ দຊ ྄հ, খా ԝ, ּݪ ٛߊ, ౢ٢ ོ, ۚࢠߊհ, ܀ྛ ݈ଠ, Ԭଜ ߞೋ, ਫ਼៛ʹ੍ޚՄೳͳ߃ৗੑͷ͋ΔߴूੵϚϧ νΞΧϯτܕͷϝʔϧج൫, ϚϧνϝσΟΞɺࢄɺڠௐͱϞόΠϧʢDICOMO2018ʣγϯϙδϜ, 7C-1, Jul 2018.
Slide 4
Slide 4 text
1. എܠͱత
Slide 5
Slide 5 text
5 ɾࠓ͘ΘΕ͍ͯΔϝʔϧ ɾϝʔϧαʔϏεࣄۀऀ·ͩ·ͩݱ ɾϋʔυΣΞίετΛޮར༻͢ΔͨΊʹΞΧϯτΛߴूੵԽ ɾେྔૹ৴ɺspamϝʔϧɺϝʔϧԆɺΞΧϯτͬऔΓ ɾ݁ՌతʹγεςϜཧɾϢʔβαϙʔτίετͷ૿Ճ ɾಛఆͷΞΧϯτυϝΠϯͷϦιʔεઐ༗ʹΑΔෆ҆ఆੑ͕՝ ݚڀͷഎܠ
Slide 6
Slide 6 text
6 1. ߴूੵԽͷͨΊʹ୯Ұͷαʔόϓϩηε܈ͰෳͷυϝΠϯΛॲཧ ɾυϝΠϯʢԾυϝΠϯʣ୯ҐͰͷ੍ޚػೳ͕ݶఆత ɾશͯͷυϝΠϯʹରͯ͠ಉҰͷಉ࣌ଓͷ੍ݶΛ੩తʹઃఆ ɾ੍ݶաʹΑΓαʔόϦιʔεΛेʹ͍Δ͜ͱ͕͍͠ 2. υϝΠϯ୯ҐͰαʔόϓϩηε܈Λىಈ ɾϝʔϧιϑτΣΞϓϩηε୯Ґͷશͯͷ੍ݶઃఆ͕Մೳ ɾϓϩηε͕υϝΠϯʹґଘͯ͠ߴूੵʹऩ༰Ͱ͖ͳ͍ ैདྷख๏ɿߴूੵϚϧνΞΧϯτܕͷ੍ݶ
Slide 7
Slide 7 text
7 1. αʔόϓϩηεΛෳͷυϝΠϯͰڞ༗͢Δํࣜ ɾϝʔϧηογϣϯ୯ҐͰͷϦιʔεɾྲྀྔ੍ݶखஈ͕গͳ͍ ɾߴूੵʹऩ༰Ͱ͖ͯϦιʔεڝ߹ʹΑΔෆ҆ఆঢ়ଶ͕ੜ͍͢͡ 2. υϝΠϯ୯ҐͰαʔόϓϩηεΛىಈ ɾϓϩηε͕υϝΠϯʹԠͯ͡୯ௐ૿Ճ ɾߴूੵʹऩ༰͕Ͱ͖ͳ͍ ैདྷख๏ͷ՝·ͱΊ
Slide 8
Slide 8 text
8 ɾୈҰճ ࣮ߦڥͷมԽʹૉૣ͘దԠͰ͖Δ߃ৗੑΛ࣋ͭγεςϜΞʔΩςΫ νϟͱࠓޙͷ՝ ɾίϯςφΛϦΞΫςΟϒʹঢ়ଶΛม͑ΒΕΔΞʔΩςΫνϟͷհ ɾ→ FastContainerΞʔΩςΫνϟ ɾୈೋճ HTTPϦΫΤετ୯ҐͰίϯςφΛ࠶ஔ͢ΔԾԽج൫ͷߴͳεέ δϡʔϦϯάख๏ ɾFastContainerͷಛΛ׆͔ͯ͠ϦΞΫςΟϒʹऩ༰ϗετΛ࠶ஔ ɾHTTPαʔόʹͱΒΘΕͣʹ࣮ߦج൫ͱͯ͠ͷ൚༻ԽΛਐΊͨ wsaݚ#1ͱ#2ͷൃද
Slide 9
Slide 9 text
9 ɾਫ਼៛ʹղੳՄೳͳ߃ৗੑͷ͋Δϝʔϧج൫ ɾυϝΠϯ୯ҐͰαʔόϓϩηεΛىಈͭͭ͠ΞΫςΟϒͰͳ͍ϓϩηεੵۃ తʹఀࢭͤͯ͞ߴूੵԽΛཱ྆ ɾηογϣϯΛܖػʹҰఆظؒىಈ͠ɺঢ়ଶͷมԽʹૉૣ͘ରԠՄೳͳίϯς φΞʔΩςΫνϟFastContainer*1ΛԠ༻ ɾυϝΠϯ୯ҐͰਫ਼៛ʹղੳྲྀ༻ɾϦιʔε੍ޚ͕Մೳͳج൫ ɾίϯςφʹΑΔϋʔυΣΞϦιʔε੍ޚΛυϝΠϯ୯ҐͰ࣮ࢪ ఏҊख๏ ˞দຊ྄հ தా༟و ܀ྛ݈ଠ )551ϦΫΤετ୯ҐͰΠϯελϯεͷ࠶ஔ͕ՄೳͳίετͰߴͳεέ δϡʔϦϯάख๏ ݚڀใࠂΠϯλʔωοτͱӡ༻ٕज़ʢ*05ʣ 7PM*05 QQ +VO
Slide 10
Slide 10 text
2. ఏҊख๏ͷઃܭͱ࣮
Slide 11
Slide 11 text
11 ɾߴूੵʹΞΧϯτɾυϝΠϯΛऩ༰Մೳʢ୯Ұͷαʔόʹສʣ ɾCPUཧίΞ24ίΞɺϝϞϦ32GBఔͷPCαʔόΛఆ ɾυϝΠϯ୯ҐͰݸผʹਫ਼៛ͰಈతͳΓιʔε੍ޚΛ࣮ݱ ɾҰൠతͳϝʔϧϛυϧΣΞͷ੍ޚػೳΛυϝΠϯ୯Ґ ɾεέʔϧΞοϓɾΞτɾμϯɾΠϯʹΑΔϦιʔε੍ޚՄೳ ɾҟͳΔϋʔυΣΞͷಁաతͳҠಈఆ ɾυϝΠϯ୯ҐͰݸผʹਫ਼៛ͳηογϣϯใऩूʢࠓޙͷํʣ ࣮ݱ͍ͨ͜͠ͱɿՁ֨Խͱ҆ఆԽʹ͚ͯ
Slide 12
Slide 12 text
12 ɾυϝΠϯ୯ҐͰαʔόϓϩηεΛىಈͭͭ͠ΞΫςΟϒͰͳ͍ϓϩηεੵۃ తʹఀࢭͤͯ͞ߴूੵԽΛཱ྆ ɾηογϣϯ୯ҐͰϦΞΫςΟϒʹҰఆ࣌ؒىಈ͠ɺঢ়ଶมԽʹૉૣ͘ରԠՄ ೳͳFastContainerΞʔΩςΫνϟΛԠ༻ ɾυϝΠϯ୯ҐͰίϯςφΛىಈ͠ਫ਼៛ʹྲྀྔɾϦιʔε੍ޚ͕Մೳ ɾϛυϧΣΞͷ੍ݶશͯΛυϝΠϯʹରͯ͠ద༻Մೳ ɾίϯςφʹΑΔϋʔυΣΞϦιʔεΛυϝΠϯ୯ҐͰ੍ޚՄೳ ɾίϯςφ୯ҐͰͷϦιʔεෆ࣌ʹߴʹεέʔϦϯάՄೳ ఏҊ͢Δ߃ৗੑͷ͋Δϝʔϧج൫
Slide 13
Slide 13 text
13 FastContainerɿ߃ৗੑ͔ΒಘΒΕΔ҆ఆੑ ϗετ" ϗετ" ϗετ" ϗετ" ϗετ" Πϯλʔωοτ ϗετ" ϗετ" ϗετ" ͕ͯఀࢭ Ԡతʹىಈ Ԡతʹ εέʔϧΞοϓ ऩ༰αʔόA ऩ༰αʔόB ϦΫΤετ Ԡతʹ εέʔϧΞτ • ϗετͷىಈͱఀࢭΛ॥ • ৗʹ॥͠ଓ͚ΔΞʔΩςΫνϟ • มԽ͠ଓ͚Δ͜ͱʹΑΔ҆ఆੑ ঢ়ଶͷมԽͷվળΛٻ ৗʹมԽՄೳͰ͋ΔͨΊಥൃతͳΞ ΫηεूதͷΑ͏ͳมԽʹੑͷ ͋ΔΞʔΩςΫνϟΛ࣮ݱՄೳ
Slide 14
Slide 14 text
14 ɾΞΫςΟϒͳηογϣϯͷΈ͕ίϯςφͱͯ͠ىಈ ɾൺֱతϗεςΟϯάαʔϏεͷΞΫςΟϒϢʔβ͕গͳ͍ࣄʹண ɾSMTPͱIMAPͷηογϣϯใΛσʔλϕʔεʹอଘ ɾকདྷతʹσʔλΛղੳͯ͠ద༻తʹྲྀྔΛ੍ޚ͍ͨ͠ ɾߏใ੍ޚઃఆશͯσʔλϕʔεԽͯ͠ݸผ͔ͭಈతʹ੍ޚՄೳ ɾϗετOS͕ఀࢭͯ͠ίϯςφ͕ࣗಈతʹผϗετʹҠಈՄೳ FastContainerͱऩ༰ͷߴूੵԽ
Slide 15
Slide 15 text
15 ఏҊ͢Δϝʔϧج൫ͷશମϑϩʔ֓ཁ *."1 'BTU$POUBJOFS 4ZTUFN $.%#"1* 4.51-.51 'BTU$POUBJOFS 4ZTUFN 4.51 'BTU$POUBJOFS 4ZTUFN .6" -# -# .5" .BJM%BUB
Slide 16
Slide 16 text
16 ఏҊ͢Δϝʔϧج൫ͷશମϑϩʔ֓ཁ *."1 'BTU$POUBJOFS 4ZTUFN $.%#"1* 4.51-.51 'BTU$POUBJOFS 4ZTUFN 4.51 'BTU$POUBJOFS 4ZTUFN .6" -# -# .5" .BJM%BUB
Slide 17
Slide 17 text
17 ϝʔϧج൫ͷSMTPૹ৴ϑϩʔৄࡉ ಉҰϗετ 4.513PVUFS OHY@NSVCZ $.%#"1* 4.51ίϯςφ ʢυϝΠϯ୯Ґʣ 4.51ίϯςφ ʢυϝΠϯ୯Ґʣ 4.51ίϯςφ ʢυϝΠϯ୯Ґʣ 4.51'BTU$PO QFSEPNBJO 1PTUpY 4.510VU 1PTUpY 4.51'JMUFS 0VU 7JSVTHX .6" .5" 4.51 %JTQBUDIFS OHY@NSVCZ υϝΠϯʹج͖ͮ)551ܦ༝Ͱͷ ΞΧϯτɾυϝΠϯೝূͱϓϩ ΩγઌऔಘΛ࣮ࢪ ηογϣϯใऩू 4.51ίϯςφ͕ىಈ͍ͯ͠ͳ͚Ε ϦΞΫςΟϒʹҰఆظؒىಈ σʔλऩूɾղੳͱߏཧ $PMMFDU 4FTTJPO%BUB 1NJMUFS
Slide 18
Slide 18 text
18 ఏҊ͢Δϝʔϧج൫ͷશମϑϩʔ֓ཁ *."1 'BTU$POUBJOFS 4ZTUFN $.%#"1* 4.51-.51 'BTU$POUBJOFS 4ZTUFN 4.51 'BTU$POUBJOFS 4ZTUFN .6" -# -# .5" .BJM%BUB
Slide 19
Slide 19 text
19 ϝʔϧج൫ͷSMTPड৴ϑϩʔৄࡉ )PTU04 $.%#"1* *."1ίϯςφ ʢυϝΠϯ୯Ґʣ *."1ίϯςφ ʢυϝΠϯ୯Ґʣ *."1ίϯςφ ʢυϝΠϯ୯Ґʣ -.51'BT$PO QFSEPNBJO %PWFDPU 4.51*O 1PTUpY -.513PVUFS 1PTUpYNSVCZ 4.51'JMUFS*O 7JSVTHX .5" -.51 %JTQBUDIFS 1PTUpYNSVCZ .BJMEJS*OEFY 4UPSBHF 4.51 JOFU -.51 6%4 $PMMFDU 4FTTJPO%BUB 1NJMUFS 4.51 JOFU 4.51 JOFU
Slide 20
Slide 20 text
20 ఏҊ͢Δϝʔϧج൫ͷશମϑϩʔ֓ཁ *."1 'BTU$POUBJOFS 4ZTUFN $.%#"1* 4.51-.51 'BTU$POUBJOFS 4ZTUFN 4.51 'BTU$POUBJOFS 4ZTUFN .6" -# -# .5" .BJM%BUB
Slide 21
Slide 21 text
21 ϝʔϧج൫ͷIMAPड৴ϑϩʔৄࡉ )PTU04 *."13PVUFS OHY@NSVCZ $.%#"1* .6" *."1ίϯςφ ʢυϝΠϯ୯Ґʣ *."1ίϯςφ ʢυϝΠϯ୯Ґʣ *."1ίϯςφ ʢυϝΠϯ୯Ґʣ *."1'BT$PO QFSEPNBJO EPWFDPU *."1 %JTQBUDIFS OHY@NSVCZ .BJMEJS*OEFY 4UPSBHF *."1ίϯςφ ʢυϝΠϯ୯Ґʣ *."1ίϯςφ ʢυϝΠϯ୯Ґʣ *."1ίϯςφ ʢυϝΠϯ୯Ґʣ $POUSPM 3FTPVSDF NSVCZ *."1 JOFU *."1 JOFU %PWFDPU 1MVHJO σʔλऩूɾղੳͱߏཧ EPWFDPUNSVCZQMVHJO ίϚϯυ୯ҐͰ$16༻Λ੍ݶ ηογϣϯใίϚϯυͷৼΔ͍Λཧ
Slide 22
Slide 22 text
22 ϓϩτλΠϓ࣮
Slide 23
Slide 23 text
3. ·ͱΊ
Slide 24
Slide 24 text
24 ɾઃܭͱ࣮ݧత࣮ྃ ɾϓϩτλΠϓ࣮Λߦͬͯ༗ޮੑΛධՁ ɾϦιʔεޮੑೳධՁɺΩϡʔԆͷධՁ ɾϓϩμΫγϣϯڥʹ͓͚ΔϦιʔε੍ޚͷ༗ޮੑΛධՁ ɾηογϣϯσʔλͷղੳख๏ͷઃܭ ɾηογϣϯσʔλʹجͮ͘υϝΠϯ୯ҐͰͷదԠతͳ੍ޚઃఆ ɾϗετOSҟৗ࣌ʹผϗετʹಁաతʹίϯςφΛϚΠάϨʔγϣϯ ·ͱΊͱࠓޙͷ՝
Slide 25
Slide 25 text
25 ɾຊݚڀͰ༻ͨ͠Ϋϥυࢿݯɼฏ29ࠃཱใֶݚڀॴΫϥυར ׆༻࣮ূ࣮ݧʹ͓͍ͯఏڙ͞Εͨɽ ɾ·ͨɼຊݚڀɼҎԼͷݚڀॿΛड͚͍ͯΔɽ ɾদຊ྄հ,খాԝ,ۙ౻Ӊஐ࿕,ּݪٛߊ,Ԭଜߞೋ,ౢ٢ོ,ۚࢠߊհ, mruby Λར༻ͨܰ͠ྔίϯςφΫϥυج൫ͷݚڀ։ൃΛհͨ͠mrubyͷେنɾ ߴෛՙςετ, 2017Ruby Association։ൃॿ, 201710݄. ँࣙ