Closed11
Cloud Tasksって何ができるのかを調べる
とりあえずドキュメント読むぞ
Cloud Tasks は、大量の分散タスクの実行、ディスパッチ、配信を管理できるフルマネージド サービスです。Cloud Tasks を使用すると、ユーザー リクエストまたはサービス間リクエストの外部で作業を非同期に行うことができます。
Pub/Subライクな何かなんだと思っているが、何が違うのだろうか。スケジューリングとかできるっぽいが。
まさになページあるやん!読む
もうこの表が語ってくれてるやん!
個人的メリット
- 配信時間をスケジュールできること
- 今までCron Jobで処理対象のデータを探していたが、いつやるかはっきりしているものはCloud Tasks使って予約しておける
- 再試行の回数とかタイミングとかを制御できる
- タスク作成の重複を排除できる
- Cloud Tasksキューにタスクを詰めるのはFunctionsからに成ることが多そうで、FunctionsはTriggerによる起動だと複数回起動することがあるので、タスクの重複をCloud Tasksで排除してくれるのはありがたい
気をつけないといけないところ
- ボクが使うならHTTPでFunctionsをハンドラとして設定するが、タスクを詰めすぎるとDosみたいなレベルで起動してしまう
- D社にいたときにPub/Subを使ったとき、pushで配信すると自サーバーにDos攻撃しているみたいな感じになってしまった ので、pull型にしてサブスクライバーを用意して500件ずつ取ってきて処理するみたいな感じにしつつMessage数が多くなると、サブスクライバーを水平スケールさせて対応させてたことを思い出した
- メッセージのサイズが100KBである
- まあこれはFirestoreに入るデータがそもそも1MBなので大抵は大丈夫そうだし、FirestoreのDocPathとかをタスクとして詰めそうなので大抵は問題なさそう
よくわからなかったところ
- 最大配信レートの単位の QPS のQってなに…?
- スケジュールできる未来の時刻の上限はいつなのか
QPS = queries per secondかもしれない!しかしCloud Taskの配信におけるQueryってなんだ…?1秒間に500タスクしか配信できないよってことか?たぶんそうだろうきっとそう
スケジュールできる未来の時刻の上限はいつなのか
30日以内っぽいな。メッセージの保持期間が30日だし。これは気をつけないといけない。
チュートリアルはこれがわかりやすい。調査終了〜便利なので使っていきたい。
このスクラップは2021/01/20にクローズされました