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
非同期ジョブと仲良くする
Search
KOBA789
June 08, 2017
Technology
4
1.7k
非同期ジョブと仲良くする
Cookpad Tech Kitchen #8 〜舞台裏を支える黒衣たち〜
https://cookpad.connpass.com/event/57029/
で発表した資料です。
KOBA789
June 08, 2017
Tweet
Share
More Decks by KOBA789
See All by KOBA789
ついに生産が終わったけどZ80でまだまだ遊びたい
koba789
5
4k
ISUCONの練習を楽しくたくさんやる方法
koba789
2
860
Z80をRustで動かすまで年が越せない
koba789
0
170
ISUCON練習環境を最も簡単に用意する方法
koba789
2
3.1k
音をアレする
koba789
0
830
メガネとBluetooth Low Energyでお喋りする
koba789
0
1.5k
Rustでon-diskなB+Treeを作ったときの細かな話
koba789
11
1.8k
音の出るCPUを作っている途中
koba789
5
4.6k
自宅サーバーでbottlerocketを動かしてk8sクラスタを組む
koba789
1
1.2k
Other Decks in Technology
See All in Technology
利用終了したドメイン名の最強終活〜観測環境を育てて、分析・供養している件〜 / The Ultimate End-of-Life Preparation for Discontinued Domain Names
nttcom
2
190
RSNA2024振り返り
nanachi
0
580
『衛星データ利用の方々にとって近いようで触れる機会のなさそうな小話 ~ 衛星搭載ソフトウェアと衛星運用ソフトウェア (実物) を動かしながらわいわいする編 ~』 @日本衛星データコミニティ勉強会
meltingrabbit
0
140
ビジネスモデリング道場 目的と背景
masuda220
PRO
9
520
一度 Expo の採用を断念したけど、 再度 Expo の導入を検討している話
ichiki1023
1
170
表現を育てる
kiyou77
1
210
白金鉱業Meetup Vol.17_あるデータサイエンティストのデータマネジメントとの向き合い方
brainpadpr
5
740
Classmethod AI Talks(CATs) #17 司会進行スライド(2025.02.19) / classmethod-ai-talks-aka-cats_moderator-slides_vol17_2025-02-19
shinyaa31
0
120
2025-02-21 ゆるSRE勉強会 Enhancing SRE Using AI
yoshiiryo1
1
320
エンジニアのためのドキュメント力基礎講座〜構造化思考から始めよう〜(2025/02/15jbug広島#15発表資料)
yasuoyasuo
17
6.7k
The Future of SEO: The Impact of AI on Search
badams
0
190
Larkご案内資料
customercloud
PRO
0
650
Featured
See All Featured
Practical Tips for Bootstrapping Information Extraction Pipelines
honnibal
PRO
12
960
[RailsConf 2023] Rails as a piece of cake
palkan
53
5.2k
Building Applications with DynamoDB
mza
93
6.2k
For a Future-Friendly Web
brad_frost
176
9.5k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
4
410
Designing for Performance
lara
604
68k
Large-scale JavaScript Application Architecture
addyosmani
511
110k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
114
50k
Visualization
eitanlees
146
15k
Documentation Writing (for coders)
carmenintech
67
4.6k
The Art of Programming - Codeland 2020
erikaheidi
53
13k
Building Adaptive Systems
keathley
40
2.4k
Transcript
非同期ジョブと 仲良くする KOBA789 (Hidekazu Kobayashi) at Cookpad
KOBA789 インフラ部データ基盤グループ 2017新卒(大学やめて高卒) Node.jsの本を書いた思い出 分野を横断した仕事が好き
Q. ジョブキュー・ワーカー 何使ってますか
大正義 共有 FileSystem コード Web マスター ワーカー Sidekiqさん
Sidekiqさん 大正義 FileSystem コード Web Master Worker よさそうじゃん?
突然の
FileSystem コード Web マスター ワーカー FileSystem コード コンテナ 分けるならこう アプリケーション
ジョブキュー・ワーカー
コンテナ 分けるならこう アプリ キュー・ ワーカー
では増やしてみましょう
アプリ キュー・ ワーカー
アプリ 増やすならこう キュー・ ワーカー アプリ アプリ アプリ アプリ
キュー・ワーカーも 増やすならこう キュー・ ワーカー キュー・ ワーカー キュー・ ワーカー キュー・ ワーカー
アプリ アプリ アプリ アプリ
キュー・ワーカーも 増やすならこう キュー・ ワーカー キュー・ ワーカー キュー・ ワーカー キュー・ ワーカー
アプリ アプリ アプリ アプリ ちょっとまって
キュー・ ワーカー キュー・ ワーカー キュー・ ワーカー キュー・ ワーカー アプリ アプリ
アプリ アプリ スケール できなくない? Redis Clusterの 面倒を見たいか?
アプリ アプリ アプリ アプリ キュー・ ワーカー キュー・ ワーカー キュー・ ワーカー
キュー・ ワーカー マスター ワーカー FileSystem コード マスターがたくさん いるのは無駄では
アプリ アプリ アプリ アプリ キュー・ ワーカー キュー・ ワーカー キュー・ ワーカー
キュー・ ワーカー 必要な分だけ 起動してほしいのでは
キュー・ ワーカー キュー・ ワーカー キュー・ ワーカー キュー・ ワーカー アプリを変更したらキュー・ワーカーも イメージをリビルドしないといけない
アプリ アプリ アプリ アプリ
ということで
We introduce Barbeque
Barbeque Barbeque Hako ざっくり言うと Dockerコンテナの 管理ツール
アプリ Barbeque Barbeque アプリ Hako
アプリ Barbeque Barbeque アプリ Hako
アプリ Barbeque Barbeque アプリ Hako
アプリ Barbeque Barbeque アプリ Hako
アプリ Barbeque Barbeque アプリ ワーカー Hako
アプリ Barbeque Barbeque アプリ Hako ワーカー
アプリ Barbeque Barbeque アプリ ワーカー Hako
アプリ Barbeque Barbeque アプリ ワーカー Hako ワーカー
アプリ アプリ Hako ワーカー ワーカー Barbeque Barbeque マスターとワーカーは 別々に増やせる 必要な分だけ
起動している
アプリ Barbeque Barbeque アプリ ワーカー Hako ワーカー 運用はAWSにおまかせ スケールもしてくれる
Barbeque Barbeque Hako アプリ アプリ ワーカー ワーカー これらのコンテナは 同じイメージから起動している 起動時のコマンドライン引数が違うだけ
unicorn vs. rake barbeque:execute
アプリ Barbeque Barbeque アプリ Hako ワーカー ワーカー デプロイも楽になって 最高ですね?
Railsでの使い方
HFNCBSCFRVF@DMJFOU Gemfile
#BSCFRVF$MJFOUDPOGJHVSFEP]DPOGJH] DPOGJHBQQMJDBUJPOBXFTPNF@BQQ DPOGJHEFGBVMU@RVFVFEFGBVMU DPOGJHFOEQPJOUIUUQTCBSCFRVFFYBNQMFDPN FOE config/initializers/barbeque.rb
DMBTT4PNF+PC"QQMJDBUJPO+PC EFGQFSGPSN QBSBN QBSBN EPTPNFUIJOHBXFTPNF SFRVJSFTBMPOHUJNF FOE FOE app/jobs/some_job.rb
4PNF+PCQFSGPSN@MBUFS QBSBN QBSBN 適当なところで
ActiveJob準拠で 大変便利
その他の機能 • ローカルでのジョブ実行(開発用) • AWS SNS契機でのジョブ実行 • べんりなWeb UI
None
None
None
そろそろみなさん 使いたくなってきた
https://github.com/cookpad/barbeque
Hakoが あるからこそできる
Hakoの利点を 最大限に活用している
非同期ジョブ基盤は 単体ではない
Cookpadの 非同期ジョブ基盤は インフラに統合されている