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
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.9k
pmconf2017
kimurashuhei
0
3.7k
MDH-LT-Thursday-20170126
kimurashuhei
0
1.7k
Other Decks in Technology
See All in Technology
プラットフォームエンジニア ワークショップ/ platform-workshop
databricksjapan
0
140
はじめてのDatadog
kairim0
0
240
速さだけじゃない! VoidZero ツールが移行先に選ばれる理由
mizdra
PRO
6
690
Diagnosing performance problems without the guesswork
elenatanasoiu
0
130
Dynamic Workersについて
yusukebe
2
490
Agentic AI時代における メルカリのAIガバナンスとガードレール実装
naoichihara
16
17k
Gradle×GitHub_ActionsでCI時間を約50%短縮 ジョブ分割の設計と落とし穴 / Cutting CI Time by ~50% with Gradle and GitHub Actions: Job-Splitting Design and Pitfalls
takatty
0
540
自称宇宙最速で不合格となったAIP-C01にリベンジを果たすべくAIで問題集アプリを作ってみた。
yama3133
0
250
ポスター発表&デモと総括 / Poster Presentations & Demonstrations and Summary
ks91
PRO
0
170
エンジニアは生成AIと どのように向き合うべきか? ことばの意味という観点から
verypluming
3
300
権限管理設計を完全に理解した
rsugi
2
240
Platform engineering for developers, architects & the rest of us (AI agents)
danielbryantuk
0
150
Featured
See All Featured
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
300
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
520
Data-driven link building: lessons from a $708K investment (BrightonSEO talk)
szymonslowik
1
1.1k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
590
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5.8k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
65
55k
The Anti-SEO Checklist Checklist. Pubcon Cyber Week
ryanjones
0
150
GraphQLの誤解/rethinking-graphql
sonatard
75
12k
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
130
RailsConf 2023
tenderlove
30
1.5k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
55k
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
1
2.7k
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ΛίΞͱ͢Δσʔλ׆༻ઓུͱ࣮ݱͨ͠γεςϜʹ͍ͭͯ
͝ਗ਼ௌ͋Γ͕ͱ͏͍͟͝·ͨ͠