2018.04.28この記事は約3分で読めます。kinesisサービス(2019/2/16追加)SQSとはSQSとは、AWSのMQ(メッセージキュー)サービス。そのAWSのSQSを試してみました。Service」の頭文字。2つのお仕事があり、前半のお仕事と後半のお仕事は人が違うとします。AさんからBさんにお仕事を引き継ぐとします。順調にいけば、Aさんが、Bさんに「Bさんお願い」とお仕事を頼みます。Bさんが忙しいしかし、Bさんが忙しい場合、Aさんは、Bさんのお仕事が終わるまで待つことになります。そこで、Bさんと同じ仕事をしているCさんに頼みます。Aさんは、BさんとCさんの忙しさをみて、どちらかに頼むことにします。Aさんは、Bさん、Cさん二人の進捗を見ることになります。効率よくやるために・・・この間に「中継所」を設けます。「お仕事依頼票」を置く場所です。Aさんは、「依頼票」を書いて、「中継所」に置きます。Bさん、Cさんは、「中継所」の「依頼票」をみて、仕事をします。Aさんは、Bさん、Cさんの仕事の進捗に関係なく、自分の仕事に集中できます。Bさん、Cさんも、自分のすべき仕事だけに専念ができます。この「中継所」が「キュー」と呼ばれるもので、AWSでは、「SQS」というサービスになります。SQSは、疎結合AさんとBさん、およびCさんは、直接関わらないので、「疎遠な関係」になります。専門的には、「疎結合」と言われてます。このように一連の処理の中継地点を設けて、全体を効率よくさせるのに「SQS」が役にたちます。最初にWEBのアクセスログを取得。その後、ゆっくりとアクセス解析。いう処理などに適用できます。先に、キューに出したのを、最初に処理する。Out」と呼ばれています。SQSでは、FIFOでも処理が可能です。依頼票は、JSON形式キューに保存するデータは、JSON形式で、サイズに制限があります。各種プログラムを介して、SDK経由でキューの発行や取得ができます。SQSは、何がいいの?RDBなどで、管理をすることも可能かと思いますが、キューの処理だけを考えると費用面、堅牢性、などを考えると大規模になればなるほど、AWSのSQSに任せた方がいいかと思います。SQSは、キューサービスを確実にこなしてくれる、謙虚であるが、頼もしい存在!ロングポーリング(2019/2/16追加)SQSに対して、受信の要求をすると、データがなく、空振りでも、料金が発生します。無駄な料金を削減するために、キューのタイムアウトを長くして、データを取得しやすいようにします。可視性タイムアウト(2019/2/16追加)キューを取得している間、他のキュー取得プログラムからは、タイムアウトとして、メッセージを見せないようにします。これにより、データの取得リクエストを減らし、コストを削減することができます。Service)データを暗号化/複合化する仕組みをAWSが提供しています。