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?

A

300

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
Q

How do you publish SNS messages for mobile apps?

A

Use Direct Publish

26
Q

What are the 3 steps to use Direct Publish?

A
  • Create a Platform Application
  • Create a Platform Endpoint
  • Publish to the Platform Endpoint
27
Q

What is the Fan-Out pattern?

A

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
Q

What is AWS Kinesis?

A

It is the AWS alternative to Apache Kafka, which streams real-time big data such as logs, clickstreams, IoT etc.

29
Q

Is Kinesis Data automatically replicated?

A

Yes, into 3 Availability Zones

30
Q

How long can data be in a shard in Kinesis?

A

Up to 7 days, default is 1 day

31
Q

How many shards can a stream have?

A

Multiple

32
Q

How many messages can a shard write per second?

A

1000 messages p/s or 1MB/s

33
Q

How many messages can a shard read per second?

A

2MB/s

34
Q

What is resharding?

A

When we add shards to the stream

35
Q

What is shard merging?

A

When we subtract shards from the stream

36
Q

How do you put data into Kinesis via API?

A

Use PutRecord with a PartitionKey.

37
Q

What is the PartitionKey?

A

Identifies the partition/shard the data will be sent to.

38
Q

How do you prevent overloading specific shards?

A

Choose a partition key that is highly distributed, such as user_id

39
Q

What would you use to load data into Redshift, S3, ElasticSearch or Splunk?

A

Kinesis Firehose