I have limited resources so I can't set complete microservices
architecture with docker & kubernetes, and my app is being used continuously bu users.
I have to re-deploy my app for each new release/hot-fix, do you know how can I achieve that with minimal down time?
Information about my app:
- Startup duration in the server:
80 seconds
. - Port:
8080
- App server:
embedded tomcat
- Spring-boot release:
2.0.1.RELEASE
. - I am behind a corporate
nginx
reverse proxy. - Packaging:
jar
- Stage:
production
I thought about this solution:
- Setting up internal
nginx
that listens on port 8080 rather than my app and forward to new port. - Each time I want to deploy, I start my app in a new different port and change nginx conf then reload it.
Is there anyone who faced this problem before ? or any thought how to achieve it?
Thank you in advance.