Service - Unit Manager
Revision as of 07:23, 6 August 2023 by Sven the Barbarian (talk | contribs)
Overview
Each unit is handled by a Service - Unit (handlers) service.
The Unit Manager service handles shared orchestration of the Unit Handler services.
Repository
https://bitbucket.org/izara-market-products/izara-market-products-unit-manager
DynamoDB tables
Standard Config Table Per Service
Configuration tags
{
configKey: "SupplyGraphServiceName"
configTag: "SupplyGraphServiceName"
configValue: xxx // eg: "SupplyGraph"
}
{
configKey: "UnitHandlerService"
configTag: xxx // unitHandlerServiceNameTag, eg: "UnitStandard"|"UnitPacking", this is what is saved in each record
configValue: {
serviceName: xxx // eg: "UnitStandard", this is the actual deployed service name}
}
}
UnitRecord
Records which Handler manages each unit
{
unitId
unitHandlerServiceNameTag
}
- partition key: unitId
- sort key: (none)
Graph database
Service - Supply Graph
Nodes
{
nodeLabel: "{UnitSharedLib.UNIT_GRAPH_NODE_LABEL}", // stored in shared npm, shared by all unit Handlers
schema: {
identifier: true,
restrictProperties: true,
restrictRelationships: true,
properties: {
unitId: {
identifier: true, //(random uuid)
},
unitHandlerServiceNameTag: {
immutable: true,
},
},
}
}
- Unit Manager is responsible for this object type because shared by all Unit Handlers