常日頃から「世の中には難しいことが多い!」と感じる私が、様々な用語を、「誰にでも」「なんとなーく」理解できるように全力で解説します!
解説する用語
Google Cloudのサービスである、Cloud Pub/Subについて解説します。
前提となる知識
・アプリケーションの仕組みがなんとなく分かる人
・クラウドがなんとなく分かる人
公式ドキュメント抜粋
以下、公式ドキュメントからの引用文です。詳細が記載されているためぜひ確認してみてください。
Pub/Sub は、メッセージを生成するサービスを、それらのメッセージを処理するサービスと切り離す、非同期のスケーラブルなメッセージング サービスです。
https://cloud.google.com/pubsub/docs/overview?hl=ja
Pub/Subとは
Google Cloudが提供する「メッセージを送信する側」と「メッセージを受け取る側」を分離するサービスのことです。
具体的に説明するよ
ここでは、「どのようなデータなのかを判断するためにタグ的なものを付けたデータ」をメッセージと呼びます。
アプリケーションには「メッセージを送信する側」と「メッセージを受け取る側」がいます。その2つを以下のように呼びます。
メッセージを送信する側:パブリッシャー(Publisher)
メッセージを受け取る側:サブスクライバー(Subscriber)
「メッセージを送信する側」と「メッセージを受け取る側」が各々で勝手にやり取りをしていたら、複雑でやばいことになります。
これを避けるために生まれたのがメッセージングサービスです。
メッセージングサービスを使用することで、「メッセージを送信する側」と「メッセージを受け取る側」を分離し、メッセージ送受信の構造をシンプルにすることが出来ます。
このメッセージングサービスをGoogle Cloudが提供するよ、というのがPub/Subになります。
Google Cloudが提供しているため、他のGoogleのサービスと組み合わせるのが簡単です。
もっと詳しく説明するよ
パブリッシャー(Publisher)が送信したメッセージはトピックという送信先に送信されます。
トピックに送信先の設定を行うことで、メッセージを送信したいサブスクライバーへ送ります。この「送信先の設定」のことを、サブスクリプション(Subscription)と呼びます。
メッセージを消したくない場合は、メッセージをストレージへ保管することも可能です。
サブスクライバーが「正常に受信したよ」とPub/Subへシグナルを出します。これによってサブスクリプションのメッセージキュー(一時的にメッセージを保管している場所)から削除されます。このシグナルのことを確認応答(ask)と呼びます。
もっとかんたんに説明するよ
メッセージングサービスとは、郵便屋さんです。
私たちが手紙を出す際に、個人で直接届けていたらめんどうですし、交通量がえげつないことになります。
一旦、郵便屋さんに預けることで、郵便屋さんが仕分けをして届けてくれます。
この郵便屋さん派遣サービスがPub/Subになります。
「一つのところに預けて振り分ける」という仕組みは様々な所に応用されているため、とても画期的な仕組みであることが分かりますね。
まとめ
Cloud Pub/Subとは、Google Cloudが提供するメッセージングサービスのことです。
コメント