Integration and Messaging Flashcards

1
Q

What are the 2 patterns of application communication?

A
  • Synchronous (app to app)

- Asynchronous (app to queue to app)

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

What is the default retention period for SQS messages?

A

4 days, maximum 14 days

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

What size are SQS messages?

A

256KB

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

What is a Delay Queue?

A

A queue that allows you to delay messages becoming available for consumers

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

How long can you delay a message in the delay queue?

A

Up to 15 minutes

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

What is the default time for delay queues?

A

0 seconds (immediately available)

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

What parameter do you use to override the default delay for the delay queue?

A

DelaySeconds parameter

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

What data type is a message body?

A

String

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

What other options can be sent with a message body?

A
  • Message attributes (metadata)

- Delay Delivery setting

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

How many messages can a consumer receive at one time?

A

10

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

What is visibility timeout?

A

The amount of time a message is invisible to other consumers after being picked up.

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

What is the maximum visibility timeout?

A

12 hours

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

What is the default visibility timeout?

A

30 seconds

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

How do you change the visibility timeout?

A

Use the ChangeMessageVisibility setting in the API

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

What is a Dead Letter Queue?

A

A queue that holds messages that have exceeded the redrive policy.

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

What is a redrive policy?

A

The threshold of how many times a message can go back into the queue.

17
Q

What is Long Polling?

A

It allows a consumer to wait for a specified time for messages to become available.

18
Q

What is the wait time limit for Long Polling?

A

1 to 20 seconds

19
Q

What are the advantages of Long Polling?

A
  • Decreases number of API calls

- Increases efficiency and latency of the application

20
Q

How do you set the Long Poll time via API?

A

Use the WaitTimeSeconds parameter

21
Q

What are the 3 default message attributes you can send with the body?

A
  • Name
  • Type
  • Value
22
Q

How many messages per second can a FIFO queue handle?

23
Q

How do you send SQS messages larger than 256KB?

A

Use the SQS Extended Client

24
Q

How does the Extended CLient work?

A

It sends a small message to SQS and a large message to S3. The consumer then gets the large file from S3

25
How do you publish SNS messages for mobile apps?
Use Direct Publish
26
What are the 3 steps to use Direct Publish?
- Create a Platform Application - Create a Platform Endpoint - Publish to the Platform Endpoint
27
What is the Fan-Out pattern?
It is when we use SNS and SQS together to prevent any data loss by pushing once in SNS and receiving in many SNS queues.
28
What is AWS Kinesis?
It is the AWS alternative to Apache Kafka, which streams real-time big data such as logs, clickstreams, IoT etc.
29
Is Kinesis Data automatically replicated?
Yes, into 3 Availability Zones
30
How long can data be in a shard in Kinesis?
Up to 7 days, default is 1 day
31
How many shards can a stream have?
Multiple
32
How many messages can a shard write per second?
1000 messages p/s or 1MB/s
33
How many messages can a shard read per second?
2MB/s
34
What is resharding?
When we add shards to the stream
35
What is shard merging?
When we subtract shards from the stream
36
How do you put data into Kinesis via API?
Use PutRecord with a PartitionKey.
37
What is the PartitionKey?
Identifies the partition/shard the data will be sent to.
38
How do you prevent overloading specific shards?
Choose a partition key that is highly distributed, such as user_id
39
What would you use to load data into Redshift, S3, ElasticSearch or Splunk?
Kinesis Firehose