StorePick Product Service Event Poller - Infrastructure

Components

Component

Description

Ref

<<config_service>>

this is to fetch the configuration from the service json

Configuration(from config service)

<<Lambda>>

Lambda to get events from Product V1 service.

AWS Lambda

<<SSM>>

SSM for Product V1 service.

SSM for Product V1 service

<<Cloudwatch Rule>>

Cloudwatch Rule to trigger lambda

Cloudwatch Rule

<<DynamoDb>>

DynamoDb table to get/update last read event id

DynamoDb Table

<<SNS>>

SNS to publish events for downstream components

SNS Topic

<<Cloudwatch Log Group>>

Cloudwatch log to show logger messages

AWS Cloudwatch Log

<<DLQ>>

DLQ is used to store the messages that failed to processed by SNS

SQS Topic

Configuration(from config service)

Config File Name

storepick-product-service-events-poller-lambda-config.json

Value:

{
"EVENTS_API_PAGE_SIZE": 500,
"MAX_EXECUTION_TIME": 540,
"MAX_EVENTS_COUNT": 10000,
"SNS_BATCH_LIMIT": 10,
"SNS_RETURN_PAYLOAD": true,
"EVENTS_WATERMARKS_TABLE": "$ENV.xxwmm.storepick.events.watermarks",
"PRODUCT_SNS_ARN": "arn:aws:sns:eu-west-1:333073960552:sns-euw1-$ENV-storepick-product-service-events-001",
"MORI_BASE_URL": "https://api.morrisons.com",
"GETPRODUCTEVENT_URL": "product/v1/items",
"API_RETRY_COUNT": 5,
"API_RETRY_EXPONENTIAL_BACKOFF": 1000
}

SSM for Product V1 service

SSM Name

storepick_hfss_product_service_secret

Value:

{
    "API_KEY": "__EXISTS__",
    "AUTHORISATION": "__EXISTS__"
}

Cloudwatch Rule

Environment

Cloudwatch Rule

dev

cwr-euw1-dev-storepick-product-service-events-poller-001

sit

cwr-euw1-sit-storepick-product-service-events-poller-001

prd

cwr-euw1-prd-storepick-product-service-events-poller-001

AWS Lambda

Environment

Lambda

dev

lmb-euw1-dev-storepick-product-service-events-poller-trigger-001

sit

lmb-euw1-sit-storepick-product-service-events-poller-trigger-001

prd

lmb-euw1-prd-storepick-product-service-events-poller-trigger-001

DynamoDb Table

Environment

DynamoDb Table

dev

dev.xxwmm.storepick.events.watermarks

sit

sit.xxwmm.storepick.events.watermarks

prd

prd.xxwmm.storepick.events.watermarks

SNS Topic

Environment

SNS Topic

dev

sns-euw1-dev-storepick-product-service-events-001

sit

sns-euw1-sit-storepick-product-service-events-001

prd

sns-euw1-prd-storepick-product-service-events-001

AWS Cloudwatch Log

Environment

Cloudwatch Log Group

dev

lmb-euw1-dev-storepick-product-service-events-poller-trigger-001

sit

lmb-euw1-sit-storepick-product-service-events-poller-trigger-001

prd

lmb-euw1-prd-storepick-product-service-events-poller-trigger-001

SQS Topic

Environment

SNS Topic

dev

sqs-euw1-dev-storepick-product-service-events-deadletter-001

sit

sqs-euw1-sit-storepick-product-service-events-deadletter-001

prd

sqs-euw1-prd-storepick-product-service-events-deadletter-001