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.2k
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
バイセルにおけるAI活用の取り組みについて紹介します/Generative AI at BuySell Technologies
kyuns
2
1k
経営視点から捉えた開発生産性 / Development productivity from a management perspective
kyuns
12
10k
Qiita:Teamをハックして成果をあげるための情報共有方法/Qiita:Team
kyuns
6
3.5k
3年連続ベストアプリ受賞のプロダクトを支える裏側/The way to Achieve The Best App 3 years in a row
kyuns
1
1.7k
機械学習とデータ分析を支えるマルチクラウドなアーキテクチャの紹介/Multi Cloud Architecture Supporting Machine Learning and Data Analysis
kyuns
4
9.9k
日本最大級のファッションDBを支える裏側/how to manage the complex web service
kyuns
4
880
iQONを支えるデータ分析基盤/iqon-bigquery
kyuns
3
10k
iQON Tools
kyuns
1
3.9k
プッシュ通知大戦争/effective push notification by iQON
kyuns
28
8.4k
Other Decks in Programming
See All in Programming
私達はmodernize packageに夢を見るか feat. go/analysis, go/ast / Go Conference 2025
kaorumuta
2
390
階層構造を表現するデータ構造とリファクタリング 〜1年で10倍成長したプロダクトの変化と課題〜
yuhisatoxxx
3
790
Current States of Java Web Frameworks at JCConf 2025
kishida
0
490
OWASP Kansai DAY 2025.09: OSINTにふれてみよう
deka_morita
0
160
PostgreSQLで手軽にDuckDBを使う!DuckDB&pg_duckdb入門/osk2025-duckdb
takahashiikki
1
230
複雑化したリポジトリをなんとかした話 pipenvからuvによるモノレポ構成への移行
satoshi256kbyte
0
550
Web Components で実現する Hotwire とフロントエンドフレームワークの橋渡し / Bridging with Web Components
da1chi
2
1.2k
iOSエンジニア向けの英語学習アプリを作る!
yukawashouhei
0
150
SpecKitでどこまでできる? コストはどれくらい?
leveragestech
0
360
株式会社 Sun terras カンパニーデック
sunterras
0
170
ИИ-Агенты в каждый дом – Алексей Порядин, PythoNN
sobolevn
0
140
ABEMAモバイルアプリが Kotlin Multiplatformと歩んだ5年 ─ 導入と運用、成功と課題 / iOSDC 2025
akkyie
0
300
Featured
See All Featured
A Modern Web Designer's Workflow
chriscoyier
697
190k
The Invisible Side of Design
smashingmag
301
51k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
3k
Bootstrapping a Software Product
garrettdimon
PRO
307
110k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
45
2.5k
Scaling GitHub
holman
463
140k
Agile that works and the tools we love
rasmusluckow
330
21k
Fashionably flexible responsive web design (full day workshop)
malarkey
407
66k
Code Review Best Practice
trishagee
72
19k
Bash Introduction
62gerente
615
210k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
132
19k
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 Ϋϩʔϥʔʹ͍ͭͯฉ͖͍ͨਓ͓ͪͯ͠·͢