Before Kinesis, SNS with SQS was preferred for most use cases unless we don't need to guarantee FIFO on messages,
The main advantage of Kinesis is:
We can read the same message from multiple applications and re-read messages.
To manage spike load, it's pain in Kinesis,
we need to increase the number of shards where SQS is infinitely scalable.
Kinesis is preferred when data in the stream are related or not related to each other,
While SNS/SQS is preferred when data in the stream are not related to each other.
Pricing models are different,
SQS charges per message while Kinesis charges per hard per hour,
Total charges of SNS-SQS is higher than Kinesis,
Real-time analytics of data is only possible with Kinesis while SNS-SQS is good for batch messages for future processing.
Some points are missing, Please add those points or suggest me required changes in my post.
Top comments (0)