aws / aws/aws-sdk-java-v2

AWS Java 2.x SDK (sync vs async) Client Documentation

オープン
#4,698 コメント 2 件 リアクション 0 件 担当者 0 名 GitHub で見る
documentation p2
主要言語
Java
スター
2.6k
フォーク
1k
平均マージ
2日 9時間
マージ済み PR(30日)
51

説明

### Describe the issue

The documenation [here](https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/http-configuration.html) seems very confusing.

The AWS Java 2.x SDK offers many different http client alternatives. Two of which are the:

- Apache-based sync HTTP client
- AWS CRT-based async HTTP client

To help me understand the difference between the Sync and Async, I was trying to understand the differences described in the AWS documentation, as linked above.

When browsing their recommendations as to which to use, I found the following very peculiar:

> The Apache-based sync HTTP client is recommended for "low latency over high throughput", while the AWS CRT-based async HTTP client is recommended for "high throughput over low latency".

How on earth could the Apache-based sync HTTP client have a lower latency than one of the Async HTTP clients? I would expect the latency to be based on network latency and for that it's completely irrelevant which client (whether sync or async) you use.

Also, how could an Async client have a higher throughput than a sync HTTP client, that also doesn't make sense to me? I would expect the opposite because the sync client will busy wait until the response is available, while the async will go run off do something else in the meantime, and therefore might not be ready to handle the response right when it arrives.

I've also asked this [on stackoverflow](https://stackoverflow.com/questions/77280280/understanding-aws-sdk-java-2-x-async-vs-sync-http-clients), and I haven't any responses to my question yet.

### Links

https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/http-configuration.html

コントリビューションガイド

コントリビューションガイドを開く

調査の方向性

リンク先の AWS SDK Java HTTP 設定ページから始め、Apache ベースの同期クライアントと AWS CRT ベースの非同期クライアントに関する文言を確認します。レイテンシーとスループットに関する推奨事項を issue の質問と比較します。ドキュメントがそれらの推奨事項の意味と、クライアントの選択が異なる理由を明確に説明できれば、作業は完了です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
aws, java
領域
documentation
issue の種類
ドキュメント
難易度
4/5
見積もり時間
3〜5日
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
30/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。