사실 나는 API 개념을 이해 잘 못했다.
그래서 인턴 때도 이 아키텍처는 AP 서버가 있고 저 아키텍처에서는 API 서버가 있고, 다른 아키텍처에는 WAS 서버가 있어서 다 다른 용도인줄 알았다.
비즈니스 로직이 저장되어있다는 WAS 서버... 비즈니스 로직이 무엇인가. 몰랐었다.
그리고 내부 호출 api에 도메인이 왜 필요한가. 에 대해서도 몰랐었다.
개발을 안해보니 확실히 소통에 있어서 문제가 있음을 느꼈다.
이번에 실제 업무를 진행하면서 개발경험이 있는 동기한테 많이 배운 것 같다..
동기가 "API 서버는 API용일뿐이고 실제 데이터는 DB에 저장이 된다. API 서버에서 저장되는 건 없다!! "
"사용자가 앱apk를 다운받고 앱에서 '조회' 버튼을 누르면 내부 api 호출이 일어나 실제 서버에 닿고 서버를 통해 DB 내 데이터를 끌고 온다!!"
열심히 설명해주셔서 이제 이해 완... ㅎㅎㅎ
HTTP API
- 서로 다른 플랫폼이나 시스템 간 데이터를 주고 받기 위해 사용되는 통신 방식
- 예를 들어, 동일한 웹 페이지 내 호출 X
사용자가 웹 페이지 내 모달창 열기/닫기 (http api X) - 사용자가 웹 페이지 접근을 위해 브라우저를 통해 웹 페이지 URL을 입력하면
브라우저가 웹 페이지가 뜨는 서버에 HTTP 요청을 보냄 (http api O) - 이러한 HTTP API 통신 방식은 GET, POST, PUT, DELETE... 기타 등등의 형식으로 다른 플랫폼과 통신함
예시 아키텍처 (1)
- 사용자가 웹 페이지에 ID/PW 입력 후 "로그인" 버튼 클릭
- 웹 페이지는 버튼 클릭시, WAS 서버에게 ID/PW 전달 및 api 호출 (통신 포트: 8080)
- WAS는 DB에게 해당 사용자 ID/PW가 있는지 확인 요청
- 있으면 웹에게 로그인 성공 결과 반환
예시 아키텍처 (2)
- 사용자는 브라우저를 통해 Web(http://logincompany.com) 호출 (통신 요청 수신 과정 생략..)
- 사용자가 Web에 ID/PW 입력 후 "로그인" 버튼 클릭
- Web은 버튼 클릭시, WAS에게 ID/PW 전달 및 api 호출 (통신 포트: 8080)
- WAS는 DB 도메인 호출하여 해당 ID/PW 사용자가 있는지 확인 (DB는 RDS쓰면 보통 도메인이 나와서 새로 생성X)
- WAS는 ID가 "admin" 일 경우, admin페이지 호출( admin.logincompany.com:4040)
필요한 도메인 목록
logincompany.com |
api.logincompany.com |
admin.logincompany.com |
Route53 호스팅 영역에 레코드로 추가해주어야 한다.
LB를 도입한다면 LB와 연결이 필요하다.
LB도 규칙 생성할 때 저 도메인을 적용해야 한다.
또는 여러 도메인마다 여러 LB 생성이 필요하다.
'운영체제(OS) & Network' 카테고리의 다른 글
[정보보안기사] 05. 네트워크 일반 (8) | 2024.09.17 |
---|---|
[정보보안기사] 02. 운영체제 구조 (0) | 2024.09.17 |
스토리지 이중화 (Multipath/MPIO) (0) | 2024.07.01 |
네트워크 이중화 (Bonding & Teaming) (0) | 2024.07.01 |
아키텍처 패턴 (Cloud) (0) | 2024.07.01 |