I am migrating enterprise web application using spring MVC and spring boot which currently working in core .Net technology. In Java I am using microservices and postgresql in backend and using angular in front end. This application actually consist of 18 spring MVC project with almost 70-75 end points. And we have upto 15 tenants using this.
Now we are using Kubernetes and Jenkins in our own On-premise server to deploy the development version. So We are facing issue that if multiple login making at same time, we facing lot of dely. Previously we thought that it is because of delay from our server. But later we understood that because of greater number of api calls from angular making delayed operation.
Confusion in Future Implementation Using Multithreading
Now we are thinking to implement the all backend spring boot microservices using multi-threading. So to implement scalable application Here my confusion is that,
- Is multithreading will resolve my delaying operation issue ?
If it is not a good move , which alternative idea available for me? . I am new to designing scalable application. So totally confused here. Can anyone suggest any solution to my problem or suggest any good tutorial to resolve this please?
Update - Information of Current architecture
Running Pods - For testing purpose only we used Kubernetes for deployment. And 18 pods for each microservice project plus additionally 1 pod for running angular app.
APIs - from angular application, which will hit the backend microservices. At one time upto 18 tenant customers may access application. Ie, almost 200 surveying customers may parallelly access.
Microservice dependency- When Angular calls each microservices , it will call another api internally for authentication/authorization purpose (security api). I don't know this is will make any problem to my system.
Deployment On Kubernetes Cluster(AWS EKS/On_premise) - is yet to get permission from org. Since AWS EKS will make a additional cost. So I have to look for deployment without K8 Cluster is also one concern to me.
Surveying page makes one complex page in application which have 4 to 5 tabs and each tab saving functionality need to do independently. Each save operation has its own working time. Since multiple tables are joining and save op takes a while to finish in each tab.