Skip to content

Files

Latest commit

 

History

History

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
 
 

Account Microservice

This is the parent project that contains modules of a microservice deployment for the Account domain context. The two modules contained in this project are separated into separate deployment artifacts, one for synchronous HTTP-based interactions and one for asynchronous AMQP-based messaging.

Each microservice in this reference architecture breaks down into three different independently deployable components.

Account microservice

The diagram above details the system architecture of the bounded context for Accounts, which includes deployable units for each Backing Service, Microservice, and AWS Lambda Function.

Account Web

The account-web module is a web application that produces a REST API that can be used by consumers to interact with and manage domain objects in the Account context. Domain Events can be triggered directly over HTTP, and will also be produced in the response to actions that alter the state of the Account object. This web service also provides built-in hypermedia support for looking up the event logs on an aggregate domain object.

Account Worker

The account-worker module is a event stream processing application that listens for Account domain events as AMQP messages. The domain events that are generated by the account-web application are processed in this module. The worker is responsible for durable transaction processing for work flows that are required to coordinate asynchronously with applications residing in other domain contexts. The worker is also responsible for automatically remediating state changes in any distributed transactions that encounter a partial failure. The most important goal of the worker module is to keep the state of the system consistent through automated means — to guarantee eventual consistency.