Vert.x Microservice Blueprint | Basic Design
Aug 1, 2016
The blueprint is an online shopping microservice application. You can treat it as a very simple C2C market like eBay.
Here is a diagram illustrating the microservice architecture:

Currently I designed these components:
account-microservice: Component for user accountproduct-microservice: Component for products we sell and buystore-microservice: Component for individual stores in the marketcheckout-microservice: Compoment for order checkoutpayment-microservice: Compoment for payment transaction processingorder-microservice: Compoment for order dispatching, processing, analyzing and storage- NOTE: this component should be divided into several sub-components
recommendation-microservice: Compoment for simple recommendation for friends and favorite products with Neo4jcache-infrastructure: Cache component for servicesapi-gateway: API gateway (with load balance)shopping-ui: A SPA front-end for the microservicemonitor-dashboard: Dashboard for performance monitoring and backend metrics data demonstration
Here is the user workflow: User login and add products to chart -> Checkout -> Go to payment page and pay for the products -> Payment transaction success, order submitted -> (Wait for delivery...)
All events are sent on the event bus.