1. 서버의 종류
[ 프록시 서버 ]
클라이언트와 서버 간의 중계 역할을 수행하는 서버. 인터넷 사용 시 우리가 직접 웹사이트에 접속하는 대신, 중간에 프록시 서버를 거쳐서 웹사이트에 접속하는 것! 이는 우리의 요청을 대신하여 서버와 통신하고, 서버로부터 받은 응답을 우리에게 전달하는 역할을 한다. 즉, (안전을 위해) 프록시 서버는 필터링과 같은 역할을 수행하게 시키거나 단일 진입점의 역할로서 서버를 하나 더 두는 것이다. (마치 프런트 컨트롤러처럼 사용한다.) 스프링에서도 서버를 여러 대 운영하여 부하를 분산시키거나, 프록시 서버를 사용하여 단일 진입점을 구성하는 등의 방법을 활용하여 성능과 안정성을 향상함
[ 폴링 기법 ]
폴링은 클라이언트가 일정한 주기로 서버에 반복적으로 요청을 보내는 방식 클라이언트는 주기적으로 서버에 데이터를 요청하여 새로운 정보가 있는지 확인하고, 새로운 정보가 있을 때만 데이터를 받는다.
[ 서버 샌드 프로토콜 (SSE) ]
데이터를 서버에 줘버리면, 바로 Request 선을 끊어버린다.
[ 웹 Flux ]
반이중과 비슷하나... 데이터를 총 5개까지 받을 수 있다고 가정해보자 4를 받으면 (파란선) 4개죠? 그럼 선 안끊긴다. 유지 5를 받으면 (노랑) 5개죠? 데이터 5개가 다 찼으니 그때 선을 끊어버린다.
[ 푸쉬 서버 ]
클라이언트가 요청하지 않아도 서버로부터 데이터를 푸시로 받는 방식. 서버는 변경된 데이터가 있는 경우에만 클라이언트에게 데이터를 푸시하여 전달한다. (내가 요청을 하지 않아도 서버로부터 푸쉬 받는다) (실시간으로 데이터를 받을 수 있으므로, 채팅과 같이 실시간으로 데이터가 업데이트되는 경우에 주로 사용된다.)
이게 가능하려면 선이 유지되어 있어야 함
선이 유지되고 있다 = 객체가 사라지지 않았다 = close안 하면 계속 선 살아있다 = statefull
Share article