行ってきた。
MoneyTree
https://moneytree.jp/ のなかのひとのお話
- JPとAUで400万人が利用
- Heroku と AWSを使って動いているよ
Heroku Enterprise使ってるよ
32apps
- 667dynos
- マイクロサービス
- python ruby いろいろ
NewRelicのApplicationがまとまってて、これどうやったら実現できるのかなと考えてた。(NewRelicは別契約?)
http://postgres.sios.com/modules/newbb/viewtopic.php?forum=1&topic_id=149&post_id=150 PgBouncerというコネクションプーリングを実現できるくんがいるよ
Heroku Platform APIを使ってみた
テラスカイなかのひと
- SalesforceとLINEをつなぐコールセンターの運用
- Heroku Platforma APIってなに
- Herokuの設定の自動化とかできるよ
- アカウントアドオンアプリケーションパイプラインプライベートスペース
- Terraformはこれを叩いてるのかなと考えてた。
- https://devcenter.heroku.com/articles/platform-api-reference
- 一覧系の上限は200件、続きはリクエストが必要
EC Boosterのバッチ処理の話
Dynoの再起動とは
- 新しいDynoが起動する
- ローカルファイルシステムは破棄される。
再起動するときに何が起きるか
- DynoにSIGTERMがとぶ
- 30秒以内に落ちないときSIGKILLを飛ばす
デプロイするとなにがおきるか
- SidekiqはSIGTERMを受け取る
- 実行中のジョブはキュー(redis)に保存される
- デプロイ後、キューから取り出して再実行
どうした?
WorkerDynoのsidekiqがOne-Off Dynoを作ってバッチ処理をお個合うRails runnerを実行する
dyno.createでdyno作れるのーーー
よかったところ Dynoの寿命を自動でコントロールできた
100Dynoまで同時起動できる
$1.6ですんだ
リトライが大変だった。単純にリトライを書くとworker Dynoで動いちゃうので、再度Dyno Createを行う必要がある。