CloudWatch has some hard limits for the PutLogEvents API. We need a clever strategy to handle these cases:
- At flush time we can send the max of 1MB, the problem is these may be heavy logs so probably the queue may never catch up and we will have latencies to report metrics.
- At flush time we partition the requests and begin working on them bit by bit. We need to be careful to handle throttling since there is a TPS limit that we would need to handle.
Option 2 seems way more scalable so I'd recommend going with that approach!
CloudWatch has some hard limits for the PutLogEvents API. We need a clever strategy to handle these cases:
Option 2 seems way more scalable so I'd recommend going with that approach!