Vert.x
Awesome Vert.x ¶
Awesome Vert.x 是一个很棒的框架、库或其他相关组件的列表 Vert.x.
如果您希望您的组件出现在这里,请向此存储库发送拉取请求以添加它.
请注意,我们不能保证此列表中所有内容的稳定性或生产价值,除非它有 图标 在它的旁边. 这个图标表示该组件是官方的一部分 Vert.x stack.
Books¶
- Building Reactive Microservices in Java 克莱门特埃科菲
- Vert.x in Action 通过 Julien Ponge
Build tools¶
- Vert.x Maven plugin
- Vert.x Gradle plugin
- Vert.x Codegen Gradle plugin - 一个 Gradle 插件,用于促进 Vert.x Java 项目的代码生成使用.
Web Frameworks¶
- Vert.x Jersey - 创建 JAX-RS Jersey Vert.x 中的资源.
- Kovert - 用于 Kotlin + Vert.x Web 的隐形 REST 框架.
- Handlers - Vert.x 的开放网络框架.
- QBit - REST 和 WebSocket 方法调用编组和反应库.
- vertx-rest-storage - Persistence for REST resources in the filesystem or a redis database.
- Jubilee - 基于 Vert.x 3 构建的机架兼容 Ruby HTTP 服务器.
- Knot.x - 适用于基于 Vert.x 3 的现代网站的高效和高性能集成平台.
- Irked - 用于 Vert.x Web 的基于注释的配置,具有用于 REST 的控制器框架和富有表现力的 API.
- REST.VertX - 轻量级 JAX-RS (RestEasy),例如用于 Vert.x 垂直行业的注释处理器.
- Atmosphere Vert.x - 用于 JVM 的实时客户端服务器框架,支持 WebSockets 和具有跨浏览器回退的服务器发送事件.
- Vert.x Vaadin - 在 Vert.x 上运行 Vaadin 应用程序.
- Serverx - 允许您仅使用路由处理程序注释快速轻松地设置 Vert.x 驱动的服务器.
- Cloudopt Next - Cloudopt Next 是一个非常轻量级的、现代的、基于 JVM 的全堆栈 kotlin 框架,旨在构建模块化、易于测试的 JVM 应用程序,支持 Java、Kotlin 语言,由最好的 Java 库和标准精心打造.
- Donkey - 为易用性和性能而构建的现代 Clojure HTTP 服务器和客户端.
- SCX - 一个开放易用的web框架,大部分功能基于注解.
- vertx-rest - 对 resteasy-vertx 的抽象,以简化基于 JAX-RS 注释编写 Vert.x REST 应用程序.
Authentication Authorisation¶
- Vert.x-Pac4j - 使用实现的 Vert.x 身份验证/授权 pac4j.
Database Clients¶
连接数据库的客户端
- 关系数据库
- Reactive SQL Client - 高性能反应式 SQL 客户端.
- JDBC - 围绕 JDBC 数据源的异步接口.
- MySQL / PostgreSQL - MySQL/PostgreSQL 的异步客户端.
- PostgreSQL - 反应式 PostgreSQL 客户端.
- database - Oracle、PostgreSQL、SQL Server、HyperSQL 等的客户端,专为安全性、正确性和易用性而设计.
- jOOQ - 执行类型安全的异步 SQL 并使用 jOOQ 生成代码.
-
jOOQx - 利用来自 jOOQ DSL 的类型安全 SQL 的强大功能,并使用来自 Vert.x 的反应式和非阻塞 SQL 驱动程序.
-
NoSQL 数据库
- MongoDB - 用于与 MongoDB 数据库交互的异步客户端.
- Redis - 与 Redis 交互的异步 API.
- Cassandra - 允许应用程序与 Cassandra 服务交互的 Vert.x 客户端.
- Cassandra - 与 Cassandra 和 Cassandra 映射交互的异步 API.
- OrientDB - Non-blocking OrientDB server integration.
- Bitsy - 非阻塞 Bitsy Graph 服务器集成.
- MarkLogic - Marklogic 数据库服务器的异步客户端.
- SirixDB - 非阻塞 SirixDB HTTP 服务器.
- DGraph - 有关如何构建 Vert.x gRPC 兼容客户端的示例. 此处定位 dgraph
- RxFirestore - 以反应方式编写的非阻塞 Firestore SDK.
- MongoDB - 纯功能性和反应性 MongoDB 客户端之上 Vert.x Effect . 完全支持重试、回退和恢复操作.
-
Aerospike - 与 Aerospike 服务器交互的异步和非阻塞 API. 用途 AerospikeClient's 内部异步命令并在 Vert.x 上下文中处理结果.
-
vertx-pojo-mapper - MySQL 和 MongoDB 的非阻塞 POJO 映射.
- vertx-mysql-binlog-client - 用于进入 MySQL 复制流的 Vert.x 客户端.
Integration¶
- 服务器发送的事件
- jEaSSE - Java 简易 SSE. SSE 的简单、轻量级实现.
-
vertx-sse - Vert.x SSE 实现 + 事件总线 SSE 桥.
-
邮件
- SMTP - 异步 SMTP 客户端.
-
vertx-smtp-server - 桥接到 EventBus 的 SMTP 服务器.
-
休息
- Retrofit adapter for Vert.x - 一个高度可扩展的适配器,用于使用 Vert.x 进行改造.
- openapi4j adapter for Vert.x - OpenAPI 3 请求验证器和路由器工厂替代方案.
-
Vert.x Effect HTTP client - 纯功能性和反应性 HTTP 客户端使用 Vert.x Effect 具有 OAuth 支持和重试、回退和恢复操作.
-
文件服务器
- Vert.x TFTP Client - Vert.x 的 TFTP 客户端支持下载/上传文件. *消息
- AMQP 1.0 - 使用 Vert.x 生产者和消费者 API 与 AMQP 1.0 服务器交互.
- MQTT - 提供两个不同的组件:一个 MQTT 服务器,用于处理所有 MQTT 通信和与客户端的消息交换,以及一个 MQTT 客户端,用于发送和接收针对 MQTT 代理的消息.
- RabbitMQ - 一个 RabbitMQ 客户端(AMQP 0.9.1).
- Kafka Client - 卡夫卡客户端.
- kafka - 用于消费和生产消息的 Kafka 客户端.
- STOMP - Kafka 客户端和服务器.
- ZeroMQ - ZeroMQ 事件总线桥.
- Azure ServiceBus - 蔚蓝 ServiceBus 生产者和消费者(完全异步,不使用 Microsoft Azure SDK).
- AMQP 1.0 - Kafka bridge - 使用 AMQP 1.0 协议向/从 Apache Kafka 发送/接收消息的桥.
- Vert.x Kafka Client - Apache Kafka 客户端,用于从/向 Apache Kafka 集群读取和发送消息.
- The White Rabbit - 基于 Kotlin 协程的异步 RabbitMQ (AMQP) 客户端.
-
WAMP Broker - 可以嵌入到 Vert.x 应用程序中的 WAMP 代理.
-
JavaEE
- JCA adaptor - 用于 Vert.x 事件总线的 Java 连接器架构适配器.
-
Weld - 将 CDI 编程模型引入 Vert.x 生态系统(将 CDI 观察器方法注册为 Vert.x 消息消费者、CDI 驱动的 Verticles、以声明方式定义路由等).
-
流星
-
Meteor - 通过 Vert.x 事件总线支持 Meteor 集成.
-
指标
- Hawkular metrics - Hawkular Vert.x Metrics SPI 的实现.
- DropWizard metrics - 使用 DropWizard 指标的指标实施.
- Micrometer metrics - 使用 Micrometer 指标的指标实施.
- OpenTsDb Metrics - OpenTsDb Vert.x 的指标客户端.
-
Bosun Monitoring - Bosun Vert.x 的客户端库.
-
Netflix - Hystrix
-
Hystrix Metrics Stream - 从 Vert.x 应用程序发出 Hystrix 仪表板的指标 Hystrix.
-
飞镖
-
Vert.x Dart SockJS - Dart 整合为 Vert.x SockJS bridge 和使用 dart:js 的普通 SockJS.
-
推送通知
-
CNCF 云事件
- CloudEvents.io Java SDK - 发送和接收 CloudEvents 使用 Vert.x HTTP Transport 对于 CloudEvents.
Middleware¶
- Apache Camel - Apache Camel 用于桥接 Camel 与 Vert.x 事件总线的组件.
- Gateleen - 基于 Vert.x 的中间件库,用于构建高级 JSON/REST 通信服务器.
- Gravitee.io - 一个OSS API平台,包括一个API网关和一个基于Vert.x Core / Vert.x Web等模块的OAuth2 / OIDC授权服务器.
- API Framework - 基于 Vert.x 和 Glue 的微服务框架消除了独立应用程序和无服务应用程序之间的区别. 所有服务都可以在独立服务器中运行,但如果需要,可以使用相同的代码库将任何服务作为无服务器应用程序运行.
Language Support¶
对 Vert.x 的编程语言支持
- Python - Python 支持.
- EcmaScript - EcmaScript >=6 (JavaScript) 支持.
- Php - PHP支持.
语言扩展
- Grooveex - 语法糖 + 实用程序(DSL 构建器等) vertx-lang-groovy.
Reactive¶
- vertx-util - Vert.x 的轻量级承诺和闩锁.
- QBit - 异步类型的 actor-like lib,可以在 Vert.x 异步回调中轻松运行. 回调管理.
- VxRifa - Vert.X 的实用程序库,允许在通过 EventBus 的通信中使用强类型接口.
- Vert.x Effect - 基于 IO Monad 的纯函数式和反应式库,用于实现任何复杂的流程. 完全支持重试、回退和恢复操作.
- SmallRye Mutiny - 用于 Java 的直观事件驱动的反应式编程库 bindings for Vert.x.
Sync Thread Non Block¶
- Sync - 同步但非操作系统线程阻塞的 Verticle.
Vert.x Event Bus Clients¶
将应用程序连接到 Vert.x 事件总线的客户端
- C++11 - C++11 事件总线客户端.
- Java - vertxbus.js 的 Java 实现.
- Java - Java 和 Android 事件总线客户端.
- Java - 使用纯 TCP 套接字 I/O 的简单 Java 事件总线客户端.
- CLI - Vert.x 事件总线的命令行二进制客户端 - JSON 管道,发出 JSON.
- Swift - 事件总线客户端 Apple's Swift 使用 TCP-based protocol.
- Python - 使用 Python 的事件总线客户端 TCP-based protocol.
- C# - Event bus client for C# using the TCP-based protocol.
- C - C99 的事件总线客户端使用 TCP-based protocol.
- Go- 使用 Go-lang 的事件总线客户端 TCP-based protocol.
- Smalltalk- 事件总线客户端 Pharo Smalltalk 使用 TCP-based protocol.
- Java - 通过 Java 代码在 JavaScript 中支持事件总线.
- Elixir - 事件总线支持使用 TCP 套接字的 Elixir 应用程序.
- Rust - 通过 TCP 的 Rust 应用程序事件总线客户端.
Vert.x Event Bus Extensions¶
- Eventbus Service - 通过简单的 Kotlin 接口进行类型安全事件总线通信的代码生成器.
Cluster Managers¶
Vert.x 集群管理器 SPI 的实现
- JGroups Cluster Manager - JGroups 集群管理器.
- Atomix Cluster Manager - 一个 Atomix 基于 Vert.x 3 的集群管理器实现.
- Consul Cluster Manager - 领事集群管理器.
Cloud Support¶
- AWS SDK - 将 AWS Java SDK v2(异步)与 Vert.x 结合使用
Microservices¶
- Vert.x GraphQL Service Discovery - GraphQL 服务发现和查询您的 Vert.x 微服务.
- Resilience4j - Resilience4j 是为 Java8 和函数式编程设计的容错库. Resilience4j 提供了用于熔断、速率限制、隔板、自动重试、响应缓存和指标测量的模块.
- Failsafe - Failsafe 是一个轻量级、零依赖 库,用于处理 Java 8+ 中的故障. 简洁的API. 与使用自己的调度程序进行异步执行的库集成,例如 Akka 或 Vert.x. Vert.x example
- Autonomous Services - 用于创建自主服务的工具包. 一种利用 vert.x 和 nannoq-tools 提供基于事件的反应式架构的架构,无需集中式组件,既不用于通信也不用于数据,从而在理论上提供跨架构的线性可扩展性.
- Apache ServiceComb Java Chassis - ServiceComb Java Chassis 是一个用于Java微服务快速开发的软件开发工具包(SDK),提供服务注册、服务发现、动态路由和服务管理等功能.
Search Engines¶
- Vert.x Elasticsearch Service - 垂直 x 3 Elasticsearch 事件总线代理服务.
- Vert.x Solr Service - 带有事件总线代理的 Vert.x 3 Solr 服务.
Template Engines¶
- KorTE Template Engine - 类似于 Twig/Django/Liquid 的 Kotlin 模板引擎,支持调用 Kotlin 挂起方法.
Service Factory¶
- Node.js Service Factory - Vert.x Node.js 服务工厂.
- Eclipse SISU Service Factories - Vert.x 与 Eclipse SISU DI 容器提供
vertx-service-factory
和vertx-maven-service-factory
的替代品.
Config¶
- Vert.x Config AWS SSM Store - A config store 从中检索配置值的实现 AWS EC2 SSM Parameter Store.
- Vert.x Boot - 从 HOCON 配置部署 Verticles.
Dependency Injection¶
- Vert.x Guice - 用于 Guice 依赖注入的 Vert.x verticle 工厂.
- Vert.x HK2 - 用于 HK2 依赖注入的 Vert.x verticle 工厂.
- Spring Vert.x Extension - 用于 Spring DI 注入的 Vert.x verticle 工厂.
- Vert.x Beans - 将 Vert.x 对象作为 bean 注入到您的 Spring 应用程序中.
- QBit - QBit 与 Spring DI 和 Spring Boot(当然还有 Vert.x)一起工作. 允许您在同一应用程序中使用 QBit、Vert.x、Spring DI 和 Spring Boot.
- Vert.x Eclipse SISU - Vert.x 与 Eclipse SISU 的容器.
- Vert.x Spring Verticle Factory - 使用 Spring 获取和配置 Verticle 的 Vert.x Verticle Factory.
- Glue - 基于 Java 和 Vert.x 的应用程序的经过验证和自以为是的编程和配置模型. 受 ATG Nucleus 启发,使用简单的属性文件提供强大的层基础配置管理.
Testing¶
- Vert.x WireMongo - 用于 Vert.x 的轻量级 MongoDB 模拟
Development Tools¶
- Vert.x health check - 允许在 Vert.x 项目中进行远程健康检查.
- Vert.x Hot - 用于热部署 Maven Vert.x 项目的 Maven 插件.
- slush-vertx - 用于不同语言和构建工具的模板驱动的 Vert.x 项目生成器.
- Vert.x for Visual Studio Code - Vert.x 的 Visual Studio Code(多语言)插件. 也可从 Marketplace.
- Vert.x Starter - 用于 Vert.x 应用程序的基于浏览器的项目启动器和项目模板.
- Vert.x LiveReload - 用于 Vert.x 应用程序的简单 livereload 服务器.
- openapi-generator - OpenAPI 生成器允许在给定 OpenAPI 规范(v2、v3)的情况下自动生成 API 客户端库(SDK 生成)、服务器存根、文档和配置.
Miscellaneous¶
- Vert.x Child Process - 从 Vert.x 生成子进程.
- vertx-redisques - 用于 Vert.x 的高度可扩展的 redis-persistent 排队系统.
- Simple File Server - 一个 OpenStack Swift 兼容的分布式对象存储服务器,可以使用 Vert.x 实现的最少资源来服务和安全地存储数十亿个大小文件.
- Vert.x Boot - 从 HOCON 配置部署 Verticles.
- GDH - 建立在 Vert.x 之上的通用 Diffie-Hellman 密钥交换 Java 库.
- vertx-values - 从发送不可变和持久的 JSON json-values 穿过事件总线.
Distribution¶
Examples¶
- Vert.x feeds - 使用 Vert.x、Gradle、MongoDB、Redis、Handlebars 模板、AngularJS、事件总线和 SockJS 构建的 RSS 聚合器示例.
- Vert.x Markdown service - 如何使用示例 service-proxy 与摇篮.
- Example using event bus and service proxies to connect vertx and node - 带有 wiki 描述的分步示例展示了如何使用事件总线和服务代理连接 Vert.x 和 Node.
- Vert.x Todo-Backend implementation - Todo MVC 后端的纯 Java 8 实现. 使用 Vert.x LocalMap 进行存储.
- Kotlin Todo-Backend implementation - Todo MVC 后端的 Kotlin 实现.
- Scala Todo-Backend implementation - Todo MVC 后端的 Scala 实现.
- Grooveex Todo-Backend implementation - 使用 Vert.x + Groovy + 一些语法糖 + DSL 路由设施的 Todo MVC 后端实现.
- Vert.x Gradle Starter - Java 8 入门应用程序,带有将 Vert.x 与 Gradle 构建系统、配置文件配置和 SLF4J 结合使用的示例.
- Vert.x Gentics Mesh Example - 关于如何使用 Gentics Mesh 和 handlebars 构建基于模板的 Web 服务器的示例.
- HTTP/2 showcase - 一个简单的演示,展示了 HTTP/2 如何在涉及巨大延迟时显着改善用户体验.
- Vert.x Music Store - 关于如何使用 RxJava 构建 Vert.x 应用程序的示例应用程序.
- Crabzilla - 另一个事件溯源实验. 探索 Vert.x 以开发事件源/CQRS 应用程序的项目.
- Vert.x PostgreSQL Starter - 使用 Vert.x 堆栈和 PostgreSQL 构建整体 CRUD RESTful Web 服务的初学者.
- Cloud Foundry - 用于部署到的 Vert.x 示例 Cloud Foundry 服务提供者.
- Knative - 关于如何使用的示例应用程序 Reactive Extensions Vert.x 和 Knative.
- Starter Single Verticle API - REST API Starter 和项目模板准备好部署大量管道代码、示例和文档,以快速开发 API,几乎不了解 vert.x,也不会浪费任何时间.
- AI model output API based on PMML with Vert.x - 基于 Vert.x 的高性能 PMML 评估器 API. 支持通过 JSON 对多个 PMML 模型进行动态路由配置.
Deployment¶
- Vert.x Deploy Application -(无缝)部署到基于 AWS 的 Vert.x 应用程序集群.
Utilities¶
- Chime - 在 Vert.x 事件总线上工作的时间调度程序允许使用 cron-style 和 interval 计时器进行调度.
- Vert.x Cron - 使用 cron 规范安排事件. 有事件总线和 Observable 版本.
- Vert.x CronUtils - vertx 调度程序的 cron-utils 的抽象. 支持 Unix、Cron4j 和 Quartz 风格的表达式.
- Vert.x Scheduler - 基于普通 Vert.x 核心的轻量级可插拔调度程序,没有任何外部库,用于使用 cron-style 和 interval 计时器进行调度,并在同步和异步任务上有详细的 monitor.
- Vert.x POJO config - 允许在标准 JSON 配置和(类型安全的)配置 Java bean 之间进行映射. 还允许通过 JSR 303 验证配置 bean.
- Vert.x Async - 将 caolan/async nodejs 模块移植到 Vert.x 框架,为常见的异步模式提供帮助方法.
- Vert.x JOLT - 基于原始 bazaarvoice JOLT 项目的 JSON 到 JSON 转换工具. 有助于将不同的 json 结构转换为预期的 json 格式.
- Vert.x Dependent Verticle Deployer - 旨在部署 Verticle 及其相关 Verticle 的 Vert.x Verticle.
- Vert.x Dataloader - 用于 Vert.x 的 Facebook Dataloader 的 Java 端口. 数据层的高效批处理和缓存.
- Vert.x Util - Vert.x 实用方法的集合.
- Vert.x Web Accesslog - 只是一个简单的处理程序,用于在 Vert.x Web 中生成访问日志.
- Vert.x GraphQL Utils - 路由处理程序和 Vert.x 兼容接口,用于处理 Vert.x 和 Vert.x Web 中的 GraphQL 查询.
- Nannoq-Tools - Nannoq-Tools 是一个利用 Vert.x 构建健壮、可扩展和分布式应用程序的工具包,包括用于身份验证、集群管理、Firebase 云消息传递、DynamoDB、完全通用查询、REST 等的模块.
- Contextual logging - 适用于 Vert.x 事件循环模型的映射诊断上下文 (MDC).
- Vert.x JsonPath - JsonPath 的一个非常基本的实现,使用 Vert.x 的 JsonObject 和 JsonArray,模仿它们的 getX、containsKey、put 和 remove 方法.
Presentations¶
Community¶
- User Group - 讨论与使用 Vert.x 相关的所有用户问题.
- Developer Group - Vert.x 核心开发人员和贡献者的群组.
- Discord Server - 讨论任何与 Vert.x 相关的话题.
- Issues - Vert.x 核心问题跟踪器.
- Wiki - 包含有关 Vert.x 的有用信息.
- Blog - 包含许多教程和其他信息的官方 Vert.x 博客.
Articles¶
- Going reactive with Eclipse Vert.x and RX Java
- First Steps With Vert.x and Infinispan - Part 2: PUSH API
- First Steps With Vert.x and Infinispan - Part 1: REST API
- Location Transparency With Vert.x
- Reactive Microservices and Service Discovery with Vert.x
- https://dzone.com/articles/vertx-330-development-automation
- Vert.x 3.3.0 Features Enhanced Networking Microservices, Testing and More
- Launching Vert.x Dynamically
- Secure Your Vertx 3 App With Pac4j
- Interview with Tim Fox About Vert.x 3, the Original Reactive, Microservice Toolkit for the JVM
Tutorials¶
Front-End¶
- VertxUI - 一个纯 Java 前端工具包,具有描述性流畅的模型视图、POJO 流量、虚拟 DOM 上的 JUnit 测试或真实 DOM 上的混合语言等等.
Contribute¶
欢迎投稿! 阅读 contribution guidelines 第一的.