사용량이 좀 있는 서비스 인 경우 WEB, WAS 두대 씩 배치하여 개발하는 경우가 자주 있다.
우선 WEB, WAS 가 이중화 된 서버의 내부를 그려보았다.

1. 사용자는 공인 IP로 사이트에 접속한다.
2. 하나의 공인아이피로 들어온 요청은 공유기를 통해 내부 아이피 즉 사설 IP로 매핑된다.
3. L4는 VIP(가상아이피로) 클라이언트의 요청을 웹서버 보다 먼저 받는다.
( L4 의 역할은 WEB1과 WEB2 중 하나에 요청이 몰리지 않도록 분산해서 요청해주는 역할을 한다. )
5. L4가 적절한 WEB 서버로 요청을 보내줄 때 비로소 실제 웹 서버 IP 로 전달된다.
6. 앞에서 말한것과 마찬가지로 Web 서버는 Was로 요청을 보낼때 L4 가 가진 VIP로 요청하고
7. WAS 앞에 있는 L4는 요청을 받아서 WAS에 골고루 분배한다.
8. 사이트내 외부와 연동하는 서버들(Sms, 본인인증 등등 )은 여러개가 있을텐데
외부 연동은 공인아이피를 통해서 이루어진다.
단어 설명
공인 IP - 인터넷 업체로부터 우리집으로 쏴주는 IP주소. 외부에서 접속하기 위한 실제 주소 입니다.
쉽게 생각해면 - > 집주소
사설 IP - 공유기 내에서 새로이 주소를 만들어서 뿌려주는 주소입니다.
쉽게 생각하면 -> 내 방 주소
포트 - IP주소 뒤에 ":80"식으로 붙는 주소 입니다. 하나의 IP로 여러 포트를 열어 각기 다른 접속을 합니다.
쉽게 생각하면 -> 내 방에 서랍 위치
이것도 어렵다면 !! 더 쉽게 !!!
별카페 드라이브 쓰루가 있다 -- > 나의 서비스
손님이 네비에 별카페 주소를 찍고 왔다
--> 별카페 주소 = 공인 IP
키오스크로 아메리카노를 주문했다
-- > 주문 = 사용자의 요청, 키오스크 = 공유기
키오스크는 접수된 주문 내용을 매장 내부에 전송했고, 대기중이던 접수 담당 직원이 확인했다.
--> 공유기(키오스크)는 요청을 사설 아이피에 매핑(매장내부에 전달) 해주었고 요청(주문내용)은 웹서버(매장내부)에 들어와 앞단에 있는 L4(접수담당 직원)가 요청을 받았다.
접수담당 직원은 두 명의 바리스타 중 만들어야할 주문서가 적은 직원에게 주문서를 전달했다.
- -> L4(접수담당직원)가 부하를 확인하고 알맞은 웹서버(바리스타)에 요청을했다.
바리스타들은 매니저에게 원두와 컵을 더 채워달라고 요청했다
---> 매니저 = 두번째 L4
매니저는 주방에 들어가 주방직원들 중 하고 있는 일이 적은 사람에게 바리스타의 요청을 전달한다.
- -> L4가 부하를 확인하고 알맞은 WAS서버에 요청을했다.
주방 직원은 원두가 얼마나 남았는지 확인 후 원두 반출을 기록했다. 그리곤 원두를 전달했다.
--> WAS는 DB와 연결해 데이터를 조회 후 기록하는 역할
왜 WAS가 앞에 있지 않을까?
> 원두가 언제 얼마나 나가고 들어왔는지 기록은 매장의 사적 데이터임.. 이걸 손님들이 다 볼 수 있다면 안되겠져?
그래서 아무나 들어올 수 없는 주방에 내부 기록을 보관한다고 생각하면 된다.
( 통장 이력을 모두에게 공개하지 않는 것과 같음 )
아주 쉽쥬? 끝!
'프로그래밍' 카테고리의 다른 글
| ping port 확인하는 방법 ( tcping 사용법) (0) | 2020.09.21 |
|---|---|
| Jasypt 사용 가능한 알고리즘 확인하기 (0) | 2020.09.18 |
| Window) Oracle Table Space 설정 방법 (0) | 2020.09.14 |
| 톰캣과 아파치를 같이 사용하는 이유는 무엇일까? (0) | 2020.09.11 |
| 단축 URL ( URL Shortener ) 원리와 사용법 (0) | 2020.08.20 |