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
fluentdによる大規模キュー設計
Search
Atsushi Takayama
June 01, 2015
Technology
5.2k
9
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
fluentdによる大規模キュー設計
「Fluentd Meetup 2015 夏」で発表した内容です。
Atsushi Takayama
June 01, 2015
More Decks by Atsushi Takayama
See All by Atsushi Takayama
最高の開発者体験の追求が開発生産性を改善し続ける文化を生み出した話
edvakf
3
1.8k
NeurIPS 2021 論文読み会: How Modular should Neural Module Networks Be for Systematic Generalization?
edvakf
0
230
8年物のJavaのシステムをKotlinに変えていく選択に至るまで
edvakf
2
1.1k
ピクシブ社内のImageFlux利用事例紹介
edvakf
2
3.1k
学びの文化を育む社内読書会のススメ
edvakf
0
320
フルCDNアーキテクチャでサービス設計した話
edvakf
5
4.2k
Goでバイナリを読む+α
edvakf
1
1k
お前はこれまでに作ったAPIの数を覚えているのか?
edvakf
0
2.8k
「ふつうのRailsアプリケーション」についての考え方
edvakf
2
940
Other Decks in Technology
See All in Technology
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
1.2k
関東Kaggler会発表資料
takoi
1
230
侵入は突然に 〜 IoTマルウェアと悪用される家庭の機器 ~ / When Intrusion Strikes: IoT Malware and the Abuse of Home Devices
nttcom
0
5.5k
『三匹の子ぶた』から学ぶネットワークセキュリティの昔と今 / Network Security: Then and Now Through the Lens of The Three Little Pigs
nttcom
1
5.7k
強化学習「理論」入門
enakai00
3
3.6k
モノリス Rails でも日中に rails db:migrate を走らせたい! / Daytime rails db:migrate on Monolithic Rails!
euglena1215
4
580
【Google Cloud Next Tokyo'26】Gemini Enterprise と Oracle AI Database で実現する、業務データ活用を実現する AI エージェント実装
shisyu_gaku
0
250
Sets in Go
ramalho
1
690
【CEDEC2026】Creative Approaches to Localizing the Dialects and Unique Speech of Umamusume: Pretty Derby Characters in English
cygames
PRO
3
22k
会社紹介資料 / Sansan Company Profile
sansan33
PRO
23
430k
え?フロントエンドエンジニアの ワイがインフラも!?
puku0x
1
580
オートロックマンションなのに、各部屋は施錠なし!? 攻撃者が組織内ネットワークで大暴れする理由 / The Front Door Is Locked, but the Rooms Are Wide Open: Why Attackers Move Freely Inside Enterprise Networks
nttcom
1
5.5k
Featured
See All Featured
The Art of Programming - Codeland 2020
erikaheidi
57
14k
Building Flexible Design Systems
yeseniaperezcruz
330
40k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
23k
Optimising Largest Contentful Paint
csswizardry
37
3.9k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
230
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
250
What the history of the web can teach us about the future of AI
inesmontani
PRO
1
650
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
410
Pawsitive SEO: Lessons from My Dog (and Many Mistakes) on Thriving as a Consultant in the Age of AI
davidcarrasco
0
210
The Cult of Friendly URLs
andyhume
79
7k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
860
Thoughts on Productivity
jonyablonski
76
5.3k
Transcript
fluentdʹΑΔ େنΩϡʔઃܭ A large scale queue design with fluentd
ࣗݾհ • ߴࢁ Թ @edvakf • pixivͷອըࣄۀͷ։ൃऀ • ීஈॻ͍ͯΔͷScalaPHPɺͨ·ʹJSRubyGo •
࠷ۙϦʔυΤϯδχΞͱ͍͏ݞॻʹ • ձࣾͷٕज़બʹΛ࣋ͭ • ʮࣾͷΤϯδχΞ͕ͤʹಇͨ͘ΊʹʯΛߟ࣮͑ݱ͢Δۀ
ී௨ͷ ΣϒΞϓϦ+δϣϒΩϡʔ
Sidekiq
Resque Resque
MySQL Q4M PHP PHP PHP PHP Q4M batch
MongoDB PHP PHP PHP PHP Mongo batch
ྑ͍ • SidekiqResque൚༻δϣϒΩϡʔ • Rubyͷϝιου୯ҐͰ؆୯ʹδϣϒʹͰ͖Δ • ͘ΘΕ͍ͯΔ • ͠RedisMongoDBͳͲΛطʹ͍ͬͯΔͳΒ৽͍͠ ϛυϧΣΞΛಋೖ͠ͳͯ͘ྑ͍
͠ • 1ؒʹ10ສճͷδϣϒΛ࣮ߦ͠ͳ͍ͱ͍͚ͳ͔ͬͨΒ • ࣌ؒલͱ͔લͷঢ়ଶ·Ͱר͖ͬͯδϣϒΛ࣮ߦ ͠͞ͳ͍ͱ͍͚ͳ͔ͬͨΒ
ΞΫηεղੳ www.pixiv.net
࠷ॳʹߟ͑ͨҊ
MongoDB PHP PHP PHP PHP Mongo batch
ݒ೦ • MongoDB͕٧·ΔorམͪΔ • ͯ͢ͷPVͰॻ͖ࠐΉΑ͏ͳͱ͜ΖʹೖͰ͖Δ΄Ͳ ৴པͰ͖ͳ͍
ͦ͜Ͱfluentd
None
ߏ • ΞϓϦέʔγϣϯϩʔΧϧͷϑΝΠϧʹॻ͚ͩ͘ • fluentd͕ͦͬ͘Γͦͷ··సૹ͠ɺసૹઌͰϑΝΠϧ ʹॻ͖ࠐΉ • σʔϞϯͬΆ͍όονεΫϦϓτ͕ϑΝΠϧΛݹ͍ॱʹ ಡΜͰ͍ͬͯॲཧ͢Δ •
exec_filterʹ͢Δख͕͋ͬͨɺॾʑͷཧ༝͔ΒPHP ͰϑΝΠϧΛtailͯ͠ϙδγϣϯͷཧͳͲ͍ͯ͠Δ
རʢ̍ʣ • ϢʔβʔͷϦΫΤετΛॲཧ͍ͯ͠Δؒʹ௨৴͕ൃੜ͠ ͳ͍ • ϑΝΠϧͷॻ͖ࠐΈγʔέϯγϟϧͳͷͰઈରʹ٧ ·Βͳ͍ • సૹઌಉ༷ •
ϑΝΠϧγεςϜҰ൪ރΕͯΔετϨʔδ
རʢ̎ʣ • ॲཧͨ͠ޙϩά͕Δ • ԿΒ͔ͷΤϥʔͰόον͕͏·࣮͘ߦͰ͖͍ͯͳ͔ͬ ͨͱͯ͠ɺݩʹͬͯΓͤΔ • ࣦഊ͢Δͱઌʹਐ·ࣦͣഊ͠ଓ͚ΔΑ͏ʹͳ͍ͬͯͯɺ ରࡦͯ͠σϓϩΠ͢ΔͱਐΜͰ͘ΕΔ
རʢ̏ʣ • సૹઌΛΞΫςΟϒɾελϯόΠߏʹͰ͖Δ • ྆ํಉ͡ߏͰಉ͡όον͕ಈ͍͍ͯΔ
• “When an active node goes down, the standby node
is promoted to an active node.” • http://docs.fluentd.org/articles/out_forward#standby <server> name host1 host 192.168.xx.1 standby </server> <server> name host2 host 192.168.xx.2 </server>
·ͱΊ • fluentdͱϑΝΠϧγεςϜΛͬͯ৴པੑͷߴ͍େن ΩϡʔγεςϜΛߏஙͨ͠ • ϑΝΠϧʹγʔέϯγϟϧʹॻ͖ࠐΉ • 2Ҏ্ී௨ʹಈ͍͍ͯͯɺಉ͡Ͱ·ͩ·ͩϩάΛ ૹͬͯͳͦ͞͏ •
ϑΝΠϧ͕͍ͬͯΔ҆৺ײ