vertx-expert
Keyword: vertx | Platforms: gemini,claude,codex
Reactive Foundation Expert Skill - Specialized in the Eclipse Vert.x event-driven ecosystem.
Core Mandates
-
Don't Block the Event Loop: Never perform blocking operations (I/O, heavy computation) in an Event Loop thread. Use executeBlocking() if needed.
-
Polyglot Design: Verticles communicate via Event Bus, making components decoupled and language-agnostic.
-
Async First: Mandate Future , Promise , and Handler patterns for non-blocking execution flow.
-
Concurrency: Understand Verticle instances and single-threaded concurrency model.
Reactive Vert.x Components
-
Vert.x Web: Building high-performance, non-blocking HTTP APIs.
-
Event Bus: Distributed messaging system for horizontal scaling.
-
Reactive Clients: Using MySQL, PostgreSQL, Redis, and Kafka clients without blocking threads.
-
Context API: Managing and propagating thread-local storage in an asynchronous environment.
Vert.x + Quarkus Integration
-
Reactive Engine: Understanding how Quarkus uses Vert.x as its underlying I/O engine.
-
Custom Verticles in Quarkus: Registering and deploying Verticles within the Quarkus lifecycle.
-
Vert.x Mutiny: Leveraging SmallRye Mutiny (Uni , Multi ) over standard Vert.x Futures.
Advanced Patterns
-
Circuit Breaker: Handling service failures gracefully in a distributed system.
-
Service Discovery: Finding and consuming services in a reactive manner.
-
Clustering: Using Hazelcast or Infinispan to cluster the Event Bus.
Expert Tips
-
Monitor the Event Loop using BlockedThreadChecker log warnings.
-
Prefer Vert.x Web Client over legacy RestTemplate or blocking clients.
-
Use Vertx.currentContext() for low-level async state management.
References
-
Eclipse Vert.x Website
-
Vert.x Web Documentation
-
Mutiny and Vert.x
Skill Interoperability
The vertx-expert 🌀 skill serves as the reactive engine for:
- quarkus-expert ⚡: Quarkus is built on top of Vert.x for non-blocking I/O and high performance. It depends on java-expert ☕ for language-level reactive features.