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.9k
非同期ジョブと仲良くする
Cookpad Tech Kitchen #8 〜舞台裏を支える黒衣たち〜
https://cookpad.connpass.com/event/57029/
で発表した資料です。
KOBA789
June 08, 2017
Tweet
Share
More Decks by KOBA789
See All by KOBA789
直接メモリアクセス
koba789
0
460
人工衛星のファームウェアをRustで書く理由
koba789
16
9.7k
令和最新版手のひらコンピュータ
koba789
14
9.1k
時の流れが許せない
koba789
0
260
ついに生産が終わったけどZ80でまだまだ遊びたい
koba789
5
4.7k
ISUCONの練習を楽しくたくさんやる方法
koba789
2
1.5k
Z80をRustで動かすまで年が越せない
koba789
0
390
ISUCON練習環境を最も簡単に用意する方法
koba789
2
3.3k
音をアレする
koba789
0
1.1k
Other Decks in Technology
See All in Technology
20260305_【白金鉱業】分析者が地理情報を武器にするための軽量なアドホック分析環境
yucho147
1
190
Introduction to Sansan Meishi Maker Development Engineer
sansan33
PRO
0
370
「ヒットする」+「近い」を同時にかなえるスマートサジェストの作り方.pdf
nakasho
0
140
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
3k
us-east-1 に障害が起きた時に、 ap-northeast-1 にどんな影響があるか 説明できるようになろう!
miu_crescent
PRO
12
3.7k
チームメンバー迷わないIaC設計
hayama17
5
4k
Introduction to Sansan for Engineers / エンジニア向け会社紹介
sansan33
PRO
6
72k
Kiro のクレジットを使い切る!
otanikohei2023
0
120
AWS SES VDMで 将来の配信事故を防げた話
moyashi
0
110
Databricksアシスタントが自分で考えて動く時代に! エージェントモード体験もくもく会
taka_aki
0
340
類似画像検索モデルの開発ノウハウ
lycorptech_jp
PRO
4
990
GitLab Duo Agent Platform + Local LLMサービングで幸せになりたい
jyoshise
0
170
Featured
See All Featured
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
1
3.5k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
How to Think Like a Performance Engineer
csswizardry
28
2.5k
BBQ
matthewcrist
89
10k
How to build a perfect <img>
jonoalderson
1
5.2k
Kristin Tynski - Automating Marketing Tasks With AI
techseoconnect
PRO
0
180
Visualization
eitanlees
150
17k
Java REST API Framework Comparison - PWX 2021
mraible
34
9.2k
We Have a Design System, Now What?
morganepeng
55
8k
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
250
Build your cross-platform service in a week with App Engine
jlugia
234
18k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
430
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の 非同期ジョブ基盤は インフラに統合されている