Assuming 50% of these queries come in during 4 hours of peak time per day ,
Peak read api throughput = = 14 tps. This throughput can be delivered by a single core. Here for the sake of High availability a minimum of 2 large ec2 instances ( 2 core , 4 gb memory can be considred )
Assuming 50% of the write volume per day happens during 4 hours,
Peak IO bandwidth = (112/2)/4 = 14 mb/hr = 3.8 kbps.
Based on these numbers, rdsInstance of 1 small or medium instanceType with 100 GB disk space available is sufficient for the master .
To ensure High Availability , a 2+2 instance deployment in 2 AZ s is recommended. Single master , hot secondary setup.
Write service estimate -- From the above calculation , total api write volume per day is 13200 .
Thus, Peak api write throughput = 1650 / hr = 0.5 tps.
For operational simplicity , the read and write api s can be served from same service as their combined throughput requirement as per this calculation is rather less . The estimation is dominated by high availability concern
THere should be an active data archival policy scheduled on regular interval to maintain the size
Explain how the request flows from end to end in your high level design. Also you could draw a sequence diagram using the diagramming tool to enhance your explanation...
Dig deeper into 2-3 components and explain in detail how they work. For example, how well does each component scale? Any relevant algorithm or data structure you like to use for a component? Also you could draw a diagram using the diagramming tool to enhance your design...
Mitigation - Read service might intelligently identify the auctions whose details are most likely to be stale , e.g the ones with closes bid_closing time and augment the ES results with OLTP db data from read replica.