Skip to main content
Overview
- Need for reactive applications
- Applications should respond fast and have low latencies.
- Applications should be highly available.
- Application should be scalable that is should meet users demand
- Application should be failure, resilient
- Respond in a timely manner
- This demand requires reactive backend applications.
- Vertx Is a tool kit to build reactive applications on a Java virtual machine.
- It has found its way into cloud native framework Quarkus.
- Reactive system has many applications and frameworks, adapting it.
- Reactive system has following characteristics
- Elastic
- Elastic means that we can scale up the number of JVM threads or Processes To handle more load.
- Responsive
- React to requests
- Return responses Quickly
- Scale up on high load
- The responsiveness should be guaranteed by scaling up more instances and making sure to meet the users demand.
- Resilient
- Resilient means that we can react to failure and not crash the application, but instead be able to recover from it and service all requests For users of our application.
- Message Driven
- Reacts To events by combining it with asynchronous Programming and asynchronous message handling.
- The application is able to avoid undefined status of overload and scale out to have more event handlers.
- In Vertex This is handled using
- Vertex event loops
- Verticals, which are actor like deployment models
- These verticals communicate over the vertex event, bus via Messages, and by using promise and future. It allows asynchronous programming.
- A monolithic application avoids inter-service communication, but it very likely Exposes an API Which is avoidable to other systems or directly with user interface.
- Every time an application is interactingwith other systems, applying the reactive principles makes them more reliable.
- The HTTP server is reactive, and also the data access layer.
- In a micro service architecture reactive approach Is more important, if a service is not available, then the calling micro service should still respond fast and handle this error case properly.
- Vertex components
- Vertex core
- Verticals
- Event loop
- Event bus
- Promise and future
- Vertex web
- Routing
- Web server
- Web client
- Vertex config
- Vertex data-reactive SQL clients
- SQL template
- Postgres SQL
- My SQL
- Flyway
- Vertex reactive
- Mutiny
- Quarkus
- Quarkus is a modern cloud native Java framework, which is using vertex under the hood.
- Vertex web sockets
- Socket server
- Socket client
Comments
Post a Comment