Upgrade to Pro — share decks privately, control downloads, hide ads and more …

精緻な解析と制御が可能な 恒常性のあるメール基盤

精緻な解析と制御が可能な 恒常性のあるメール基盤

高集積マルチアカウント基盤と流量制御の両立

松本亮介, 小田知央 (ペパボ研究所), 笠原義晃, 嶋吉隆夫, 金子晃介 (九州大学),
栗林健太郎 (ペパボ研究所), 岡村耕二 (九州大学)
2018.07.04 情報処理学会 マルチメディア、分散、協調とモバイル(DICOMO 2018)シンポジウム

提案手法:精緻に解析可能な恒常性のあるメール基盤

ドメイン単位でサーバプロセスを起動させつつ高集積化を実現する基盤
とあるセッションで一定期間起動し、状態の変化に素早く対応可能なコンテナアーキテクチャを応用 → FastContainerアーキテクチャ※1
ドメイン単位で精緻に解析や流量・リソース制御が可能な基盤
コンテナによるハードウェアリソース制御をドメイン単位で実施可能
コンテナ単位でのリソース不足は高速にスケールアウト可能

※1 松本 亮介, 中田 裕貴, 栗林 健太郎, HTTPリクエスト単位でインスタンスの再配置が可能な低コストで高速なスケジューリング手法, 研究報告インターネットと運用技術(IOT), Vol.2018-IOT-42, pp.1-8, Jun 2018.

MATSUMOTO Ryosuke

July 06, 2018
Tweet

More Decks by MATSUMOTO Ryosuke

Other Decks in Technology

