스프링은 내장 톰캣을 가진다
톰캣을 따로 설치할 필요 없이 바로 실행 가능하다
Socket
운영체제가 가지고 있는 것
A 에 5000번 포트를 만들면 B가 ip주소 : 5000번으로 A와 통신한다
C라는 사람이 A와 통신을 하고 싶어서 소켓을 열어주길 원했고
그때 새로운 소켓 5001번이 열리면 5000번이 끊기고 다시 5001과 통신된다
그러면 계속 자원을 주고 받고 있기 때문에 5000번에 C가 통신할 수 없게된다
이때 5001번은 스레드1로 열고 5000번에는 main스레드로 만들어서
C가 5000번에 연결하게 될 수 있게 된다
그러면 다시 5002번이라는 스레드2로 소켓을 열면 C는 5002번과 연결된다
이렇게 하는 이유는 main스레드는 계속 새로운 통신을 받아야 하기 때문이다
이렇게 계속 반복되는것을 소켓 통신이라고 한다
소켓통신의 장점은 연결이 계속 되어있는것이고
단점은 계속연결되어 있으니 부하가 늘어나 성능이 떨어진다
http통신은 연결을 지속시키지 않는 stateless 방식을 사용한다
http
문서를 전달하는 통신 이다
B가 A에 무엇인가 요청을하면 계속 연결하는게 아니라
응답을 받고는 연결이 끊긴다
http통신의 장점은 연결이 계속 되어있지 않아 부하가 적지만
다시 연결될때는 다시 새로운 작업이 진행된다
즉 이전에 작업과 현재 작업이 동일한 사람인지 알지 못한다
'Spring' 카테고리의 다른 글
| [Spring] 서블릿 객체의 생명주기가 무엇인가요? (스프링부트 개념정리 / 인프런 최주호님 강의) (0) | 2022.10.07 |
|---|---|
| [Spring] 톰켓이란 무엇인가요? (스프링부트 개념정리 / 인프런 최주호님 강의) (0) | 2022.10.07 |
| [Spring] OOP관점에서 모델링이란 무엇인가요? (스프링부트 개념정리 / 인프런 최주호님 강의) (0) | 2022.10.07 |
| [Spring] 영속성 컨텍스트란 무엇인가요? (스프링부트 개념정리 / 인프런 최주호님 강의) (0) | 2022.10.07 |
| [Spring] ORM이란 무엇인가요? (스프링부트 개념정리 / 인프런 최주호님 강의) (0) | 2022.10.07 |