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
バイセルにおけるAI活用の取り組みについて紹介します/Generative AI at BuySell Technologies
kyuns
2
550
経営視点から捉えた開発生産性 / Development productivity from a management perspective
kyuns
12
8.9k
Qiita:Teamをハックして成果をあげるための情報共有方法/Qiita:Team
kyuns
6
3.4k
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.7k
日本最大級のファッションDBを支える裏側/how to manage the complex web service
kyuns
4
850
iQONを支えるデータ分析基盤/iqon-bigquery
kyuns
3
10k
iQON Tools
kyuns
1
3.8k
プッシュ通知大戦争/effective push notification by iQON
kyuns
28
8.3k
Other Decks in Programming
See All in Programming
パスキーのすべて ── 導入・UX設計・実装の紹介 / 20250213 パスキー開発者の集い
kuralab
3
760
Amazon ECS とマイクロサービスから考えるシステム構成
hiyanger
2
550
Spring gRPC について / About Spring gRPC
mackey0225
0
220
TokyoR116_BeginnersSession1_環境構築
kotatyamtema
0
110
法律の脱レガシーに学ぶフロントエンド刷新
oguemon
5
740
AWSマネコンに複数のアカウントで入れるようになりました
yuhta28
2
160
SwiftUI Viewの責務分離
elmetal
PRO
1
230
SRE、開発、QAが協業して挑んだリリースプロセス改革@SRE Kaigi 2025
nealle
3
4.3k
How mixi2 Uses TiDB for SNS Scalability and Performance
kanmo
36
14k
sappoRo.R #12 初心者セッション
kosugitti
0
250
Open source software: how to live long and go far
gaelvaroquaux
0
630
ソフトウェアエンジニアの成長
masuda220
PRO
10
1.1k
Featured
See All Featured
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
330
21k
The Cult of Friendly URLs
andyhume
78
6.2k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
226
22k
Build The Right Thing And Hit Your Dates
maggiecrowley
34
2.5k
Docker and Python
trallard
44
3.3k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
27
1.9k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
133
33k
Practical Orchestrator
shlominoach
186
10k
The Invisible Side of Design
smashingmag
299
50k
Code Reviewing Like a Champion
maltzj
521
39k
Raft: Consensus for Rubyists
vanstee
137
6.8k
RailsConf 2023
tenderlove
29
1k
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 Ϋϩʔϥʔʹ͍ͭͯฉ͖͍ͨਓ͓ͪͯ͠·͢