Looking for an overall Tomcat/Java based backend architecture solution for a new platform [closed]

I’m looking for a right overall mid-layer/backend tech solution for a consumer app
(mobile/website) with potentially large number of users. I’m not new to technology and
the space butnot up to date with the latest and greatest, so have a few questions given
what’s currently out there.

While the solution needs to be scalable (no interest in re-architecting in near future),
it doesn’t have to be extravagantly costly solution. It needs to be something I can
get developed myself with right expertise (I myself do have enough tech expertise to
understand and manage). What I’m looking for is recommendations for the latest tech to
use or request to be used since I haven’t dealt with it in a while.

Here’re the rough top-level requirements –

  • Offsite hosting with combination of Tomcat / … / Java / MySql hosted on
    AWS kind of platform (Tomcat and MySql preferred) but not sure about middle “…”
    layer. Is Angular JS or Node JS with Spring the right way to go?

  • Layer between front end app and Tomcat (Angular JS or Node JS)??

  • Website to accomodate functionality with session concept (like cart) but not
    necessarily timeout like bank logins, but rather Amazon like where I can come back later and still login without having to enter credentials. What’s the right tech to use?

  • Mobile app (native or not) witho no session timeout for mobile (e.g. Venmo) i.e. verify
    first time, but no re-login required even if phone is rebooted. (Not sure how it
    works if phone is replaced. (Re-login requirement ok from website).

  • If the mobile app developed as cross platform web app, then behavior same as website
    mentioned above (What tech to use to develop such a cross platform mobile app?)

  • What will work best for native mobile apps from backend API kind of view?

Any recommendations on overall architecture? I think I prefer following kind of concept
except for the “???” pieces where I’m not sure.

<Web/Mobile> –> Frontend underlying piece (???) –> Backend Layer (Spring/Tomcat???) –> MySql

Thank you in advance.

PS: I’ve thought of Angular JS / Tomcat / MySql solution based on stateless protocol but am not sure if it’s the right solution in terms of scalability and other requirements such as some session management and stickyness of login requirements.