Awesome Vert.x is a list of awesome frameworks, libraries or other components for use with or that use Vert.x version 3.
If you want your component to appear here send a pull request to this repository to add it.
Please note that we can't vouch for the stability or production-worthiness of everything on this list unless it has the icon next to it. This icon means the component is part of the official Vert.x stack.
For Vert.x version 2 check this page.
- Books
- Build tools
- Web Frameworks
- Authentication Authorisation
- Database Clients
- Integration
- Middleware
- Language Support
- Reactive
- Sync Thread Non Block
- Vert.x Event Bus Clients
- Cluster Managers
- Cloud Support
- Docker
- Microservices
- Search Engines
- Service Factory
- Config
- Dependency Injection
- Testing
- Development Tools
- Miscellaneous
- Distribution
- Examples
- Deployment
- Utilities
- Front-End
- A gentle guide to asynchronous programming with Eclipse Vert.x for Java developers by Julien Ponge, Thomas Segismont and Julien Viet
- Building Reactive Microservices in Java by Clément Escoffier
- Vert.x Web - Full featured web toolkit for Vert.x.
- Vert.x Jersey - Create JAX-RS Jersey resources in Vert.x.
- Kovert - Invisible REST framework for Kotlin + Vert.x Web.
- Handlers - Open web framework for Vert.x.
- QBit - REST and WebSocket method call marshaling and reactive library.
- vertx-rest-storage - Persistence for REST resources in the filesystem or a redis database.
- Jubilee - A rack compatible Ruby HTTP server built on Vert.x 3.
- Knot.x - Efficient & high-performance integration platform for modern websites built on Vert.x 3.
- Vert.x Jspare - Improving your Vert.x 3 experience with Jspare Framework.
- Irked - Annotations-based configuration for Vert.x 3 Web and controller framework.
- REST.VertX - Lightweight JAX-RS (RestEasy) like annotation processor for Vert.x verticals.
- Vert.x Auth JDBC - Vert.x authentication/authorisation JDBC based.
- Vert.x Auth JWT - Vert.x Authorisation based on JSON Web Tokens.
- Vert.x Auth Shiro - Vert.x AuthN/AuthZ based on Apache Shiro.
- Vert.x-Pac4j - Vert.x authentication/authorisation implemented using pac4j.
Clients for connecting to databases
-
Relational Databases
- JDBC - Asynchronous interface around a JDBC datasource.
- MySQL - Asynchronous client for MySQL.
- PostgreSQL - Asynchronous client for PostgreSQL.
- PostgreSQL - Reactive PostgreSQL Client.
- database - Client for Oracle, PostgreSQL, SQL Server, HyperSQL, etc. designed for security, correctness, and ease of use.
- jOOQ - Doing typesafe, asynchronous SQL and generate code using jOOQ.
-
NoSQL Databases
- MongoDB - An asynchronous client for interacting with a MongoDB database.
- Redis - Asynchronous API to interact with Redis.
- Cassandra - Asynchronous API to interact with Cassandra and Cassandra Mapping.
- OrientDB - Non-blocking OrientDB server integration.
- Bitsy - Non-blocking Bitsy Graph server integration.
- MarkLogic - Asynchronous client for Marklogic Database Server.
-
vertx-pojo-mapper - Non-blocking POJO mapping for MySQL and MongoDB.
-
vertx-mysql-binlog-client - A Vert.x client for tapping into MySQL replication stream.
-
Server-Sent Events
-
Mail
- SMTP - Async SMTP client.
- vertx-smtp-server - SMTP server bridging to EventBus.
-
REST
- Vertx REST Client - A REST client for vertx with support for RxJava and request caching.
- Retrofit adapter for Vert.x - A highly scalable adapter for Retrofit with Vert.x.
-
Messaging
- AMQP 1.0 - Interact with AMQP 1.0 servers using the Vert.x Producer and Consumer APIs.
- MQTT - Provides two different components : an MQTT server for handling all the MQTT communication and messages exchanges with clients and an MQTT client for sending and receiving messages against an MQTT broker.
- RabbitMQ - A RabbitMQ client (AMQP 0.9.1).
- kafka - Kafka client for consuming and producing messages.
- Kafka Service - Kafka producer and consumer with retry logic.
- [SaltStack] (https://github.com/cinterloper/vertx-salt) - A bi-directional bridge between the SaltStack event system and the Vert.x event bus.
- ZeroMQ - ZeroMQ Event Bus bridge.
- MQTT Broker - MQTT Broker (MQTT ver. 3.1.1 and 3.1 compliant).
- Azure ServiceBus - Azure ServiceBus producer and consumer (fully async, doesn't use Microsoft Azure SDK).
- AMQP 1.0 - Kafka bridge - Bridge for sending/receiving messages to/from Apache Kafka using the AMQP 1.0 protocol.
- Vertx Kafka Client - Apache Kafka client for reading and sending messages from/to an Apache Kafka cluster.
-
JavaEE
- JCA adaptor - Java Connector Architecture Adaptor for the Vert.x event bus.
- Weld - Brings the CDI programming model into the Vert.x ecosystem (register CDI observer methods as Vert.x message consumers, CDI-powered Verticles, define routes in a declarative way, etc.).
-
Meteor
- Meteor - Meteor integration support through Vert.x event bus.
-
Metrics
- Hawkular metrics - Hawkular implementation of the Vert.x Metrics SPI.
- DropWizard metrics - Metrics implementation using DropWizard metrics.
- OpenTsDb Metrics - OpenTsDb metrics client for Vert.x.
- Bosun Monitoring - Bosun client library for Vert.x.
-
Netflix - Hystrix
- Hystrix Metrics Stream - Emits metrics for Hystrix Dashboard from a Vertx application with Hystrix.
-
Dart
- Vert.x Dart SockJS - Dart integration for Vert.x SockJS bridge and plain SockJS with use of dart:js.
-
Push Notifications
- Apache Camel - Apache Camel component for bridging Camel with the Vert.x event bus.
- Gateleen - Middleware library based on Vert.x to build advanced JSON/REST communication servers
- Gravitee.io - An OSS API Platform including API Gateway based on Vert.x core and other modules.
Programming language support for Vert.x
- Ceylon - Ceylon support.
- Groovy - Groovy support.
- Java - Vert.x main repository (including the Java API).
- JavaScript - JavaScript support.
- Python - Python support.
- Ruby - Ruby support.
- Scala - - Scala support.
- Kotlin - - Kotlin support.
- TypeScript - TypeScript support.
Language extensions
- Grooveex - Syntactic sugar + utilities (DSL builders, etc.) on top of vertx-lang-groovy.
- Reactive Streams - Vert.x Reactive Streams.
- Reactive Extensions - Vert.x Reactive Extensions.
- vertx-util - Light weight promises & latches for Vert.x.
- QBit - Async typed actor-like lib that runs easily in Vert.x Async Callbacks. Callback management.
- VxRifa - Utility library for Vert.X that allows using strong-typed interfaces in communication through EventBus.
- Sync - Synchronous but non-OS-thread-blocking verticles.
Clients to connect applications to the Vert.x event bus
- JavaScript - JavaScript event bus client.
- C++11 - C++11 event bus client.
- Java - Java implementation of vertxbus.js.
- Java - Java and Android Event Bus Client.
- CLI - Command-line binary client for Vert.x event bus - pipe in JSON, emit JSON.
- Swift - Event bus client for Apple's Swift using the TCP-based protocol.
- Python - Event bus client for Python using the TCP-based protocol.
- C# - Event bus client for C# using the TCP-based protocol.
- C - Event bus client for C99 using the TCP-based protocol.
- Go- Event bus client for Go-lang using the TCP-based protocol.
- Smalltalk- Event bus client for Pharo Smalltalk using the TCP-based protocol.
- Java - Event bus support in JavaScript through Java code.
Implementations of the Vert.x cluster manager SPI
- Hazelcast Cluster Manager - Hazelcast cluster manager.
- Ignite Cluster Manager - Ignite cluster manager.
- JGroups Cluster Manager - JGroups cluster manager.
- Zookeeper Cluster Manager - Zookeeper cluster manager.
- Atomix Cluster Manager - An Atomix based cluster manager implementation for Vert.x 3.
- Infinispan Cluster Manager - Infinispan cluster manager.
- OpenShift DIY cartridge - OpenShift DIY Cartridge using Vert.x.
- OpenShift Vert.x cartridge - OpenShift Vert.x Cartridge using Vert.x.
- S3 - A fully functional Vert.x client for S3.
- Docker images - Docker images for Vert.x.
- Service Discovery - Vert.x Service Discovery.
- Circuit Breaker - Vert.x Circuit Breaker.
- Service Discovery - Consul - Consul extension to Vert.x Service Discovery.
- Service Discovery - Docker links - Docker extension to Vert.x Service Discovery.
- Service Discovery - Kubernetes - Kubernetes extension to Vert.x Service Discovery.
- Service Discovery - Redis backend - Redis storage backend for Vert.x Service Discovery.
- Vert.x GraphQL Service Discovery - GraphQL service discovery and querying for your Vert.x microservices.
- HTTP Request Multiplexer - Kalfor - Combine multiple HTTP GET requests into a single POST. A dead simple alternative to Facebook's GraphQL and Netflix's Falcor.
- Resilience4j - Resilience4j is a fault tolerance library designed for Java8 and functional programming. Resilience4j provides modules for Circuit Breaking, Rate Limiting, Bulkheading, Automatic retrying, Response caching and Metric measuring.
- Vert.x Elasticsearch Service - Vert.x 3 Elasticsearch service with event bus proxying.
- Vert.x Elasticsearch Service (redesign) - Vert.x 3 Elasticsearch service with event bus proxying. Redesign of the Vert.x Elasticsearch Service. Heavy usage of DTOs over eventbus and no more JsonObjects. Added support for ES plugins.
- Vert.x Solr Service - Vert.x 3 Solr service with event bus proxying.
- Service Factory - Vert.x Service Factory.
- Maven Service Factory - Maven Vert.x Service Factory.
- HTTP Service Factory - Vert.x HTTP Service Factory.
- Node.js Service Factory - Vert.x Node.js Service Factory.
- Eclipse SISU Service Factories - Vert.x integration with Eclipse SISU DI container offering alternatives for
vertx-service-factory
andvertx-maven-service-factory
.
- Vertx Config AWS SSM Store - A config store implementation for retrieving configuration values from the AWS EC2 SSM Parameter Store.
- Vert.x Guice - Vert.x verticle factory for Guice dependency injection.
- Vert.x HK2 - Vert.x verticle factory for HK2 dependency injection.
- Spring Vert.x Extension - Vert.x verticle factory for Spring DI injection.
- Vert.x Beans - Inject Vert.x objects as beans into your Spring application.
- QBit - QBit works with Spring DI and Spring Boot (and of course Vertx). Allows you to use QBit, Vertx, Spring DI and Spring Boot in the same application.
- Vert.x Eclipse SISU - Vert.x integration with Eclipse SISU DI container.
- Vert.x Spring Verticle Factory - A Vert.x Verticle Factory that makes use of Spring to obtain and configure Verticles.
- Vert.x Unit - Async polyglot unit testing for Vert.x.
- Vert.x Hot - A Maven plugin for the hot-deploy of Maven Vert.x projects.
- slush-vertx - A template driven Vert.x project generator for different languages and build tools.
- Vert.x for Visual Studio Code - A Visual Studio Code (polyglot) plugin for Vert.x. Also available from the Marketplace.
- Vert.x Starter - A browser-based project starter and project templates for Vert.x applications.
- Vert.x Child Process - Spawn child process from Vert.x.
- vertx-redisques - A highly scalable redis-persistent queuing system for Vert.x.
- Simple File Server - An OpenStack Swift compatible distributed object storage server that can serve and securely store billions of large and small files using minimal resources implemented using Vert.x.
- Vert.x Stack - Vert.x + the endorsed modules.
- Vert.x blueprint - Microservice application - The official Vert.x blueprint showing how to build a complex microservice application.
- Vert.x blueprint - Job Queue - The official Vert.x blueprint showing how to build a distributed job processing application.
- Vert.x blueprint - TODO backend - The official Vert.x blueprint showing how to build a backend for a TODO application.
- Vert.x examples - The official Vert.x examples including web examples, how to use the official database clients, etc.
- Vert.x feeds - Example of an RSS aggregator built using Vert.x, Gradle, MongoDB, Redis, Handlebars templates, AngularJS, the event bus and SockJS.
- Vert.x Markdown service - Example on how to use service-proxy with Gradle.
- Example using event bus and service proxies to connect vertx and node - Step by step example with wiki description showing how to connect Vert.x and Node using event bus and service proxies.
- Vert.x Todo-Backend implementation - Pure Java 8 implementation of the Todo MVC backend. Uses a Vert.x LocalMap for storage.
- Kotlin Todo-Backend implementation - Kotlin implementation of the Todo MVC backend.
- Scala Todo-Backend implementation - Scala implementation of the Todo MVC backend.
- Grooveex Todo-Backend implementation - Todo MVC backend implementation with Vert.x + Groovy + some syntactic sugar + DSL routing facilities.
- Vert.x Gradle Starter - Java 8 starter application with example of using Vert.x with Gradle build system, profiles configuration and SLF4J.
- Vert.x Gentics Mesh Example - Example on how to build a template-based web server with Gentics Mesh and handlebars.
- HTTP/2 showcase - A simple demo, showing how HTTP/2 can drastically improve user experience when a huge latency is involved.
- Vert.x Music Store - An example application on how to build Vert.x applications with RxJava
- Crabzilla - Yet another Event Sourcing experiment. A project exploring Vert.x to develop Event Sourcing / CQRS applications.
- Vert.x PostgreSQL Starter - A starter to build a monolithic CRUD RESTful Web Service with Vert.x stack and postgreSQL
- Cloud Foundry - An example Vert.x for deploying to a Cloud Foundry service provider.
- Vert.x Deploy Application - (Seamless) deploy to AWS based Vert.x application clusters.
- Chime - Time scheduler working on Vert.x event bus allowing for scheduling with cron-style and interval timers.
- Vert.x Cron - Schedule events with cron specifications. Has event bus and Observable versions.
- Vert.x POJO config - Allows for mapping between standard JSON configuration and a (type-safe) configuration Java bean. Also allows the configuration bean to be validated through JSR 303.
- Vert.x Async - Portage of caolan/async nodejs module to Vert.x framework that provides helpers methods for common async patterns.
- Vert.x JOLT - JSON to JSON transformation tool based on the original bazaarvoice JOLT project. Helpful to transform different json structure into an expected json format.
- Vert.x Dependent Verticle Deployer - A Vert.x Verticle intended to deploy verticles and their dependent verticles.
- Vert.x Dataloader - Java port of Facebook Dataloader for Vert.x. Efficient batching and caching for your data layer.
- Vert.x Util - A collection of Vert.x utility methods.
- Vert.x Web Accesslog - Just a simple handler to be used in Vert.x Web to generate access logs.
- Vert.x GraphQL Utils - A route handler and Vert.x compatible interfaces to handle GraphQL queries in Vert.x and Vert.x Web.
- User Group - Discuss all user issues related to using Vert.x.
- Developer Group - A group for Vert.x core developers and contributors.
- IRC channel - This is our day-to-day office: #vertx on freenode.net.
- Issues - Vert.x core issue tracker.
- Wiki - Contains useful information about Vert.x.
- Learning Materials - A list of articles and presentations on Vert.x.
- Blog - The official Vert.x blog containing many tutorials and other information.
- 2017 Events - A list of 2017 Vert.x talks and presentations.
- VertxUI - A pure Java front-end toolkit with descriptive fluent views-on-models, POJO traffic, JUnit testing on the virtual DOM or mixed-language on a real DOM, and more.
Contributions welcome! Read the contribution guidelines first.