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
iQONを支えるクローラー/iQON Crawler
Search
Masayuki Imamura
June 17, 2015
Programming
12
4.1k
iQONを支えるクローラー/iQON Crawler
IVS CTO Night & Day Spring 2015 のLTで発表した内容です /VASILY @kyuns
Masayuki Imamura
June 17, 2015
Tweet
Share
More Decks by Masayuki Imamura
See All by Masayuki Imamura
経営視点から捉えた開発生産性 / Development productivity from a management perspective
kyuns
10
6.3k
Qiita:Teamをハックして成果をあげるための情報共有方法/Qiita:Team
kyuns
6
3.2k
3年連続ベストアプリ受賞のプロダクトを支える裏側/The way to Achieve The Best App 3 years in a row
kyuns
1
1.5k
機械学習とデータ分析を支えるマルチクラウドなアーキテクチャの紹介/Multi Cloud Architecture Supporting Machine Learning and Data Analysis
kyuns
4
9.5k
日本最大級のファッションDBを支える裏側/how to manage the complex web service
kyuns
4
800
iQONを支えるデータ分析基盤/iqon-bigquery
kyuns
3
10k
iQON Tools
kyuns
1
3.8k
プッシュ通知大戦争/effective push notification by iQON
kyuns
28
8.2k
VASILY流エンジニアドリブン / vasily engineer driven way
kyuns
2
2.2k
Other Decks in Programming
See All in Programming
AWS初心者ってどうやってAWSを学ぶ?〜アプリエンジニアがやってよかったアーキテクチャ学習方法〜
yamanashi_ren01
0
190
Harnessing Large Language Models for Training-free Video Anomaly Detection
tereka114
1
1.3k
わかりやすい正解を捨てて、コトに向き合う - スクラムフェス金沢2024 スポンサーセッション
yusukekokubo
0
170
APIのない大学ログインWebサービスをWKWebViewとJavaScriptでアプリ化した話
akidon0000
1
330
さきがけから振り返るアーキテクチャ刷新 / Reflecting on the Architectural Renewal from the Vanguard
nrslib
2
770
開発部に不満を持っていたCSがエンジニアにジョブチェンしてわかった「勝手に諦めない」ことの大切さ
sakuraikotone
28
16k
The rollercoaster of releasing an Android, iOS, and macOS app with Kotlin Multiplatform | droidcon Berlin
prof18
0
110
Microservices rules (July 2024) : what good looks like
cer
PRO
0
1.6k
Findy - エンジニア向け会社紹介 / Findy Letter for Engineers
findyinc
2
81k
AWS CDKにおける「再利用性」を考える / aws-cdk-reusability
gotok365
6
1.3k
ぼっちを避けて楽しむためのアノテコノテ / Various Tips and Tricks to Avoid Loneliness and Have Fun
nrslib
3
1.7k
Jetpack for KMP
fornewid
1
290
Featured
See All Featured
Dealing with People You Can't Stand - Big Design 2015
cassininazir
360
22k
Art, The Web, and Tiny UX
lynnandtonic
291
20k
Optimising Largest Contentful Paint
csswizardry
18
2.6k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
13
430
Building Your Own Lightsaber
phodgson
101
5.9k
Practical Orchestrator
shlominoach
185
10k
YesSQL, Process and Tooling at Scale
rocio
166
14k
Stop Working from a Prison Cell
hatefulcrawdad
266
20k
GitHub's CSS Performance
jonrohan
1026
450k
The Straight Up "How To Draw Better" Workshop
denniskardys
229
130k
Docker and Python
trallard
37
2.9k
Rebuilding a faster, lazier Slack
samanthasiow
78
8.5k
Transcript
BEHIND the iQON CRAWLER iQONΛࢧ͑ΔΫϩʔϥʔ VASILY,Inc. @kyuns IVS CTO Night
& Day 2015 Spring powered by AWS
ࠓଜխ @kyuns / Ωϡϯ VASILY,Inc औకCTO / Co-Founder 2006ʹYahoo!JAPANʹ৽ଔೖࣾ Yahoo!FASHIONɺXBRANDͳͲͷϝσΟΞͷ্ཱͪ͛
2009ʹಠཱɺVASILYΛۀɺऔకCTOʹब ͖ͳ"84αʔϏε4͖ͳ༏ਫथಸʑ
ઃཱ :200811݄ ैۀһ :53ਓ / (ΤϯδχΞ17໊) ࢿຊۚ :8ԯ2,458ສ גओɹ :KDDI
ITV GCP GMOVP
None
ຊதͷECαΠτͷ σʔλΛܝࡌ ຊ࠷େڃͷ ϑΝογϣϯΞϓϦʮΞΠίϯʯ ձһ 230ສਓ
J20/ͷ ΫϩʔϥʔͬͯԿʁ
Λ͑ΔຊதͷϑΝογϣϯ&$αΠτͷσʔλΛ શͯΫϩʔϧɺஈɺࣸਅɺઆ໌ɺࡏݿΛॲཧ
ͱ͋ΔனԼ͕Γʜ
ਓؾ501ϒϥϯυ ͍͍ײ͡ʹશ෦Ϋϩʔϧͯ͠Α
ཱ͔ͪͩΔ՝ w ϒϥϯυҎ্ΛຖΫϩʔϧ͢Δʹ εέδϡʔϥʔΛޮԽ͠ͳ͍ͱ͍͚ͳ͍ w ΧςΰϦఆϞϊɺϞσϧɺτϧιʔͷఆͳ Ͳɺਓ͕͍ؒͯͨ͜͠ͱΛແ͘͞ͳ͍ͱ͍͚ͳ͍ w ͦͦ91"5)Λਓ͕ؒௐΔͷΛͳΜͱ͔͠ͳ ͍ͱ͍͚ͳ͍
iQON Crawler 4.0 = શࣗಈԽ
ΧςΰϦఆͷࣗಈԽ w ͋ΒΏΔϑΝογϣϯ༻ޠΛཏͨ͠ ϑΝογϣϯʹಛԽͨࣙ͠ॻΛੜ w &$αΠτͷλΠτϧɺઆ໌จɺͺΜͣ͘Ϧετ͔ΒεςοϓΛܦͯఆ จ຺ͷఆͳͲߦ͍ͬͯΔ ྫʮΊͪΌͪ͘Ό͔Θ͍͍όοάʂεΧʔτʹ͋͏ʂʯͷઆ໌จͷ߹εΧʔ
τʹޡఆ͠ͳ͍Α͏ͳจ຺Λҙࣝͨ͠ॲཧʣ w ͷ্هεςοϓ͔ΒఆͰ͖Δ w ϓϧΦʔόʔͱ͔5γϟπʹϒϥεʹྨͰ͖ͯ͠·͏ αΠτ͝ͱʹఆ͕ٛҧͬͨΓ͢Δ w Γͷෳࡶͳͷػցֶशʹ͔͚ͯఆ
ը૾ఆͷࣗಈԽ ϞϊɺϞσϧɺτϧιʔΛը૾ղੳΛۦͯ͠ɺࣗಈతʹఆɻ ྨਫ਼ˋ ͞ΒʹɺϞϊը૾ΤσΟλͰ͏ͨΊʹനൈ͖ॲཧΛશࣗಈͰߦ͏
91"5)நग़ͷࣗಈԽ &$αΠτͷߏΛӡӦ ϕϯμʔաڈͷใΛ ݩʹಛԽ %0.ͷߏ͔Β֤ཁૉ Β͖͠ͷΛஅ ஈɺ λΠτϧ πʔϧͰ91"5)ཧ
ޮͷ͍͍Ϋϩʔϧͱ w ΫϩʔϧͷXPSLFSΛHPͰॻ͖ͳ͓ͯ͠ EPDLFS &MBTUJD#FBOTUBMLͰBVUPTDBMFͰΫϩʔϧ͠·͘Γʂ ઌํͷαΠτ͕͙͢ࢮ͵ w ͷน αΠτඵΞΫηε·Ͱͱ͍͏ਈ࢜ڠఆ
w ෳXPSLFSΛ·͍ͨͩࢄϩοΫػߏ͕ඞཁ
w %JTUSJCVUFE-PDLXJUI3FEJT %-. IUUQSFEJTJPUPQJDTEJTUMPDL w ಠࣗʹ࣌ݶ͖ࢄϩοΫSFEJTEJTUNVUFYΛ։ൃ WBTJMZKQSFEJTEJTUNVUFY w ٕज़ϒϩάIUUQUFDIWBTJMZKQDSBXMTJUFTXJUISFEJTEJTUNVUFY
w αΠτͷϨεϙϯεੑೳʹؔͳ͘ҰఆִؒͰޮతʹΫϩʔϧͰ͖Δ Resque (fetch) Fetch worker &$4JUF Dist Mutex Resque (process) Fetch worker Fetch worker Sender 1.enqueue 2.dequeue 3.try_lock 4.get DB 5.save 6.enqueue
·ͱΊ w $&0ͷແͿΓʹٕज़ͰԠ͑Α͏ w Ϋϩʔϥʔʹ͍ͭͯฉ͖͍ͨਓ͓ͪͯ͠·͢