Per my knowledge, Front-end with Distributed Cache MinRole is the best suit to meet these requirements.
You could refer Planning for a MinRole server deployment and Description of MinRole and associated services articles to get more information.
The Single-Server Farm MinRole is for development, testing, and limited production tasks. If you are aimed to meet product company requirements, it is not recommended to use Single-Server Farm MinRole.
If the answer is helpful, please click "Accept Answer" and kindly upvote it. If you have extra questions about this answer, please click "Comment".
Note: Please follow the steps in our documentation to enable e-mail notifications if you want to receive the related email notification for this thread.