i have a spring boot application with too many users, and there are many incoming requests to my application, what should i do for deploying a new feature to the application without losing incoming user request and actually interrupting the application’s availability to clients ? i wanna know about best practices for my issue.
-
You have to add redundancy and a load balancer. Does your application uses Session Scope? – Simon Martinelli Apr 14 '20 at 06:13
-
There are multiple deployment strategies that could be employed. For your specific use case you may use something like blue green deployment strategies. Again as @SimonMartinelli mentioned you could have Load Balancer effectively here. Follow-up question :- Does your application needs to respond to request in real time or non-real time. – Vipin Sharma Apr 14 '20 at 06:24
-
thanks you so much for keyword blue green. i'm going to study that in details. – Moya Apr 14 '20 at 07:49
1 Answers
Please note deployment strategies depends on the nature of your application.
For cases like you mentioned Blue/Green or Canary would be useful.
Various ways Deployment strategies classified, below is one such categorization.
Recreate: Version A is terminated then version B is rolled out.
Ramped (also known as rolling-update or incremental): Version B is slowly rolled out and replacing version A.
Blue/Green: Version B is released alongside version A, then the traffic is switched to version B.
Canary: Version B is released to a subset of users, then proceed to a full rollout. A/B testing: Version B is released to a subset of users under specific condition.
Shadow: Version B receives real-world traffic alongside version A and doesn’t impact the response.
reference link - https://thenewstack.io/deployment-strategies/

- 107
- 1
- 8