Messaging Flashcards

1
Q

SQS Message Duration

A

Default is 4 days but range 1-14 days

attribute: MessageRetentionPeriod

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

SNS Max Subscribers and Max Topics?

A

12.5 million subscribers. 100K Topics.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Kinesis Data Expiry

A

Default 24 hours. Extended Data can be 7 days. Long Term Retention 365 days.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Max sqs msg size

A

256kb.

Using Java extended client library to store msgs > 256kb. It stores data in S3 and just a link ref in sqs

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Max sqs msgs

A

Unlimited.

Max of 120k in flight for std queue and 20k

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

SQS Visibiltiy Timeout

A

30 Seconds. Configurable up to 12 hours.

attribute: VisibilityTimeout

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

SQS Delivery Delay

A

Default 0. Maximum 15 seconds.

attribute: DelaySeconds

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

How to Scale Standard SQS Queue

A

Add more consumers.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Can you change SQS Queue Type after creation ?

A

NO

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

How to remove a queue and its contents ?

How to just empty the queue?

A

DeleteQueue will empty and remove the Queue. Can take 60 seconds.

PurgeQueue will just empty it.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

BeanStalk Updates - Rolling v ROlling with Additional Batches.

A

Rolling update takes down old instances in small batches, replacing it with the new version. Users may therefore sometimes point to old version and sometimes new version. No additional instances are spun up so cost remains the same but deployment will take longer and minor performance hit during the rollout.

Rolling WIth Additional batches is similar but it adds new batches (and this more Instances at more $) but ensures that performance remains the same throughout.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

in SQS, whats the best way to handle high variable traffic spikes ?

A

Use backlog per instance metric with target tracking scaling policy

Whilst you can use CloudWatch Amazon SQS metric like ApproximateNumberOfMessagesVisible, this doesn’t consider how many consumers are running so back log per instance = msgs / consumers

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

What options do you have to address the issue of ProvisionedThroughputExceeded for Kinesis?

A

1) Increase the number of shards within your data streams to provide enough capacity

2) Configure the data producer to retry with an exponential backoff

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

How long does kinesis keep data for ?

A

Default 24 hours. Max 365 days

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Kinesis or Kinesis firehose?

A

Kinesis data streams are used in places where an unbounded stream of data needs to worked on in real time. Data by default is stored for 24 hours but can store up to 365 days. Requires custom dev code.

Kinesis Firehose delivery streams are used when data needs to be delivered to a storage destination, such as S3

Firehose: Firehose handles loading data streams directly into AWS products for processing.

Fully managed, send to S3, Splunk, Redshift, ElasticSearch

Serverless data transformations with Lambda

Near real time (lowest buffer time is 1 minute)

Automated Scaling

No data storage

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Kinesis KPL library verses Kinesis Agents ?

A

The KPL is an easy-to-use, highly configurable library that helps you write to a Kinesis data stream. It acts as an intermediary between your producer application code and the Kinesis Data Streams API actions.

Kinesis Agent is designed to continuously monitor a set of files and send new data to your stream for example send EC2 log files to Kinesis.

17
Q

Kinesis Data STreams Standard V Enahanced Fan Out

A

Stanard for low nbr of consumers (1-3) with latency of 200ms.

Enahnced for lower latency (70ms) and handling larger consumers (5+). Costs more.

18
Q
A
19
Q

What is the maximum number of EC2 instances that can be deployed to process 10 shards.

A
  1. You can have at most one EC2 instance per shard in Kinesis for the given application.
20
Q

Sqs visibility v sqs retention

A

Retention is how long msgs stay on queue. Default is 4 days. Max is 14 days.

Visibility is how long they remain invisible to other consumers when a consumer picks up the msg. Ie how long your process will need to process the msg.

Default is 29 seconds. Max is 12 hours