All Projects → reactiverse → Aws Sdk

reactiverse / Aws Sdk

Licence: apache-2.0
Using vertx-client for AWS SDK v2

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Aws Sdk

Vertx Sql Client
High performance reactive SQL Client written in Java
Stars: ✭ 690 (+1715.79%)
Mutual labels:  reactive, non-blocking, vertx, scalability, performance, netty
Vert.x
Vert.x is a tool-kit for building reactive applications on the JVM
Stars: ✭ 12,544 (+32910.53%)
Mutual labels:  reactive, non-blocking, vertx, netty
Advanced Vertx Guide
A gentle guide for advanced Vert.x users
Stars: ✭ 118 (+210.53%)
Mutual labels:  reactive, vertx, netty
vertx-tracing
Vertx integration with tracing libraries
Stars: ✭ 21 (-44.74%)
Mutual labels:  reactive, vertx, non-blocking
Vertx In Action
Examples for the Manning "Vert.x in Action" book
Stars: ✭ 134 (+252.63%)
Mutual labels:  reactive, vertx, scalability
vertx-mongo-client
Mongo Client for Eclipse Vert.x
Stars: ✭ 54 (+42.11%)
Mutual labels:  reactive, vertx, non-blocking
Vertx Zero
Zero Framework:http://www.vertxup.cn
Stars: ✭ 320 (+742.11%)
Mutual labels:  vertx, netty
Atmosphere
Realtime Client Server Framework for the JVM, supporting WebSockets with Cross-Browser Fallbacks
Stars: ✭ 3,552 (+9247.37%)
Mutual labels:  vertx, netty
Orleans
Orleans is a cross-platform framework for building distributed applications with .NET
Stars: ✭ 8,131 (+21297.37%)
Mutual labels:  reactive, scalability
Vertx Guide For Java Devs
Vert.x 3 guide for Java developers
Stars: ✭ 500 (+1215.79%)
Mutual labels:  reactive, vertx
demo-vertx-kotlin-rxjava2-kubernetes
Demonstration of Eclipse Vert.x, Kotlin, RxJava2 and Kubernetes
Stars: ✭ 23 (-39.47%)
Mutual labels:  reactive, vertx
R2dbc Mysql
R2DBC MySQL Implementation
Stars: ✭ 417 (+997.37%)
Mutual labels:  reactive, non-blocking
Reactivemanifesto
The Reactive Manifesto
Stars: ✭ 542 (+1326.32%)
Mutual labels:  reactive, scalability
Vertx Jooq
A jOOQ-CodeGenerator to create vertx-ified DAOs and POJOs.
Stars: ✭ 299 (+686.84%)
Mutual labels:  reactive, vertx
Vertx Examples
Vert.x examples
Stars: ✭ 3,202 (+8326.32%)
Mutual labels:  reactive, vertx
Cloudi
A Cloud at the lowest level!
Stars: ✭ 352 (+826.32%)
Mutual labels:  reactive, scalability
Cloud Design Patterns
Prescriptive Architecture Guidance for Cloud Applications
Stars: ✭ 484 (+1173.68%)
Mutual labels:  scalability, performance
Servicetalk
A networking framework that evolves with your application
Stars: ✭ 656 (+1626.32%)
Mutual labels:  reactive, netty
Solid
A declarative, efficient, and flexible JavaScript library for building user interfaces.
Stars: ✭ 13,115 (+34413.16%)
Mutual labels:  reactive, performance
Kvision
Object oriented web framework for Kotlin/JS
Stars: ✭ 658 (+1631.58%)
Mutual labels:  reactive, vertx

Use AWS SDK v2 with Vert.x

Build Status

This project provides a VertxNioAsyncHttpClient and a VertxExecutor so that you can use AWS SDK v2 in a Vert.x context.

Coordinates

Artifacts are published here

Version compatibility matrix

Project Vert.x AWS sdk
1.0.0 4.0.0 2.15.45
0.7.0 3.9.4 2.15.23
0.6.0 3.9.2 2.14.7
0.5.1 3.9.2 2.13.6
0.5.0 3.9.0 2.12.0
0.4.0 3.8.3 2.10.16
0.3.0 3.8.1 2.7.8

Documentation

See this page

Motivations

AWS SDK v1 => blocking IOs

As you know, Vert.x uses non-blocking IO. This means, among other stuff, that you should never ever block the event-loop. AWS SDK v1 implementation relies on blocking IOs. This means you cannot use it together with Vert.x in a straightforward way. You would end up blocking the event-loop, hence killing your application's scalability. The only option would be to wrap your synchronous calls to AWS SDK v1 within executeBlocking or use a worker thread.

Even though some methods of the AWS SDK are indicated as "async" (DynamoAsyncClient for instance), it internally uses a thread pool whose size is configurable. Those threads can be a bottleneck in your application

You cannot really use AWS SDK v1 together with Vert.x in a non-blocking scalable way.

Embrace AWS SDK v2

Since 2018, AWS has published the version 2 of its SDK, embracing non-blocking IO model.

Now you can use V2 together with Vert.x using this project.

  • using Vert.x's HTTP client
  • CompletableFuture<?>'s are executed in the same Vert.x context that the one that made the request

Contributing

Tests placed under the io.vertx.ext.awssdk.integration package are using localstack: a huge set of utilities (docker images) emulating AWS Services (DynamoDB, Kinesis, S3, etc.).

In order to do so, they require a local docker daemon running on the machine.

They will download docker images from the docker hub, run the appropriate service as a docker container, then test the code against this local docker container.

They'll only be executed if the system property tests.integration is set to localstack. They'll be ignored otherwise.

Documentation

Documentation is docs/README.md and visible at https://github.com/reactiverse/aws-sdk/tree/master/docs or https://reactiverse.io/aws-sdk/

Javadoc can be produced (with Java 11 otherwise it does not link Vert.x API docs)

> ./gradlew javadocToDocsFolder

This will update the docs/javadoc with latest javadocs

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].