Vert.x Blueprint Tutorials

The Vert.x Blue­print project aims to pro­vide guide­lines to Vert.x users to im­ple­ment var­i­ous ap­pli­ca­tions such as message-​based ap­pli­ca­tions and mi­croser­vices. This post in­tro­duces the con­tent of each blue­prints.

This work has been done in the con­text of a Google Sum­mer of Code project .

Overview

The blue­print project con­tains three parts: Todo Back­end, Vert.x Kue and On­line Shop­ping Mi­croser­vice. Both runnable code and very de­tailed doc­u­ments and tu­to­ri­als (both in Eng­lish and Chi­nese) are pro­vided.

Vert.x Blueprint - Todo Backend

Repos­i­tory: sczyh30/vertx-​blueprint-todo-backend.

This blue­print is a todo-​backend im­ple­men­ta­tion using Vert.x and var­i­ous per­sis­tence (e.g. Redis or MySQL). It is in­tended to be an in­tro­duc­tion to basic Vert.x web REST­ful ser­vice de­vel­op­ment. From this blue­print, de­vel­op­ers learn:

  • What is Vert.x and its prin­ci­ples
  • What is and how to use Verticle
  • How to de­velop a REST API using Vert.x Web
  • How to make use of asyn­chro­nous de­vel­op­ment model
  • Future-​based asyn­chro­nous pat­terns
  • How to use per­sis­tence such as Redis and MySQL with the help of Vert.x async data

The tu­to­ri­als are:

Vert.x Blueprint - Vert.x Kue

Repos­i­tory: sczyh30/vertx-​blueprint-job-queue.

This blue­print is a pri­or­ity job queue de­vel­oped with Vert.x and backed by Redis. It’s a Vert.x im­ple­men­ta­tion ver­sion of Au­tomat­tic/kue that can be used in pro­duc­tion.

The list of fea­tures pro­vided by Vert.x Kue is avail­able here: Vert.x Kue Fea­tures.

This blue­print is in­tended to be an in­tro­duc­tion to message-​based ap­pli­ca­tion de­vel­op­ment using Vert.x. From this blue­print, de­vel­op­ers learn:

  • How to make use of Vert.x Event Bus (dis­trib­uted)
  • How to de­velop mes­sage based ap­pli­ca­tions with Vert.x
  • Event and mes­sage pat­terns with the event bus (Pub/sub, point to point)
  • How to de­sign clus­tered Vert.x ap­pli­ca­tions
  • How to de­sign and im­ple­ment a job queue
  • How to use Vert.x Ser­vice Proxy
  • More com­plex usage of Vert.x Redis

The tu­to­r­ial are:

Vert.x Blueprint - Online Shopping Microservice

Repos­i­tory: sczyh30/vertx-​blueprint-microservice.

This blue­print is a micro-​shop mi­croser­vice ap­pli­ca­tion de­vel­oped with Vert.x. It is in­tended to be an il­lus­tra­tion on how to de­velop mi­croser­vice ap­pli­ca­tions using Vert.x. From this blue­print, de­vel­op­ers learn:

  • Mi­croser­vice de­vel­op­ment with Vert.x
  • Asyn­chro­nous de­vel­op­ment model
  • Re­ac­tive pat­terns
  • Event sourc­ing pat­terns
  • Asyn­chro­nous RPC on the clus­tered event bus
  • Var­i­ous type of ser­vices (e.g. HTTP end­point, mes­sage source, event bus ser­vice)
  • Vert.x Ser­vice Dis­cov­ery
  • Vert.x Cir­cuit Breaker
  • Mi­croser­vice with poly­glot per­sis­tence
  • How to im­ple­ment an API Gate­way
  • Global au­then­ti­ca­tion (OAuth 2 + Key­cloak)

And many more things…

The tu­to­r­ial are:

Enjoy the code car­ni­val with Vert.x!

Next post

Centralized logging for Vert.x applications using the ELK stack

This post entry describes a solution to achieve centralized logging of Vert.x applications using the ELK stack (Logstash, Elasticsearch, and Kibana).

Read more
Previous post

Vert.x fall conferences

A lot of Vert.x conferences are planned this fall around the world, here is a quick recap of these events.

Read more
Related posts

Building services and APIs with AMQP 1.0

Microservices and APIs are everywhere. Everyone talks about them, presentation slides are full of them ... some people are actually even building them.

Read more

Vert.x Web API Service Introduction

This blog post teaches you how to use the new module vertx-web-api-service to combine the Web Router and the OpenAPI Router Factory with service proxies.

Read more

Building a real-time web app with Angular/Ngrx and Vert.x

There are multiple tech stacks to build a real-time web app. What are the best choices to build Angular client apps, connected to a JVM-based backend?

Read more