Transcript

  1. ߴूੵϚϧνΞΧ΢ϯτج൫ͱྲྀྔ੍ޚͷཱ྆
    দຊ྄հ, খా஌ԝ (ϖύϘݚڀॴ), ּݪٛߊ, ౢ٢ོ෉, ۚࢠߊհ (۝भେֶ),
    ܀ྛ݈ଠ࿠ (ϖύϘݚڀॴ), Ԭଜߞೋ (۝भେֶ)
    2018.07.04 ৘ใॲཧֶձ ϚϧνϝσΟΞɺ෼ࢄɺڠௐͱϞόΠϧʢDICOMO 2018ʣγϯϙδ΢Ϝ
    ਫ਼៛ͳղੳͱ੍ޚ͕Մೳͳ
    ߃ৗੑͷ͋Δϝʔϧج൫

    View full-size slide

  2. 1. എܠͱ໨త
    2. ఏҊख๏ͷઃܭͱ࣮૷Ҋ
    3. ·ͱΊͱࠓޙͷ՝୊
    2
    ໨࣍

    View full-size slide

  3. 1.
    എܠͱ໨త

    View full-size slide

  4. • ࠓ΋޿͘࢖ΘΕ͍ͯΔϝʔϧ
    • ϝʔϧαʔϏεࣄۀऀ΋·ͩ·ͩݱ໾
    • ϋʔυ΢ΣΞίετΛޮ཰ར༻͢ΔͨΊʹΞΧ΢ϯτ΍υϝΠϯΛߴूੵԽ
    • େྔૹ৴ɺspamϝʔϧɺϝʔϧ஗ԆɺΞΧ΢ϯτ৐ͬऔΓ౳
    • ݁ՌతʹγεςϜ؅ཧɾϢʔβαϙʔτίετͷ૿Ճ
    • ಛఆͷΞΧ΢ϯτ΍υϝΠϯͷϦιʔε΍ྲྀྔ઎༗ʹΑΔෆ҆ఆੑ͕՝୊
    4
    ݚڀͷഎܠ

    View full-size slide

  5. • ߴूੵԽͷͨΊʹ୯Ұͷαʔόϓϩηε܈Ͱෳ਺ͷυϝΠϯΛॲཧ
    • υϝΠϯʢԾ૝υϝΠϯʣ୯ҐͰͷ੍ޚػೳ͕ݶఆత
    • શͯͷυϝΠϯʹରͯ͠ಉҰͷಉ࣌઀ଓ਺౳ͷ੍ݶΛ੩తʹઃఆ
    • ੍ݶա৒ʹΑΓαʔόϦιʔεΛे෼ʹ࢖͍੾Δ͜ͱ͕೉͍͠
    • υϝΠϯ୯ҐͰαʔόϓϩηε܈Λىಈ
    • ϝʔϧιϑτ΢ΣΞ΍ϓϩηε୯Ґͷશͯͷ੍ޚઃఆ͕Մೳ
    • ϓϩηε਺͕υϝΠϯ਺ʹґଘͯ͠ߴूੵʹऩ༰Ͱ͖ͳ͍
    5
    ैདྷख๏ɿߴूੵϚϧνΞΧ΢ϯτܕͷྲྀྔ੍ݶ

    View full-size slide

  6. • αʔόϓϩηεΛෳ਺ͷυϝΠϯͰڞ༗͢Δํࣜ
    • ϓϩηεΛڞ༗͢ΔͨΊϝʔϧηογϣϯ୯ҐͰͷ੍ޚखஈ͕গͳ͍
    • ߴूੵʹऩ༰Ͱ͖ͯ΋Ϧιʔεڝ߹ʹΑΔෆ҆ఆঢ়ଶ͕ੜ͡΍͍͢
    • υϝΠϯ୯ҐͰαʔόϓϩηεΛىಈ
    • ϓϩηε਺͕υϝΠϯ਺ʹԠͯ͡୯ௐ૿Ճ
    • ߴूੵʹऩ༰͕Ͱ͖ͳ͍
    6
    ैདྷख๏ͷ՝୊·ͱΊ

    View full-size slide

  7. • υϝΠϯ୯ҐͰαʔόϓϩηεΛىಈͤͭͭ͞ߴूੵԽΛ࣮ݱ͢Δج൫
    • ͱ͋ΔηογϣϯͰҰఆظؒىಈ͠ɺঢ়ଶͷมԽʹૉૣ͘ରԠՄೳͳί
    ϯςφΞʔΩςΫνϟΛԠ༻ → FastContainerΞʔΩςΫνϟ※1
    • υϝΠϯ୯ҐͰਫ਼៛ʹղੳ΍ྲྀྔɾϦιʔε੍ޚ͕Մೳͳج൫
    • ίϯςφʹΑΔϋʔυ΢ΣΞϦιʔε੍ޚΛυϝΠϯ୯ҐͰ࣮ࢪՄೳ
    • ίϯςφ୯ҐͰͷϦιʔεෆ଍͸ߴ଎ʹεέʔϧΞ΢τՄೳ
    7
    ఏҊख๏ɿਫ਼៛ʹղੳՄೳͳ߃ৗੑͷ͋Δϝʔϧج൫
    ˞দຊ྄հ தా༟و ܀ྛ݈ଠ࿠ )551ϦΫΤετ୯ҐͰΠϯελϯεͷ࠶഑ஔ͕Մೳͳ௿ίετͰߴ଎ͳεέδϡʔϦϯά
    ख๏ ݚڀใࠂΠϯλʔωοτͱӡ༻ٕज़ʢ*05ʣ 7PM*05 QQ +VO

    View full-size slide

  8. 3.
    ఏҊख๏ͷઃܭͱ࣮ݧతͳ࣮૷Ҋ

    View full-size slide

  9. • ߴूੵʹΞΧ΢ϯτɾυϝΠϯΛऩ༰Մೳʢ୯Ұͷαʔόʹ਺ສυϝΠϯʣ
    • CPU࿦ཧίΞ24ݸɺϝϞϦ32GBఔ౓ͷPCαʔόΛ૝ఆ
    • υϝΠϯ୯ҐͰݸผʹਫ਼៛ͰಈతͳϦιʔε੍ޚΛ࣮ݱ
    • Ұൠతͳϝʔϧϛυϧ΢ΣΞͷ੍ޚػೳΛυϝΠϯ୯Ґʹઃఆ͍ͨ͠
    • εέʔϧΞοϓɾΞ΢τ/μ΢ϯɾΠϯʹΑΔϦιʔε૿ڧɾ੍ݶ΋Մೳ
    • ҟͳΔϋʔυ΢ΣΞ΁ͷಁաతͳҠಈ΋૝ఆ
    • υϝΠϯ୯ҐͰݸผʹਫ਼៛ͳηογϣϯ৘ใऩूʢࠓޙͷదԠత੍ޚʹܨ͛Δʣ
    9
    ࣮ݱ͍ͨ͜͠ͱɿ௿Ձ֨Խͱ҆ఆԽʹ޲͚ͯ

    View full-size slide

  10. • υϝΠϯ୯ҐͰαʔόϓϩηεΛىಈͤͭͭ͞ߴूੵԽΛ࣮ݱ͢Δج൫
    • ηογϣϯ୯ҐͰҰఆظؒىಈ͠ɺঢ়ଶͷมԽʹૉૣ͘ରԠՄೳͳίϯ
    ςφΞʔΩςΫνϟΛԠ༻ → FastContainerΞʔΩςΫνϟ
    • υϝΠϯ୯ҐͰίϯςφΛىಈ͠ਫ਼៛ʹྲྀྔɾϦιʔε੍ޚ͕Մೳͳج൫
    • ϛυϧ΢ΣΞͷ੍ݶશͯΛυϝΠϯʹରͯ͠ద༻Մೳ
    • ίϯςφʹΑΔϋʔυ΢ΣΞϦιʔε੍ޚΛυϝΠϯ୯ҐͰ࣮ࢪՄೳ
    • ίϯςφ୯ҐͰͷϦιʔεෆ଍࣌ʹ͸ߴ଎ʹεέʔϧΞ΢τՄೳ
    10
    ఏҊख๏ɿਫ਼៛ʹղੳՄೳͳ߃ৗੑͷ͋Δϝʔϧج൫

    View full-size slide

  11. FastContainer: ߃ৗੑ͔ΒಘΒΕΔ҆ఆੑ
    11
    ϗετ"
    ϗετ"
    ϗετ"
    ϗετ" ϗετ"
    Πϯλʔωοτ
    ϗετ"
    ϗετ"
    ϗετ"
    ΍͕ͯఀࢭ
    ൓Ԡతʹىಈ
    ൓Ԡతʹ
    εέʔϧΞοϓ
    ऩ༰αʔόA
    ऩ༰αʔόB
    ϦΫΤετ
    ൓Ԡతʹ
    εέʔϧΞ΢τ
    • ϗετͷىಈͱఀࢭΛ॥؀
    • ৗʹ॥؀͠ଓ͚ΔΞʔΩςΫνϟ
    • มԽ͠ଓ͚Δ͜ͱʹΑΔ҆ఆੑ
    ঢ়ଶͷมԽͷ଎౓վળΛ௥ٻ
    ৗʹมԽՄೳͰ͋ΔͨΊಥൃతͳΞ
    ΫηεूதͷΑ͏ͳมԽʹ΋଱ੑͷ
    ͋ΔΞʔΩςΫνϟΛ࣮ݱՄೳ

    View full-size slide

  12. • ΞΫςΟϒͳηογϣϯͷΈ͕ίϯςφͱͯ͠ىಈ
    • ݸਓ޲͚ϗεςΟϯάαʔϏεͷΞΫςΟϒϢʔβ͕গͳ͍ࣄʹண໨
    • SMTPͱIMAPͰ͸ηογϣϯ৘ใΛσʔλϕʔεʹอଘ
    • কདྷతʹ͸σʔλΛղੳͯ͠దԠతʹྲྀྔΛ੍ޚ͍ͨ͠
    • ߏ੒৘ใ΍੍ޚઃఆ͸શͯσʔλϕʔεԽͯ͠ݸผ͔ͭಈతʹ੍ޚՄೳ
    • ϗετOS͕ఀࢭͯ͠΋ίϯςφ͕ࣗಈతʹผϗετʹҠಈՄೳ
    12
    FastContainerͱߴूੵऩ༰

    View full-size slide

  13. ఏҊ͢Δϝʔϧج൫ͷશମϑϩʔ֓ཁ
    13
    *."1
    'BTU$POUBJOFS
    4ZTUFN
    $.%#"1*
    4.51-.51

    'BTU$POUBJOFS
    4ZTUFN
    4.51
    'BTU$POUBJOFS
    4ZTUFN
    .6" -# -# .5"
    .BJM%BUB

    View full-size slide

  14. ఏҊ͢Δϝʔϧج൫ͷશମϑϩʔ֓ཁ
    14
    *."1
    'BTU$POUBJOFS
    4ZTUFN
    $.%#"1*
    4.51-.51

    'BTU$POUBJOFS
    4ZTUFN
    4.51
    'BTU$POUBJOFS
    4ZTUFN
    .6" -# -# .5"
    .BJM%BUB

    View full-size slide

  15. ಉҰϗετ
    ϝʔϧج൫ͷSMTPૹ৴ϑϩʔৄࡉ
    15
    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

    View full-size slide

  16. ఏҊ͢Δϝʔϧج൫ͷશମϑϩʔ֓ཁ
    16
    *."1
    'BTU$POUBJOFS
    4ZTUFN
    $.%#"1*
    4.51-.51

    'BTU$POUBJOFS
    4ZTUFN
    4.51
    'BTU$POUBJOFS
    4ZTUFN
    .6" -# -# .5"
    .BJM%BUB

    View full-size slide

  17. )PTU04
    ϝʔϧج൫ͷSMTPड৴ϑϩʔৄࡉ
    17
    $.%#"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

    View full-size slide

  18. ఏҊ͢Δϝʔϧج൫ͷશମϑϩʔ֓ཁ
    18
    *."1
    'BTU$POUBJOFS
    4ZTUFN
    $.%#"1*
    4.51-.51

    'BTU$POUBJOFS
    4ZTUFN
    4.51
    'BTU$POUBJOFS
    4ZTUFN
    .6" -# -# .5"
    .BJM%BUB

    View full-size slide

  19. )PTU04
    ϝʔϧج൫ͷIMAPड৴ϑϩʔৄࡉ
    19
    *."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࢖༻཰౳Λ੍ݶ
    ηογϣϯ৘ใ΍ίϚϯυͷৼΔ෣͍౳Λ؅ཧ

    View full-size slide

  20. • ઃܭͱ࣮ݧత࣮૷͸׬ྃ
    • ϓϩτλΠϓ࣮૷Λߦͬͯ༗ޮੑͷධՁ
    • Ϧιʔεޮ཰΍ੑೳධՁ
    • ϓϩμΫγϣϯ؀ڥʹ͓͚ΔϦιʔε੍ޚͷ༗ޮੑΛධՁ
    • ηογϣϯσʔλͷղੳख๏ͷઃܭ
    • ηογϣϯσʔλʹجͮ͘υϝΠϯ୯ҐͰͷదԠతͳ੍ޚઃఆ
    • ϗετOSҟৗ࣌ʹผϗετʹಁաతʹίϯςφΛϚΠάϨʔγϣϯ
    21
    ·ͱΊͱࠓޙͷ՝୊

    View full-size slide

  21. • ຊݚڀͰ࢖༻ͨ͠Ϋϥ΢υࢿݯ͸ɼฏ੒29೥౓ࠃཱ৘ใֶݚڀॴΫϥ΢υར
    ׆༻࣮ূ࣮ݧʹ͓͍ͯఏڙ͞Εͨɽ
    • ·ͨɼຊݚڀ͸ɼҎԼͷݚڀॿ੒Λड͚͍ͯΔɽ
    • দຊ྄հ,খా஌ԝ,ۙ౻Ӊஐ࿕,ּݪٛߊ,Ԭଜߞೋ,ౢ٢ོ෉,ۚࢠߊհ,
    mrubyΛར༻ͨܰ͠ྔίϯςφΫϥ΢υج൫ͷݚڀ։ൃΛհͨ͠mrubyͷ
    େن໛ɾߴෛՙςετ, 2017೥౓Ruby Association։ൃॿ੒, 2017೥10݄.
    22
    ँࣙ

    View full-size slide