How to Build and Deploy Fat or Thin Vert.x Microservice Applications to the Cloud
This tutorial for microservices development shows how to build a Vert.x application and deploy it to the cloud.
Join the DZone community and get the full member experience.
Join For FreeEclipse Vert.x started to promote microservices even before this buzzword appeared and continues to showcase the benefits of such an approach. This toolkit is designed for building reactive applications using any language that runs on the JVM, including Java, Groovy, Ceylon, Ruby, JavaScript, Kotlin, and Scala.
Basically, a Vert.x application is a plain JAR file, so the application can be packaged in two different ways:
- Fat: a self-contained single JAR file with all the necessary dependencies inside. Usually, the archive is big, as it contains everything, including the application server runtime.
- Thin: a JAR file that doesn’t contain runtime and dependencies by default but automatically downloads them during the first launch. It is considered the most widely-used approach nowadays, as it was the only one well-standardized for many years and provides a set of advantages like a faster and more efficient process of building and packaging.
In this article, we will cover build and deploy processes for Vert.x Java applications using both approaches, Fat and Thin. The application will be packaged in the required format automatically with the help of Builder add-ons prepared by Jelastic. The topology will consist of a Maven build node and JVM containers for running microservices.
Vert.x Fat JAR Builder Installation
To get started, log into a Jelastic dashboard, find the Vert.x Fat Jar Builder in the Marketplace and click Install.Or, you can import a Vert.x Fat manifest from GitHub with this link:
https://github.com/jelastic-jps/vertx/blob/master/microservice-fat-jar/manifest.jps
To do that, press Import on the Dashboard then paste the link in the URL tab and confirm installation by clicking the Import button in the opened window.If required, change the installation settings such as environment name or Git repository link to a custom Vert.x Fat project. Then press Install.
When the installation and building of the project are completed, a corresponding message appears. You still need to wait a few minutes for the deploy to be finished (feel free to track the process in the Tasks panel). In the default implementation, it is done under the api/greeting context.
Afterward, you can make sure that the application is up and running by pressing the Open in browser button.
Vert.x Thin Jar Builder Installation
Find the Vert.x Thin Jar Builder in the Marketplace and click Install.Or import the Vert.x Thin manifest from GitHub:
https://github.com/jelastic-jps/vertx/blob/master/microservice-thin-jar/manifest.jpsIf required, change installation settings such as environment name or Git repository link to a custom Vert.x Thin project. Then press Install.
Wait a few minutes for the deploy to be finished, tracking the process in the Tasks panel. Then click Open in browser to see your application under the stated context (by default, api/greeting).
Running Multiple Microservices With Vert.x Projects
You can use our recently created Maven node to build extra projects and deploy them to different environments to get a set of distributed microservices.
First of all, create a separate environment with Java Engine.Then click Add Project next to the Maven node in the initial environment.
Specify the name and link to the project, and choose the environment where it should be deployed. Additionally, you can activate automatic updates. Then confirm pressing Add + Deploy.
More details on how to build and deploy Java applications can be found in the Maven node documentation.
In this way, you can easily build and deploy your Vert.x-based applications. Register and try out the automated JAR packaging with the Jelastic Builder add-on for your custom projects to feel the benefits of microservices running in the cloud.
Opinions expressed by DZone contributors are their own.
Comments