See diagram.
API gateway will be responsible for requests routing, will off-load authentication mechanism from underlying service as well as managing rate limiting to protect servers. Logging and metrics emission are also its responsibilties.
Load balancers are not mentioned but are implied by autoscaling and will sit in front of instances pools (API gateway as well as services)
See diagram
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...
Database infinite growth: Implement cleaning mechanism removing expired mapping from databases and caches. And advertise a retention policy to the user (like mapping not used for X months will be removed)
High load/Abuse/DDOS: Implement rate limiting on API gateway to protect servers as well as autoscaling to answer the load. Additional strategy like shuffle sharding may be used to further protect again chain reactions. As well as retry strategy and circuit breaker. Thanks to micro-services architecture, shortening service and redirection service are isolated (bulkhead) which would allow one to continue to work if the other is down or degraded (even though it may imply discrepancies in redirection, data will eventually be consistent when system get back on track)
Functional:
Non functional: