BT

InfoQ ホームページ ニュース GoogleがタスクキューサービスのCloud Tasksを発表

GoogleがタスクキューサービスのCloud Tasksを発表

ブックマーク

原文(投稿日:2018/10/03)へのリンク

Googleは、Google Cloud PlatformのApp Engineサービス用のタスクキューサービスであるCloud Tasksを発表した。アプリケーションからのタスクの非同期実行、サービスのデカップリング、長期実行型のバックグラウンドアクティビティ実装のサポートを実現する。

Google Cloud Tasksを使うことで、アプリケーション開発者が定義した作業単位であるタスクを分散キューに配置し、ワーカサービスにプッシュすることが可能になる。タスクキューの概念は、AWSのSQSやAzureのService Busなど、すべての大規模クラウドプロバイダによって提供されている、実績のあるものだ。実際にCloud Tasksは、同じ概念を提供するGoogleのTask Queueサービスを進化させたものである。今回の発表で、Google Cloud PlatformプロダクトマネージャのMorgan Hallmon氏は、既存のタスクキューと新しいタスクキューの管理はすべてCloud Taskの下で統合される、と説明している。

長年にわたって、App Engineのユーザは、タスクの非同期実行を可能にするApp EngineサービスとしてTask Queueを利用してきました。今回のリリースによって、タスクキューの管理はすべて、Cloud Tasksのコンソールとコマンドライン、APIに集中化されます。

タスクキューの使用には、システムの疎結合化、バックグラウンドサービスへの作業のオフロード、システム間で受け渡されるタスクストレージの提供による信頼性向上など、複数のメリットがある。

出典: https://en.wikipedia.org/wiki/Scheduling_(computing)#task_queue

初見では、Googleの別のキューサービスであるPub/Subと大きくオーバーラップしているように見えるかも知れないが、While similarities are noticeable, the use cases between the two do certainly differ. 類似点はあるものの、ゆーすGoogleはPub/Subをビッグデータやネットワークオペレーションに重点を置いたサービスとして位置づけているため、高いスループットを提供する一方で、コンテンツやターゲットアプリケーションには関心を払っていない。それに対して、Cloud Tasksは実行管理サービスであり、明示的なコマンドが多数用意されており、それらを専用のバックグラウンドワーカが処理する。

さらに、Google Cloud Platformに限定されているTask Queuesに対して、Cloud TasksはGCPサービス全体を対象として統合されている。Cloud Tasksに関する資料には、一般的なユースケースとして、ユーザエクスペリエンスのスピードアップ、インシデント時の耐久性向上、トラフィック急増時の緩和などが挙げられている。

  • データベース更新など時間を要する可能性のあるタスクをワーカに委託することによる、ユーザ応答時間の短縮
  • 予期しない運用インシデント発生時のリクエストの保存
  • 非ユーザ対応タスクをメインのユーザフローから削除することによる、トラフィックスパイクの円滑化支援

Cloud Tasksはマネージドサービスであり、プロビジョニングやリソース管理は自身で行うため、開発者はタスクの開発や操作に専念することができる。さらに課金は、実際の実行時間のみに基づいて行われる。JavaやNode.js、PHP、Goといった一般的な言語用に、Googleからクライアントライブラリが提供される他、REST APIを通じてタスクをエンキューすることも可能なので、任意のアプリケーションからタスクを追加することができる。

出典: https://cloud.google.com/blog/products/application-development/announcing-cloud-tasks-a-task-queue-service-for-app-engine-flex-and-second-generation-runtimes

Cloud Tasksを利用するには、いくつかの手順を実行する必要がある。まず最初に、タスクキューを生成する。キューが作成されれば、タスクを公開するアプリケーションがタスクをキューにプッシュすると、メッセージが格納されてOKが返される。その後、Cloud Tasksサービスがそのタスクをバックグラウンドワーカアプリケーションに送信し、それが実行される。タスク処理が終了すると、ワーカは、200~299のHTTPステータスコードとしてOKをキューに返送し、タスクが削除される。また、ワーカが所定の時間内に処理を終了しない場合には、Cloud Tasksが自動的にタスクを再送信し、再試行と最低1回のデリバリを実行する。

 
 

この記事を評価

採用ステージ
スタイル
 
 

この記事に星をつける

おすすめ度
スタイル

特集コンテンツ一覧

RESTlessnessに打ち勝つ

Matt McLarty 2019年3月13日 午前7時39分

.NET CLIクイックツアー

Jeremy Miller 2019年2月18日 午前1時55分

.NET CoreとDevOps

Dave Swersky 2019年2月6日 午後11時46分

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

BT

あなたのプロファイルは最新ですか?プロフィールを確認してアップデートしてください。

Eメールを変更すると確認のメールが配信されます。

会社名:
役職:
組織規模:
国:
都道府県:
新しいメールアドレスに確認用のメールを送信します。このポップアップ画面は自動的に閉じられます。