I have been reading and trying to understand about connection made between client and server. Found many articles but they all left me into some virtual world. I am asking this question to validate my understanding.
So each client and server connection is actually server socket dedicated to the client.
For clarity I am taking example of java server, lets say Tomcat. -
If each new client request open's a new socket at server machine and starts a new thread of server to continue the communication ?(Yes/No)
From #1 does this mean that max. no. connections that could be made to server depends upon the no. of threads server can support ?(Yes/No)
Socket is a pair of IP:PORT, does this mean for each new connection a new port is used ?(Yes/No)
How server manages these ports allocation for creating new socket for new connection ?
Does scaling a single server machine on fleet means increasing these connection threads ?(Yes/No/Needs More explanation)
- Are these threads system-level threads(not the JVM threads), as they are using system resources ?(Yes/No)