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
9
5.1k
fluentdによる大規模キュー設計
「Fluentd Meetup 2015 夏」で発表した内容です。
Atsushi Takayama
June 01, 2015
Tweet
Share
More Decks by Atsushi Takayama
See All by Atsushi Takayama
最高の開発者体験の追求が開発生産性を改善し続ける文化を生み出した話
edvakf
3
1.2k
NeurIPS 2021 論文読み会: How Modular should Neural Module Networks Be for Systematic Generalization?
edvakf
0
160
8年物のJavaのシステムをKotlinに変えていく選択に至るまで
edvakf
2
1k
ピクシブ社内のImageFlux利用事例紹介
edvakf
1
2.8k
学びの文化を育む社内読書会のススメ
edvakf
0
260
フルCDNアーキテクチャでサービス設計した話
edvakf
5
3.9k
Goでバイナリを読む+α
edvakf
1
940
お前はこれまでに作ったAPIの数を覚えているのか?
edvakf
0
2.5k
「ふつうのRailsアプリケーション」についての考え方
edvakf
2
830
Other Decks in Technology
See All in Technology
Oracle Base Database Service 技術詳細
oracle4engineer
PRO
8
64k
CARTA HOLDINGS エンジニア向け 採用ピッチ資料 / CARTA-GUIDE-for-Engineers
carta_engineering
0
27k
newmo の創業を支える Software Architecture と Platform Engineering
110y
5
550
LLM アプリケーションのためのクラウドセキュリティ - CSPM の実装ポイント-
osakatechlab
0
440
木を見て森も見る-モジュールが織りなすプロダクトの森
kworkdev
PRO
0
220
4月15日の AZ 障害をテクサポの中の人目線で振り返ってみる
kazzpapa3
1
110
MagicPodが描くAIエージェント戦略とソフトウェアテストの未来
magicpod
0
250
Sleep-time Compute: LLM推論コスト削減のための事前推論
sergicalsix
1
140
250510 StepFunctionのテスト自動化始めました vol.1
east_takumi
1
240
問 1:以下のコンパイラを証明せよ(予告編) #kernelvm / Kernel VM Study Kansai 11th
ytaka23
3
590
既存の開発資産を活かしながら、 《新規開発コスト抑制》と《開発体験向上》 を両立する拡張アーキテクチャ事例
kubell_hr
0
240
地に足の付いた現実的な技術選定から魔力のある体験を得る『AIレシート読み取り機能』のケーススタディ / From Grounded Tech Choices to Magical UX: A Case Study of AI Receipt Scanning
moznion
5
1.7k
Featured
See All Featured
We Have a Design System, Now What?
morganepeng
52
7.6k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
45
9.5k
GraphQLの誤解/rethinking-graphql
sonatard
71
11k
Speed Design
sergeychernyshev
29
940
Intergalactic Javascript Robots from Outer Space
tanoku
271
27k
Making Projects Easy
brettharned
116
6.2k
Side Projects
sachag
453
42k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Fireside Chat
paigeccino
37
3.4k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.8k
Done Done
chrislema
184
16k
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Ҏ্ී௨ʹಈ͍͍ͯͯɺಉ͡Ͱ·ͩ·ͩϩάΛ ૹͬͯͳͦ͞͏ •
ϑΝΠϧ͕͍ͬͯΔ҆৺ײ