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

YAPC::Japan Tokyo 2019 「メッセージングのプロトコル」

Lyo Kato
January 26, 2019

YAPC::Japan Tokyo 2019 「メッセージングのプロトコル」

YAPC::Japan Tokyo 2019での発表資料です

Lyo Kato

January 26, 2019
Tweet

Other Decks in Technology

Transcript

  1.  J$IBU "7   (PPHMF5BML   8JOEPXT-JWF.FTTFOHFS .4/-JWF

      ϝδϟʔͳձࣾͷϝοηʔδϯάπʔϧͰͷ 9.11࠾༻͕޿͕Δ
  2. Ұํɺ೥Ҏ߱ɺ9.11ͷαϙʔτ΍ αʔϏεࣗମͷγϟοτμ΢ϯ͕ଓ͘ w (PPHMF8BWFऴྃ ೥  w (PPHMF5BMLऴྃ ೥ϋϯάΞ΢τ΁Ҏ߱ 

    w 8JOEPXT-JWF.FTTFOHFSऴྃ ೥ɺ4LZQFʹ౷߹  w 'BDFCPPL$IBU"1*ͷαʔυύʔςΟ༻9.11ΤϯυϙΠϯτͷγϟο τμ΢ϯ ೥  w 4MBDL9.11ΤϯυϙΠϯτऴྃ ೥
  3. 4"9ύʔαͷඞཁੑ 9.11͸Ұͭͷ9.-υΩϡϝϯτͰετϦʔϜΛදݱ ͜ΕΛ࣮ݱ͢Δʹ͸ ҰͭҰͭͷ઀ଓ͕4"9ύʔαʔ ঢ়ଶ Λ࣋ͭඞཁ͕͋Δ ࣮૷͸ෳࡶʹͳΓɺ·ͨແବͳσʔλ΋૿͑Δ ສίωΫγϣϯͿΒ͛ͨ͞ΒYສͷσʔλྔ ࠷ۙ͸५୔ͳϦιʔε͕࢖͑Δ͕ ೥͘Β͍લʹ༷ʑͳ࣮૷Λݟ͕ͨɺζϧΛͯ͠Δ΋ͷ͕ଟ͔ͬͨɻ

    ਖ਼نදݱͰOBNFTQBDFແࢹͨ͠ύʔεɺ͋Δ͍͸ෳ਺઀ଓؒͰ4"9ύʔαʔ࢖͍ճ͠ɻ 9.- OBNFTQBDF ʹΑΔ&YUFOTJCMFΛᨳ͍ͬͯͯͦΕͰྑ͍ͷ͔ͱࢥ͏ͱ͜Ζ΋͋Δ͕ ࣮૷ऀ͸ݱ࣮ͱͷઓ͍͕͋Δͷ͸෼͔Δ ݁ہɺݸʑͷϝοηʔδΛݸผͷυΩϡϝϯτͱͯ͠ύʔεग़དྷΔํ͕ྑ͔ͬͨͷͰ͸ ͱ͍͏ͷ͕ݸਓతͳײ૝ 3'$ 9.11PWFS8FC4PDLFU ͩͱͦ͏ͳͬͯΔͬΆ͍ ౰࣌ͷճઢ଎౓ͳͲͷࣄ৘Λߟ͑Δͱ ຖճ9.-ͷOBNFTQBDFͷ63-هड़͸ͨ͘͠ͳ͔ͬͨͱ͍͏ͷ΋Θ͔Δ ·ͨMJCYNMͷCJOEJOH͕ແ͍ݴޠ͸ਏ͔ͬͨ DIVOLॲཧ͕ग़དྷͳ͔ͬͨΓɺEPDʹεϨου࡞ͬͯ͠·ͬͨΓ͢ΔϥΠϒϥϦͱ͔ ෳࡶੑͷ࿩
  4. ϝοηʔδϯά΋)551ͱಉ͡Ͱɺ %FDFOUSBMJ[FEͰͳͯ͘΋9.11࢖ͬͨํ͕͍͍Μ͡Όͳ͍ͷ 4UBOEBSEͷԸܙ ͋ͳͨͷϓϩδΣΫτ͕ҎԼͷΑ͏ͳ৚݅ʹϚον͢Ε͹ͦ͏͔΋͠Εͳ͍ 9.11ͷϓϩτίϧͷൺֱతϓϦϛςΟϒͳػೳ͕ඞཁͰ͋Γɺे෼Ͱ͋Δ αʔόʔଆͰεέʔϧ͕ඞཁͳ͍͔ɺ͋Δ͍͸εέʔϧઓུ͸FKBCCFSEͰे෼ FKBCCFSEΛ࢖͏৔߹͸FSMBOH͕৮ΕΔਓɺ͜Ε͔Β৮͍֮ͬͯ͘ޛͷ͋Δਓ͕ϓϩδΣΫτʹ͍Δ αϙʔτ͍ͨ͠ΫϥΠΞϯτଆͰద੾ͳϥΠϒϥϦ͕ἧ͍ͬͯΔ ͦͷϥΠϒϥϦ͕͋ͳͨͷ࢖͍͍֦ͨுΛαϙʔτ͍ͯ͠Δ ࠷ۙͷ-*/&ͷΑ͏ʹΨϯΨϯػೳΛΞϨϯδ͍ͨ͠ͱ͍͏࿩ʹ͸޲͍ͯͳ͍

    J04"OESPJE3FBDU/BUJWF6OJUZͳͲ αϙʔτ͍ͨ͠ൣғ͕޿͍΄Ͳཁ݅Λຬͨ͢ͷ͕͖͍ͭ εέʔϧΛߟ͑Δͱ୯Ұ࣮૷Ͱͷ׬݁͸೉͘͠ผͷϛυϧ΁ͷґଘ͕ൃੜ 1VC4VC .2  FKBCCFSE͸&SMBOHͳͷͰଞͷϛυϧͳ͠ʹΫϥελԽͰ͖ɺ)PU$PEF4XBQQJOH͕΍Γ΍͍͢ͱ͍͏Ξυόϯςʔδ ٯʹݴ͑͹FKBCCFSEҎ֎ͷબ୒ࢶ͕ऑ͍ ֦ு͕͋Δɺ֦ு͕؆୯ʹఆٛͰ͖Δɺͱ͸ݴ͑ɺΤίγεςϜͷ࣮૷͕͍͖ͭͯͯΔͱ͸ݶΒͳ͍ ཁ͸ຊ౰ʹελϯμʔυͷԸܙΛड͚ΒΕΔ͔Ͳ͏͔ɺҊ݅࣍ୈ
  5. w Ϣʔβʔొ࿥ w ϓϩϑΟʔϧͷ؅ཧ W$BSE  w ϑϨϯυਃ੥ 1SFTFODF4VCTDSJQUJPO 

    w ϑϨϯυϦετͷ؅ཧ 3PTUFS )551ଆͰطʹ͍࣋ͬͯΔ৔߹΋ଟ͍ ৽ͨʹ։ൃ͢Δʹͯ͠΋׳Ε͍ͯΔ)551ͷํָ͕ )551 "1* ଆͰ ؆୯ʹ࣮ݱͰ͖Δػೳ 9.11ͱ)551
  6. w TUSFBNλάͷ։࢝ w GFBUVSFTͷ֬ೝ w 4UBSU5-4ͯ͠TUSFBN࡞Γ௚͠ w GFBUVSFTͷ֬ೝ w 4"4-ೝূ

    DIBMMFOHFSFTQPOTF ͷϥ΢ϯυτϦοϓ w 3FTPVSDF#JOEJOHͷϥ΢ϯυτϦοϓ w 3PTUFSͷऔಘ w *OJUJBM1SFTFODFͷૹ৴ w ͜͜·Ͱ΍ͬͯΑ͏΍͘BWBJMBCMFʹ w ϝοηʔδ͕ૹ৴Ͱ͖Δ 9.11ͱ)551 ઀ଓ͔ͯ͠Β ϝοηʔδ͕ૹ৴Ͱ͖ΔΑ͏ʹͳΔ·Ͱ 9.11 ͍ͭ͝εςʔτϚγʔϯ
  7. w TUSFBNλάͷ։࢝ w GFBUVSFTͷ֬ೝ w 4UBSU5-4ͯ͠TUSFBN࡞Γ௚͠ w GFBUVSFTͷ֬ೝ w 4"4-ೝূ

    DIBMMFOHFSFTQPOTF ͷϥ΢ϯυτϦοϓ w 3FTPVSDF#JOEJOHͷϥ΢ϯυτϦοϓ w 3PTUFSͷऔಘ w *OJUJBM1SFTFODFͷૹ৴ w ͜͜·Ͱ΍ͬͯΑ͏΍͘BWBJMBCMFʹ w ϝοηʔδ͕ૹ৴Ͱ͖Δ 9.11ͱ)551 ઀ଓ͔ͯ͠Β ϝοηʔδ͕ૹ৴Ͱ͖ΔΑ͏ʹͳΔ·Ͱ 9.11 8FC4PDLFUϕʔεͷಠࣗ࢓༷ w XTTͰ࠷ॳ͔Β5-4ʹ͢Ε͹GFBUVSFT·ΘΓ͸ෆඞཁ w ೝূ΋ॳظϦΫΤετʹؚΊΕ͹GFBUVSFͱ4"4-ෆཁ w SFTPVSDFCJOEJOH΋ෆඞཁ ೝূ࣌ʹTFTT@JEൃߦ  w SPTUFSͷऔಘ͸)551"1*Ͱ΍ͬͯ͘Ε w ϓϨθϯε΋αʔϏεʹෆඞཁͳΒ࡟ΕΔ
  8. 8FC4PDLFU +40/ͷٙࣅίʔυ ͘͢͝γϯϓϧʹͰ͖ͯ͠·͏ ͕ɺεέʔϧͳͲΛߟ͑Δͱɺ͔͜͜Βઌ͕݁ߏେมͳ৔߹΋ FKBCCFSEͳΒΫϥελػೳؚ͕·Ε͍ͯΔ͕ 8FC4PDLFU্Ͱಠࣗʹ૊Ή৔߹ʹ͸εέʔϧ͸ࣗ෼ͰԿͱ͔͢Δඞཁ͕͋Δ GVODUJPOPO$POOFDU SFR \ WBSSFTVMUUIJTBVUIFOUJDBUPSBVUIFOUJDBUF

    SFR  JG SFTVMUTVDDFTT \ UIJTTUBUFTFTTJPO*ESFTVMUTFTTJPO*E UIJTTFOE4VDDFTT  ^FMTF\ UIJTTFOE'BJMVSF  ^ ^ GVODUJPOPO%BUB GSBNF \ WBSNTH+40/QBSTF GSBNF  UIJTNFTTBHF)BOEMFSIBOEMF.FTTBHF NTH  ^ ԿΒ͔ͷ8FC4PDLFUͷϥΠϒϥϦΛ࢖͍ͭͭ Ή͠Ζࠓ͸ଟ͘ͷ8FCΤϯδχΞ͸ 9.11ͱ͔ͷଘࡏ͢Β஌Βͣɺ͔͜͜ΒೖΔ શϖʔδӈଆͷΑ͏ʹ৭ʑ͸͠ΐͬͯ͠·͏ͳΒ
  9. ౎౓ݕࡧ഑ૹ WT 1VC4VC ͪͳΈʹ1VC4VC͸͍ͳ͍΍ͭʹಧ͚͍ͨͱ͍͏ཁ͕݅ۤख άϧʔϓνϟοτͰɺࠓΦϑϥΠϯͷਓʹ͸"1/4ͳͲͰ௨஌͍ͨ͠ w ͜ͷάϧʔϓʹϝοηʔδΛ౤͍͛ͨ w άϧʔϓͷϝϯόʔΛݕࡧ w

    ֤ϝϯόʔͷ઀ଓ৘ใΛݕࡧ w ద੾ͳαʔόʔʹ഑ૹ ౎౓ w ͜ͷάϧʔϓʹϝοηʔδΛ౤͍͛ͨ w HSPVQJEΛτϐοΫʹͯ͠1VC4VCαʔόʔʹ౤͛Δ 1VC4VC ഑ૹ࣌ ഑ૹ࣌ ઀ଓ࣌ ઀ଓ࣌ w ઀ଓઌͳͲΛొ࿥ॲཧ w ॴଐ͢ΔશͯͷνϟϯωϧΛݕࡧ w 1VC4VCαʔόʔͰTVCॲཧ 1VC4VC͸઀ଓ࣌ίετ͕ߴ͍ɺ౎౓͸഑ૹ࣌ίετ͕ߴ͍
  10. ຅ೖ *NNFSTJWF ܕ WT ܺؒ࣌ؒܕ εϚϗͷ࣌୅ʹͳΓɺલड़ͷΑ͏ʹ 1SFTFODF͸ॏཁͰͳ͍ɺͱ͍͏έʔε͕૿͑ͨɻ ͕ͩґવͱͯ͠ 1SFTFODF͕༗Γ೉͍ͱ͍͏λΠϓͷαʔϏε΋ଘࡏ͢Δɻ ྫ͑͹ήʔϜ΍73ͳͲ͕ͦΕʹ͋ͨΔɻ

    Α͏͸຅ೖܕ *NNFSTJWF ίϯςϯπ͔Ͳ͏͔ ໨ͷલʹ࠲Γɺىಈ͠ɺΠϯλʔωοτʹܨ͙ɺͱ͍͏εςοϓΛ౿ΜͰ͔Β࢖͏1$͸ ຅ೖܕͷ܏޲͕ڧ͍ɻ εϚϗ͸伱ؒ࣌ؒܕͷαʔϏε͕ଟ͍ɻ 1SFTFODFΛαϙʔτ͢Δ͔Ͳ͏͔Ͱίετ͸େ͖͘มΘΔͨΊ ࣗ෼ͷҊ݅͸ɺ຅ೖܕͳͷ͔ɺ1SFTFODF͸ඞཁͳͷ͔Λ͖ͬͪΓδϟοδ͍ͨ͠ɻ ࣮૷͢Δ৔߹ɺϑϨϯυ਺ͷ੍ݶ͕ͳ͍ͱഁ୼͢ΔͷͰͲ͔͜ͰޡຐԽ͢ඞཁ͕͋Δ
  11. ଟνϟϯωϧগϝϯόʔ WT গνϟϯωϧଟϝϯόʔ ͍ΘΏΔϝοηʔδϯάͷΞϓϦͰ͸ Ϣʔβʔಉ࢜ͷPOͷνϟϯωϧɺ Ϣʔβʔ͕ΨϯΨϯ࡞͍ͬͯ͘άϧʔϓνϟϯωϧ͕͋ΔͨΊଟνϟϯωϧʹͳΔɻ Ұͭͷνϟϯωϧ͋ͨΓͷϝϯόʔ͸ͦ͏ଟ͘ͳ͍ ϓϥΠϕʔτͳ΋ͷ͕ଟ͍ ήʔϜͷνϟοτػೳͷ৔߹ɺϫʔϧυ΍֗ͱ͍ͬͨνϟϯωϧ͸ αʔϏεશମͷதͰݶఆతͳ਺ͱͳΔɻ

    ςϨϏͷΑ͏ʹఏڙऀ͔Βͷ਺͕ݶఆతͳϥΠϒಈըʹ͚ͭΔνϟοτػೳ΋ಉ͡ɻ ࢀՃऀ͸νϟϯωϧ͋ͨΓଟΊʹͳΔ܏޲͕͋Δ ৔߹ʹΑͬͯ͸ສਓͱ͔  ΄΅ύϒϦοΫ ͜ΕΒͷ܏޲͸όοΫΤϯυͷઃܭʹ΋େ͖͘Өڹ͢Δ 1VC4VCͷτϐοΫͷ෼ࢄੑ΋େ͖͘มΘΔ 1VCMJD1SJWBUFͷͲͪΒʹ޲͔͘ͰมΘΔ෦෼΋͋Δ &&&ͷඞཁੑͱ͔
  12. ࠷ۙ͸৽͠Ίͷ෼໺Ͱ 8FC4PDLFU8FC35$ བྷΊͯۦ࢖͢ΔΑ͏ͳҊ݅΋૿͑ͯΔ *P5ɿԿΒ͔ͷσόΠεͱͷϦΞϧλΠϜͳ࿈ಈػೳ σόΠεͰൃੜͨ͠FWFOU σόΠε΁ͷDPNNBOEΛ8FC4PDLFU΍8FC35$%BUB$IBOOFM 7375VCFSऩ࿥์ૹؔ࿈΍ɺ73$IBUͷΑ͏ͳػೳ .- "* ϦΞϧλΠϜͳσʔλͷऩू΍ղੳ

    .255ͱ8FC4PDLFUͰɺࠓճͷ9.11ͱಉ͡Α͏ͳٞ࿦͸͋Γͦ͏ ҰྫΛ্͛Δͱɺԋऀಉ࢜ͷ΍ΓͱΓɺήʔϜ࣮گͷಈը߹੒Ͱ8FC35$ WPJDFWJEFPNPUJPO ɺ ෆಛఆଟ਺΁ͷ഑৴Λ0#43.51)-4Ͱߦ͍ͭͭ େྔͷࢹௌऀͷνϟοτ͸8FC4PDLFUͰεέʔϥϒϧʹ૊ΈཱͯΔɺͳͲ৭Μͳύλʔϯ͕ɻ ༷ʑͳ૊Έ߹ΘͤʹΑΔϦΞϧλΠϜٕज़ͷ૯߹֨ಆٕ ΧϝϥσόΠεͷಈըͷٵ্͍͛ɻ౓ಈը์ૹͱ͔΋ɻ ࠓճ͸8FC35$·Ͱ͸ਂ۷ΓͰ͖·ͤΜͰ͕ͨ͠ ͨͩͷϘΠεϏσΦνϟοτʹཹ·Βͣ໘ന͍Ԡ༻͕ͨ͘͞Μग़͖͍ͯͯ·͢ ಈըͳͲΛϦϞʔταʔόʔଆͰղੳ͍ͨ͠৔߹ͳͲ