2019/07/26 KCL v2周りの話
KCLv2の話
- 移行はこの辺読んで。Kinesis Client Library 1.x から 2.x への移行 - Amazon Kinesis Data Streams
- localstackではKinesis Client Library v2はテスト出来ない
- 内部で使っているkinesaliteでは、新しいAPIがサポートされていない
- Kinesis Client Library v2 · Issue #75 · mhart/kinesalite · GitHub
- DynamoDBのbilling modeをpay per requestにする手段は現状ない。
- 以下のissueでは、TableCreatorCallbackが紹介されているが、DynamoDBのテーブルは作った後、すぐにはbillingModeを変えられない。
- Support for create table requests to allow for BillingMode to be PAY_PER_REQUEST · Issue #489 · awslabs/amazon-kinesis-client · GitHub
aws sdk for java v2の話
- 移行はこの辺読む。AWS SDK for Java 2.x 移行ガイドとは - AWS SDK for Java 移行ガイド
- デフォルトではHTTPクライアントとしてnettyを使う模様
- ServiceLoader経由で切り替えられるようになっている模様
- nettyのunstable APIに依存していて互換性エラーが出ることがある
- 現状メトリクス周りの実装は存在しない
- Netflixでは spectatorにinterceptorを用意しているっぽい?
- IPC integration for AWS SDK v2 by brharrington · Pull Request #689 · Netflix/spectator · GitHub
- aws sdk for java v2 は、ServiceLoader経由で interceptorを指定出来るっぽい。便利。
- HTTPクライアントで使われるスレッドプールは以下の感じになっていた sdk-core:2.5.10
スレッドプールがmax: 50
ThreadPoolExecutor executor = new ThreadPoolExecutor(50, 50, 10, TimeUnit.SECONDS, new LinkedBlockingQueue<>(10_000), new ThreadFactoryBuilder() .threadNamePrefix("sdk-async-response").build()); // Allow idle core threads to time out executor.allowCoreThreadTimeOut(true); return executor;