Service - Variant Manager: Difference between revisions

From Izara Wiki
Jump to navigation Jump to search
Line 56: Line 56:
* partition key: variantId
* partition key: variantId
* sort key: (none)
* 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 ==
== TranslateIdsCache ==

Revision as of 13:59, 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)

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

Working documents

Variant Manager