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.
- 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
- Dependency Injection
- Testing
- Development Tools
- Miscellaneous
- Distribution
- Examples
- Deployment
- Utilities
- Vert.x Web - Full featured web toolkit for Vert.x.
- Vert.x Jersey - Create JAX-RS Jersey resources in Vert.x.
- Vert.x Nubes - Provides an annotation layer on top of Vert.x Web.
- 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.
- katharsis-vertx - JSONAPI implementation for Vert.x 3.
- 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.
- database - Client for Oracle, PostgreSQL, SQL Server, HyperSQL, etc. designed for security, correctness, and ease of use.
-
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.
- MarkLogic - Asynchronous client for Marklogic Database Server.
-
vertx-pojo-mapper - Non-blocking POJO mapping for MySQL and MongoDB.
-
Server-Sent Events
- jEaSSE - Java Easy SSE. A simple, lightweight implementation of SSE.
-
Mail
- SMTP - Async SMTP client.
- [vertx-smtp-server] (https://github.com/cinterloper/vertx-smtp-server) - SMTP server bridging to EventBus.
-
REST
- Vertx REST Client - A REST client for vertx with support for RxJava and request caching.
-
Messaging
- AMQP 1.0 - Interact with AMQP 1.0 servers using the Vert.x Producer and Consumer APIs.
- MQTT server - Provides an MQTT server for handling all the MQTT communication and messages exchanges with clients.
- 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).
-
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.
- Gateleen - Middleware library based on Vert.x to build advanced JSON/REST communication servers
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.
- TypeScript - TypeScript support.
- Kotlin - Kotlin 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.
- 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.
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.
- OpenShift DIY cartridge - OpenShift DIY Cartridge using Vert.x.
- OpenShift Vert.x cartridge - OpenShift Vert.x Cartridge using Vert.x.
- 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.
- Vert.x Elasticsearch Service - Vert.x 3 Elasticsearch service with event bus proxying.
- 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
.
- 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 Unit - Async polyglot unit testing for Vert.x.
- Vert.x Hot - A Maven plugin for the hot-deploy of Maven Vert.x projects.
- Vert.x for Visual Studio Code - A Visual Studio Code (polyglot) plugin for Vert.x. Also available from the Marketplace.
- 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 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.
- 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.
Contributions welcome! Read the contribution guidelines first.