Service - Variant Manager: Difference between revisions
Jump to navigation
Jump to search
Line 32: | Line 32: | ||
} | } | ||
</syntaxhighlight> | </syntaxhighlight> | ||
<syntaxhighlight lang="JavaScript"> | |||
{ | |||
configKey: "TranslateIdsType" | |||
configTag: xxx // eg SellOffer > Product would be sellOffer_product | |||
configValue: { | |||
ttl: 64000 // number of seconds TranslateIdsCache records live for | |||
} | |||
} | |||
</syntaxhighlight> | |||
== Variants == | |||
Records which Handler manages each variant | |||
<syntaxhighlight lang="JavaScript"> | |||
{ | |||
variantId | |||
variantHandlerServiceNameTag | |||
} | |||
</syntaxhighlight> | |||
* partition key: variantId | |||
* sort key: (none) | |||
== LogicalResults == | |||
Stores results for any requests to perform logical searches on variant data | |||
<syntaxhighlight lang="JavaScript"> | |||
{ | |||
resultId: xxx // eg: filterMainId for a single logical element | |||
dataId: xxx // one variantId | |||
} | |||
</syntaxhighlight> | |||
* partition key: resultId | |||
* sort key: dataId | |||
== TranslateIdsCache == | |||
Stores a record for any unique translateId process | |||
<syntaxhighlight lang="JavaScript"> | |||
{ | |||
cacheId // fromType + "_" + fromDataId + "_" + toType | |||
toDataId | |||
expireTime | |||
} | |||
</syntaxhighlight> | |||
* partition key: cacheId | |||
* sort key: toDataId | |||
* expireTime is set as an automatic DynamoDB TTL attibute | |||
= Working documents = | = Working documents = |
Revision as of 13:21, 5 July 2021
Overview
Each product is handled by a Service - Variant (handlers) service.
The Variant Manager service handles shared orchestration of Variant Handler services.
Repository
https://bitbucket.org/izara-market-products/izara-market-products-variant-manager/src/master/
DynamoDB tables
Standard Config Table Per Service
Configuration tags
{
configKey: "ProductsGraphServiceName"
configTag: "ProductsGraphServiceName"
configValue: xxx // eg: "ProductsGraph"
}
{
configKey: "VariantHandlerService"
configTag: xxx // variantHandlerServiceNameTag, eg: "VariantStandard", this is what is saved in each catalog record
configValue: {
serviceName: xxx // eg: "VariantStandard", this is the actual deployed service name}
}
}
{
configKey: "TranslateIdsType"
configTag: xxx // eg SellOffer > Product would be sellOffer_product
configValue: {
ttl: 64000 // number of seconds TranslateIdsCache records live for
}
}
Variants
Records which Handler manages each variant
{
variantId
variantHandlerServiceNameTag
}
- partition key: variantId
- sort key: (none)
LogicalResults
Stores results for any requests to perform logical searches on variant data
{
resultId: xxx // eg: filterMainId for a single logical element
dataId: xxx // one variantId
}
- partition key: resultId
- sort key: dataId
TranslateIdsCache
Stores a record for any unique translateId process
{
cacheId // fromType + "_" + fromDataId + "_" + toType
toDataId
expireTime
}
- partition key: cacheId
- sort key: toDataId
- expireTime is set as an automatic DynamoDB TTL attibute