Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
AWS Summit Tokyo 2015
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Shuhei Kimura
June 02, 2015
Technology
130
0
Share
AWS Summit Tokyo 2015
Shuhei Kimura
June 02, 2015
More Decks by Shuhei Kimura
See All by Shuhei Kimura
Akka streamsを活用したログ集計に優しいデータフローの構築
kimurashuhei
2
5.8k
pmconf2017
kimurashuhei
0
3.7k
MDH-LT-Thursday-20170126
kimurashuhei
0
1.6k
Other Decks in Technology
See All in Technology
多角的な視点から見たAGI
terisuke
0
130
鹿野さんに聞く!CSSの最新トレンド Ver.2026
tonkotsuboy_com
6
2.7k
CyberAgent YJC Connect
shimaf4979
1
170
OWASP APTSを眺めてみた
su3158
0
130
アプリブロック機能のつくりかたと、AIとHTMLの不合理な相性の良さについて
kumamotone
1
220
全社統制を維持しながら現場負担をどう減らすか〜プラットフォームチームとセキュリティチームで進めたSecurity Hub活用によるAWS統制の見直し〜/secjaws-security-hub-custom-insights
mhrtech
1
170
AI時代に越境し、 組織を変えるQAスキルの正体 / QA Skills for Transforming an Organization
mii3king
5
4.2k
2026-05-14 要件定義からソース管理まで!IBM Bob基礎ハンズオン
yutanonaka
0
120
Agent Skillsで実現する記憶領域の運用とその後
yamadashy
2
1.6k
エンタープライズの厳格な制約を開発者に意識させない:クラウドネイティブ開発基盤設計/cloudnative-kaigi-golden-path
mhrtech
0
370
Swift Sequence の便利 API 再発見
treastrain
1
230
Shiny New Tools Won't Fix Your Problem
trishagee
1
120
Featured
See All Featured
Leo the Paperboy
mayatellez
7
1.7k
The MySQL Ecosystem @ GitHub 2015
samlambert
251
13k
From π to Pie charts
rasagy
0
180
Designing Experiences People Love
moore
143
24k
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.2k
The Language of Interfaces
destraynor
162
26k
Rails Girls Zürich Keynote
gr2m
96
14k
世界の人気アプリ100個を分析して見えたペイウォール設計の心得
akihiro_kokubo
PRO
70
39k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
210
Information Architects: The Missing Link in Design Systems
soysaucechin
0
920
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.2k
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
1
290
Transcript
ʰϦΞϧλΠϜλʔήςΟϯάࠂͷ ৴ɾੳج൫ͷ։ൃͷཪଆʱ d"NB[PO,JOFTJTͷ׆༻d גࣜձࣾαΠόʔΤʔδΣϯτ ΞυςΫελδΦ%ZOBMZTU ଜऺฏ
1SPpMF ໊લ ଜऺฏ4IVIFJ,JNVSB IUUQTXXXGBDFCPPLDPNTIVIFJLJNVSB ॴଐ גࣜձࣾαΠόʔΤʔδΣϯτ
ΞυςΫຊ෦"E5FDI4UVEJP %ZOBMZTU։ൃऀ ܦྺ dࠂޮՌܭଌγεςϜͷ։ൃ d1$ͷ35#ࠂ৴ʹ͓͚Δ࠷దԽΤϯδϯͷઃܭ։ൃ d41͚ւ֎%41γεςϜͷઃܭ։ൃ d41͚μΠφϛοΫϦλʔήςΟϯάࠂ৴γεςϜͷઃܭ։ൃ
"HFOEBPGUIJTTFTTJPO ΦϯϥΠϯࠂͷ͍· ࡢࠓͷࠂ৴ʹٻΊΒΕΔ͜ͱԿ͔ʁ %ZOBMZTU͕ఏڙ͢ΔՁͱԿ͔ʁ %ZOBMZTUͷγεςϜߏஙʹ͓͚Δίϯηϓτ γεςϜͷେنԽʹͬͯ໘ͨ͠՝ͨͪ ϩάͷྔ͚ͩͰͳ͘ϩάͷ༰͕ଟ༷Խ͢Δ͜ͱʹରԠ͠ʹ͍͘ σʔλͷར༻༻్ͷଟ༷Խͱॊೈੑͷ Ϩϙʔτूܭج൫㱠ΞυϗοΫੳج൫ "NB[PO,JOFTJTͷ࠾༻ͱͦͷಋೖͷաఔ
ͳͥ,JOFTJTͰղܾͰ͖Δͱߟ͔͑ͨʁ ,JOFTJTΛίΞͱ͢Δσʔλ׆༻ઓུͱ࣮ݱͨ͠γεςϜʹ͍ͭͯ
4JHOJpDBOUDIBOHFTPGUIFFOWJSPONFOU GPSPOMJOFEJTQMBZBEWFSUJTJOH dΦϯϥΠϯσΟεϓϨΠࠂΛऔΓר͘ڥd
8IBU`TIBQQFOJOH ΑΓࡉ͔ͳλʔήςΟϯά͕Մೳͳ࣌ 8)ʹ͓͚Δ8IP͕ಛʹॏཁࢹ͞ΕΔ Ϣʔβͷߦಈʹجͮ͘ࠂ৴ ࠂ༧ࢉͷదͳͱ30*ޮͷ্ ࠂग़ߘͷҙࢥܾఆϦΞϧλΠϜԽdNTFDPSEJFd ͍ͭ Ͳ͜Ͱ ͩΕʹ ͲΜͳࠂΛ͍͘ΒͰग़͢PSग़͞ͳ͍
3FBM5JNF#JEEJOHऔҾͨΓલͷੈք ࠂ৴ٕज़ʑɺߴʹෳࡶʹ "SFZPVBOVTFSXIPN XFTIPVMEEFMJWFSPVSBE
8IBUJT
3FBM5JNF6TFS1FSTPOBMJ[FE%ZOBNJD"ETFSWJDF1SPWJEFS JTGVMMZQPXFSFECZ
,FZXPSET 3FBM5JNFdԿ͕ϦΞϧλΠϜͳͷ͔ d αΠτϢʔβߦಈ͕ϦΞϧλΠϜʹࠂʹө͞ΕΔ 35#͔࣌ͩΒͦ͜Ͱ͖Δ 6TFS1FSTPOBMJ[FE"EdϨίϝϯυٕज़d Ϣʔβͷझຯᅂʹ߹Θͤͯࠂ͕μΠφϛοΫʹมԽ
,FZ$PODFQUGPS%ZOBMZTU4ZTUFN"SDIJUFDUVSF γεςϜӡ༻ίετখ͘͞ dνʔϜόϥϯεΛ࠷దԽɺ0QT %FW #J[d গ͠ઌΛݟӽͨ͠εέʔϥϏϦςΟ
dεϐʔυΛ༏ઌͯ͠ҙਤతʹແࢹͯ͠ෛ࠴Λ࡞ΔέʔεͪΖΜ͋Γ·͢d ࡞Βͳͯ͘ࡁΉͷ࡞Βͳ͍ dͦͦ࡞Βͳ͚Εϝϯς͠ͳͯ͘Α͍d d"8440"ͳͷͰιϦϡʔγϣϯ୳͢ɺ͘͠૬ஊ͢Εݟ͔ͭΔd
1SPCMFNTXFGBDFE XIFOCVTJOFTTTZTUFNFYQBOET dγεςϜͷେنԽʹͬͯ໘ͨ͠՝ͨͪd
%BUBWPMVNF%BUBWBSJBUJPO B[B B[D ʜ GPSFBDITFSWFS ʜ ৴ɾܭଌϩάͷσʔλӡൖϑϩʔ ᶃqVFOUEESJWFOEBUBPQFSBUJPO
ᶄ43FETIJGUͷܧଓ$01:աఔͰςʔϒϧఆٛΛ༰қʹมߋͰ͖ͳ͍ σʔλͷྔͷྀ̋σʔλͷ࣭ͷྀ˚ USBDLJOHMPHT GPSCJHEBUBBOBMZTJT PO3FETIJGU$MVTUFS TFOENFTTBHF MPHJTVQMPBEFE DPQZXPSLFS ˞ʰ͋ͷใཉ͍͠ͳ͊ɻɻʱ˰ΧϥϜΛՃʂʁ
%J⒎FSFOURVFSZSFRVJSFNFOUGSPNTBNFEBUBTPVSDF B[B B[D ʜ GPSFBDITFSWFS BDDFTTMPHT ʜ ৴࣮ੳͷͨΊͷΫΤϦ ؤுΕ3FETIJGUͰͳΜͰͰ্ཱ͖ͨͪ͛ظʂ˰ͦΖͦΖݟ࣌͢ظʁ USBDLJOHMPHT
GPSCJHEBUBBOBMZTJT PO3FETIJGU$MVTUFS TFOENFTTBHF MPHJTVQMPBEFE DPQZXPSLFS ΞυϗοΫΫΤϦͱۀܥΫΤϦ͕ಉډ͍ͯ͠ΔͷͦΖͦΖݶք ˞8-.ͳͲͰͷΫΤϦ༏ઌௐ தؒςʔϒϧઃܭͳͲͰͲ͏ʹͳΒͳ͍ਫ਼ਆతෛ୲ ࠂओ༷͚ͷϨϙʔτूܭΫΤϦ
'SFTI%BUB PS#JH%BUB σʔλͷ͕ԿΑΓॏཁʁ աڈͷ৴࣮ͷͳͲσʔλͷྔ͕ॏཁʁ ͋Δࠂͷ৴අ༻ޮՌͲ͏͔ʁ ͋Δࠂͷࡏݿٴͼ୯ՁͲ͏͔ʁ 3FETIJGU·ͰσʔλΛӡΜͰ͔Β͕ελʔτͰͪΐͬͱ͍ ͲΜͳͷࠂΛͲΕ͚ͩ৴͔ͨ͠ʁ ͋ΔͷࠂΛ৴͍͗ͯ͢͠ͳ͍͔ʁ
)PXXFTPMWFEUIFTFQSPCMFNT CZVTJOH"NB[PO,JOFTJT d,JOFTJTͷ࠾༻ͱͦͷಋೖͷաఔd
8IZ"NB[PO,JOFTJT
$PODFQU.BUDIFT JOQVUOPVUQVU ,JOFTJT4USFBNΛىͱͨ͠ σʔλϑϩʔ͕ཁ݅ʹ߹͍ͦ͏ʁʁ 'SFTI%BUB#JH%BUB 4·ͰӡΕ3FETIJGUͱͷ*OUFHSBUJPOͰ͖Δʁʁ ͦͷͰσʔλΛऔΓग़ͯ͠ॲཧ͢Ε'SFTIσʔλͱͯ͠ѻ͑Δʁʁ ੳج൫ͱूܭج൫ͷׂͷ σʔλϑϩʔΛγϯϓϧʹͭͭ͠ੳج൫ڧԽͷͨΊͷࢪࡦΛଧ͍ͪͨ 40"ͷࢥͦͷ··ʹ৭ʑͳαʔϏεͱ࿈ܞͰ͖Δʁʁ
σʔλӡൖϑϩʔͷ֦ுdେ·͔ͳྲྀΕd B[B B[D ʜ DPOTVNFS" DPOTVNFS# DPOTVNFS$ BTQSPEVDFS DPOTVNFS% DPOTVNFS&
োੑͷߴ͍ϩάऩूύΠϓϥΠϯͱͯ͠ͷׂʂ ϩάऩूαʔό͍ΒͣɺqVFOUECVGGFSͯ͠1VU3FDPSET
σʔλӡൖϑϩʔͷ֦ுdࢼߦࡨޡͷաఔd B[B B[D ʜ DPOTVNFS" DPOTVNFS# DPOTVNFS$ BTQSPEVDFS DPOTVNFS% DPOTVNFS&
1VU3FDPSET"1*͕·ͩͳ͔ͬͨ ˰qVFOUEͰQVU͕͍͔ͭͳ͍ qVFOUEͰεϨουΛ૿͢ͷͪΐͬͱ ˰ΞϓϦέʔγϣϯαʔόͰͷ1VU3FDPSEͰҰ࣌ରॲ 1VU3FDPSET"1*͕ϦϦʔε͞ΕΔ˞"844%,GPS3VCZW͔Β ˰Ͳ͏ߟ͑ͯCVGGFSͯ͠qVFOUEͰॲཧͤ͞Δͷ͕҆ఆ͢Δʂ
σʔλӡൖϑϩʔͷ֦ுd#FGPSF"GUFSd B[B B[D ʜ USBDLJOHMPHT TFOENFTTBHF MPHJTVQMPBEFE DPQZXPSLFS B[B B[D
ʜ TVQMPBEDPOTVNFS USBDLJOHMPHT DPOUJOVFTDPQZ #FGPSF "GUFS
σʔλӡൖϑϩʔͷ֦ுd#FGPSF"GUFSd B[B B[D ʜ USBDLJOHMPHT TFOENFTTBHF MPHJTVQMPBEFE DPQZXPSLFS B[B B[D
ʜ TVQMPBEDPOTVNFS USBDLJOHMPHT DPOUJOVFTDPQZ #FGPSF "GUFS 4ͷσʔλͷӡͼํΛ,JOFTJTΛܦ༝͢Δํࣜʹมߋ ˰,JOFTJT$POTVNFSΞϓϦΛ࣮͠ɺϦΞϧλΠϜͳԿ͔Λ͢ΔڥΛ࣮ݱ ˰qVFOUEͷׂͷཧ 424 4ͱͷJOUFHSBUJPOͷղফ ,JOFTJT1SPEVDFSͱͯ͠ͷׂ
ੳج൫ͱूܭج൫ͷׂͷ B[B B[D ʜ TVQMPBEDPOTVNFS USBDLJOHMPHT 3VOOJOH4QBSLXJUI :"3/PO&.3$MVTUFS DPOUJOVFTDPQZ ఆܗϨϙʔτۀܥॲཧΛ3FETIJGU͔Β&.3
˰ੳܥΫΤϦΛੳऀ͕ετϨεͳ͛͘ΒΕΔڥͷ࣮ݱ ˰3FETIJGUʹఆظతʹ$01:ͯ͠ϩάσʔλΛͨΊΔ ˞ Γ͍ͨ͜ͱΛ42-ҰຊͰهड़Ͱ ͖ΔͰ3FETIJGUੳऀϑϨϯ υϦʔ ˞ ੳΞϓϩʔνͷ͔Βҙ֎ͱ ੜϩάΛىͱͨ͠ੳ͕ଟΊ 3FQPSUJOH SFQPSUBQJ BOBMZTU BEWFSUJTFST
ϦΞϧλΠϜσʔλॲཧΞϓϦέʔγϣϯͷಋೖྫ ࠂओ༷αΠτΛ๚ΕͨϢʔβ͕Έ͕ͨ %ZOBMZTUͰཧ͢Δ%#ʹ͋Δ͔൱͔ΛνΣοΫ͍ͨ͠ TVQMPBEDPOTVNFS DPWFSBHFDPVOUDPOTVNFS GPPUQSJOUTUSFBN JOQVU qVFOUEͰ1VU3FDPSET
ඵؒdSFDPSE͘Β͍QVU TIBSEͰTUSFBNΛ࡞ PVUQVU ϓϩηεͰDPOTVNFSΛ&$্Ͱ࣮ߦͤ͞Δ TDBMBBQQ ,$-Ͱ࣮ EBFNPOԽͯ͠QSPDFTTཧ TUSFBN͔ΒҰׅͰ(FU3FDPSET͠ɺ ·ͱΊͯॲཧͯ݁͠ՌΛ&MBTUJ$BDIF
ϦΞϧλΠϜσʔλॲཧΞϓϦέʔγϣϯͷಋೖྫ DPWFSBHFDPVOUDPOTVNFSQSPD GPPUQSJOUTUSFBN ,$-ͷڍಈཧղ CVJMEͨ͠ΞϓϦͷ&$ͷσϓϩΠQSPD ॳճىಈ࣌ʹ%ZOBNP%#DIFDLQPJOUཧ༻ͷUBCMF͕࡞͞ΕΔ νΣοΫϙΠϯτΛߋ৽͠ͳ͕ΒΞϓϦTIBSEݸͷσʔλΛॲཧ ͏ҰͭΞϓϦΛ&$ʹσϓϩΠQSPD
DIFDLQPJOUཧςʔϒϧΛࢀরͯ͠ɺݸTIBSEΛୣͬͯॲཧ։࢝ TIBSEQSPDͰॲཧ͞ΕΔঢ়ଶʹͳΔ QSPDΛTIVUEPXO͢ΔͱQSPD͕TIBSEݸॲཧ࢝͠ΊΔ DPWFSBHFDPVOUDPOTVNFSQSPD GFFEDPWFSBHFTUPSF DIFDLQPJOUNBOBHFUBCMF leaseKey checkpoint leaseOwner shard-0000 seq-abcd123 consumer01:xxx x shard-0001 seq-efgh456 consumer02:yyy y ˞ ͲͷTIBSEΛͲ͜·ͰͩΕ͕ॲཧͨ͠ʁ ˞,$-ඇৗʹߴػೳͰศར
ϦΞϧλΠϜσʔλॲཧΞϓϦέʔγϣϯͷಋೖྫ DPWFSBHFDPVOUDPOTVNFSQSPD GPPUQSJOUTUSFBN ,$-ར༻࣌ͷϋϚͬͨϙΠϯτ ϐʔΫ࣌ʹҰํͷQSPD͕ؤுΓɺଞํͷQSPD͕ؤுΒͳ͍ %ZOBNP%#ͷDIFDLQPJOUཧςʔϒϧͷ8SJUFΩϟύΦʔόʔ ॳظ͕8SJUF$BQBDJUZͰ࡞͞ΕΔͷͰॲཧͷ୯Ґɺ༰ʹΑͬͯͰΓͳ͍ͷͰ૿͢
৽͍͠όʔγϣϯͷΞϓϦΛσϓϩΠͨ͠ΒͲ͏ͳΔͷʁ QSPD QSPDΛىಈ TIBSEݸͷ߹ݹ͍QSPD QSPD͕ࣄΛୣΘΕΔ ࣮࣭SPMMJOHVQEBUFతͳڍಈΛࣔ͢ QSPD QSPDΛด͔ͯ͡ΒQSPD QSPDΛىಈͨ͠΄͏͕͍͍ͱ͖͋Δ͔ʁ TIBSE͕Γͳ͍ͷͰBQJܦ༝ͰTQMJUTIBSEͨ͠ɺΞϓϦͲ͏ͳΔʁ DIFDLQPJOUཧςʔϒϧ͕Α͠ͳʹͬͯ͘ΕΔ TQMJUTIBSE͢ΔલͷTIBSEͷॲཧΛऴ͑ͨΒ৽͍͠TIBSEͰͷॲཧΛҾ͖ܧ͙ DPWFSBHFDPVOUDPOTVNFSQSPD GFFEDPWFSBHFTUPSF DIFDLQPJOUNBOBHFUBCMF ˞ ͜ͷTIBSEͷͩΕʁ ˞,$-ඇৗʹߴػೳͰศར leaseKey checkpoint leaseOwner parentShardId shard-0002 seq-abcd123 consumer01:xx xx {"shard-0000"} shard-0003 seq-efgh456 consumer02:yy yy {"shard-0000"}
ϦΞϧλΠϜσʔλॲཧΞϓϦέʔγϣϯͷಋೖྫ ୈࡾऀ৴ͱ35#৴ ߹ΘͤͯͲΕ͘Β͍৴Մೳͳػձ͕͋ͬͨͷ͔Γ͍ͨʂ BEDBOEJEBUFDPOTVNFS BETUSFBN CJETUSFBN
CJEDBOEJEBUFDPOTVNFS ෳͷTUSFBNͷσʔλΛ͍͍ͨঢ়گͰͲ͏͢Δʁ BETUSFBNͷྲྀྔ SQT TIBSE CJETUSFBNͷྲྀྔ SQT TIBSE
ϦΞϧλΠϜσʔλॲཧΞϓϦέʔγϣϯͷಋೖྫ BEDBOEJEBUFDPOTVNFS BETUSFBN CJETUSFBN CJEDBOEJEBUFDPOTVNFS ෳͷTUSFBNͷσʔλΛ͍͍ͨঢ়گͰͲ͏͢Δʁ
BETUSFBNͷྲྀྔ SQT TIBSE CJETUSFBNͷྲྀྔ SQT TIBSE %ZOBMZTUͰɺɺ DPOTVNFSTUSFBNຖʹͦΕͧΕ࣮͢Δ DPOTVNFSͷதͰผͷTUSFBNʹ࠶QSPEVDF͢ΔॲཧΛೖΕΔ DBOEJEBUFTUSFBNͷDPOTVNFSͰతͷॲཧΛ࣮͢Δʂ DBOEJEBUFDPOTVNFS DBOEJEBUFTUSFBN
ϦΞϧλΠϜσʔλॲཧΞϓϦέʔγϣϯͷಋೖྫ BEDBOEJEBUFDPOTVNFS BETUSFBN CJETUSFBN CJEDBOEJEBUFDPOTVNFS ෳͷTUSFBNͷσʔλΛ͍͍ͨঢ়گͰͲ͏͢Δʁ
BETUSFBNͷྲྀྔ SQT TIBSE CJETUSFBNͷྲྀྔ SQT TIBSE (FU3FDPSETͨ͠ͷΛू͠ɺ ϨίʔυΛݮΒͯ͠࠶QSPEVDFʂ DBOEJEBUFDPOTVNFS
ϦΞϧλΠϜͳॲཧͱόονॲཧd0WFSWJFXd "EWFSUJTJOH 4JUF5SBDLJOH "E5SBDLJOH GFFECBDL GFFECBDL DBNQBJHONBOBHFNFOUYSFQPSUJOHGPS"EWFSUJTFS 3VOOJOH4QBSLXJUI :"3/PO&.3$MVTUFS
4VNNBSZPGUIJTTFTTJPO ΦϯϥΠϯࠂͷ͍· ࡢࠓͷࠂ৴ʹٻΊΒΕΔ͜ͱԿ͔ʁ %ZOBMZTU͕ఏڙ͢ΔՁͱԿ͔ʁ %ZOBMZTUͷγεςϜߏஙʹ͓͚Δίϯηϓτ γεςϜͷେنԽʹͬͯ໘ͨ͠՝ͨͪ ϩάͷྔ͚ͩͰͳ͘ϩάͷ༰͕ଟ༷Խ͢Δ͜ͱʹରԠ͠ʹ͍͘ σʔλͷར༻༻్ͷଟ༷Խͱॊೈੑͷ Ϩϙʔτूܭج൫㱠ΞυϗοΫੳج൫ "NB[PO,JOFTJTͷ࠾༻ͱͦͷಋೖͷաఔ
ͳͥ,JOFTJTͰղܾͰ͖Δͱߟ͔͑ͨʁ ,JOFTJTΛίΞͱ͢Δσʔλ׆༻ઓུͱ࣮ݱͨ͠γεςϜʹ͍ͭͯ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