Service - Variant Manager

From Izara Wiki
Jump to navigation Jump to search

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