Service - Variant Manager: Difference between revisions

From Izara Wiki
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

Working documents

Variant Manager