- Newest
- Most votes
- Most comments
The answer is it depends. This is due to number of users, throughput request/seconds and other values.
A suggestion could be to send the S3 event notification to an SQS queue or an SNS Topic. Then the consumer could be a Step Function that has 2 states:
- the Media converter.
- update of the database. This could be a lambda function which has an RDS proxy integration in front of the RDS database.
In this serverless way, you could retry, keep an eye on the flow, ensure the converter does not get overwhelmed by requests.
Great suggestion, thanks!
My concern still on the 2nd state of the step function. So would the step function connect to RDS (proxy or not) and not use another service that perform operations in the table?
In this scenario I would have the second step using a Lambda or container that connects directly to RDS via using an RDS proxy.
I see your point of abstracting the db layer by having it responsible to handle db interactions. In my experience it just felt a bit over engineering as it would have pretty much the same role as an RDSProxy, but if you want to create an api that is used as api layer that then calls rds proxy, the there may be more latency and be potentially a bottleneck, but up to you.
Hope the answer makes good sense and helps you!
Relevant content
- asked 3 months ago
- App with 2 microservices - should they run in two ECS clusters or two services in single ECS clusterAccepted Answerasked a year ago
- AWS OFFICIALUpdated 2 years ago
- AWS OFFICIALUpdated 2 years ago
- AWS OFFICIALUpdated 7 months ago
- AWS OFFICIALUpdated 2 years ago
If below helps, please upvote/accepted. It would be appreciated!