

AWSのDynamoDBやElasticsearchなどHTTP経由でアクセスする際のレスポンスタイムに関して質問です。  
DynamoDBやElasticsearchでいくら処理が早くても、アプリケーション（たとえばRails）でそれらのデータベースにアクセスする際にHTTP経由でアクセスするため、そのぶん100msくらいは余計にかかっちゃう気がします。

これはしかたがない事なのでしょうか？なんでこういう仕様になってるのでしょうか。  
MySQLみたいにアクセスできれば、HTTPリクエストのレスポンスタイムをカットできるのでもっと速くなるのに、なんでHTTP経由なんだろうなと疑問に思ってまして。

宜しくお願いします。


CC BY-SA 3.0
2018-01-19T03:46:40.840
41079
2019-07-02T02:33:38.793
2018-07-07T18:46:01.480
754
25065
question
aws elasticsearch
AWSのDynamoDBやElasticsearchなどHTTP経由でアクセスする際のレスポンスタイム


> これはしかたがない事なのでしょうか？なんでこういう仕様になってるのでしょうか。

モバイルアプリやクライアントサイドのアプリケーション(SPAなど)から、インターネット経由で直接利用することを想定したサービスであるため、HTTP経由となっているのだと思います。

インターネット経由だと途中のプロキシやファイアウォールなどがあるため、ブロックされることないHTTPが採用されるのだと思います。

Webサーバーのバックエンドとして利用することを想定したサービスであれば、選択できる通信プロトコルに自由度があるため、レスポンスタイムなどを重視し、ソケット通信などが採用されると思います。


CC BY-SA 4.0
2018-07-07T19:30:04.727
45399
2018-07-07T19:30:04.727
41079
answer


> なんでこういう仕様になってるのでしょうか。

Elasticsearch などの製品が RESTを採用したから その制約で 通信プロトコルは HTTP となったと思います。

例えば Mysqlのように接続すると セッション等の状態管理を行う必要があり REST ではなくなってしまいます。

なぜ REST を採用するのか？ は 一般論になりますが、RESTfulなシステムにすることで 拡張性をやシンプルな使いやすさ を実現したかったから
なのかなと 思います。


CC BY-SA 4.0
2019-07-02T02:33:38.793
56309
2019-07-02T02:33:38.793
5008
41079
answer