FastContainerをメール基盤へ適用 - 精緻に制御可能な恒常性のある高集積マルチアカウント型のメール基盤
by
MATSUMOTO Ryosuke
Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
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݄. ँࣙ