Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Why async AWS Java SDK is using a thread pool?

It's 2016 already and Java AWS SDK doesn't have truly non blocking API, which avoids thread pools (I mean thread per api request scheme)! But why? What if I want to create a massive messaging app or finally Pokemon Go killer based on DynamoDB, I will need to scale to hundreds of rest api VM's instead of just tens in case of non-blocking IO for the same load (millions requests per second). Also what is the benefit for me to use something very powerful like Akka or Vert.x if essential part of storage apis use thread per request?

like image 262
Kivan Avatar asked Jul 19 '16 08:07

Kivan


1 Answers

AWS finally released v2.0 java SDK with "truly asynchronous" method calls. You can refer to their docs for more information: https://docs.aws.amazon.com/sdk-for-java/v2/migration-guide/whats-new.html

Keep in mind, however, that not all features of SDK v1.x were implemented in v2.0 for now, the list of "Features not yet in the AWS SDK for Java 2.0" could be found here: https://docs.aws.amazon.com/sdk-for-java/v2/developer-guide/welcome.html

like image 133
Kivan Avatar answered Oct 16 '22 17:10

Kivan