Xigadee library - an introduction
Xigadee is an extensible Microservice framework that can be utilised to build modern scalable applications, specifically using Platform-As-A-Service technology.
It is made up of a number of key components. In this section, I will outline the basic building blocks of a Xigadee Microservice, and explain how you can use them to build your application.
The message flow
Xigadee works as a message processing system. Messages are passed between the Microservices through the channels. Once a message is received by a Microservice, it will be routed to the relevant command object through the path documented below.
- Message is received through the communication channel and is passed to the Task Manager for processing.
- The Task Manager will queue the message until a processing slot is available. Once a slot is free the message is passed to the Dispatcher.
- The Dispatcher will match the message to the commands available in the Microservice through the destination information in the message header. The message will then be passed to the commands that can accept the message.
- A response message is received from the command and is then passed to the relevant channel for transmission. Response messages can also be passed to additional commands within the same Microservice for additional processing. Commands can return zero or many response messages to each request message.
- Finally the response message is passed to the channel specified in its destination and is transmitted.
- The binary payload is received by the Listener.
- The listener creates a ServiceMessage object with the binary payload and adds the relevant service message metadata. The metadata will include information such as the destination command, and the response destination if required.
- Finally the service message is passed to the TaskManager.
Channels are an important concept in Xigadee. They are used to route information between and within Microservice
The Listeners and the Senders
The command object
The types of command
The configuration pipeline
Xigadee uses a declarative programming model which simplifies the set-up of a Microservice within it's container.
|Created by: Paul Stancer||NuGet Package||Home|