I am developing web application which will process web form submission requests and file uploads requests. I have massive scalability requirement. I will like to use micro service architecture pattern and am considering the following:
a. Nginx HTTP server
b. Apache Tomcat to process form submissions
c. NodeJS to process file uploads
d. Will use distributed cache to maintain session and hence all server side calls (REST) will be stateless and mapped with a session token
I will avoid session stickiness between Load Balancer and HTTP / web servers. User will login through tomcat and once logged in session cookie will be passed on to browser / token will be added to header and also added to cache; every subsequent request will be authenticated.
Please highlight if you see any major pros and cons with above approach and if so any alternate approach you will like to suggest. How can I create NodeJS and Tomcat cluster?