반응형
저는 늘 궁금했습니다..! 일하다보면 늘 서버 접속정보와 디비 접속정보의 아이피가 다르거나, 같거나 하는 경우가 있는데요. 저는 이 원리가 너무 궁금했습니다. 그래서 이번에 조사하면서 알게된 것들을 바탕으로 정리해보겠습니다.
웹 서버(Server)와 데이터베이스(DB)가 동일한 환경(같은 IP)에서 동작
만약에 서버 아이피와 데이터베이스 연결 아이피가 모두 같다면 어떨까요? 이것의 특징에 대해서 알아보겠습니다.
- 하나의 환경에서 여러 서비스를 운영하는 경우를 '모노리식 구조'라고도 부릅니다.
- 초기 설정이나 관리가 간단한 편이지만, 확장성 측면에서는 한계가 있을 수 있습니다.
웹 서버(Server)와 데이터베이스(DB)가 분리
- 두 서버는 각각 다른 물리적 혹은 가상의 환경에서 동작할 수 있습니다.
- 이런 구조는 확장성, 관리 용이성 등의 이점을 가집니다.
분리되어 있을 때 서버와 디비 통신은 어떻게?
- 통신의 무리 여부
- 웹 서버와 데이터베이스가 분리되어 있다고 해서 통신에 큰 무리가 있을 것이라는 것은 아닙니다. 실제로 많은 서비스에서는 보안, 확장성, 유지보수의 이유로 두 서버를 분리하여 운영합니다.
- 그러나, 물리적 거리나 네트워크 환경에 따라 통신 지연(latency)이 발생할 수 있습니다. 따라서, 실시간성이 중요한 서비스나 빈번한 데이터베이스 액세스가 필요한 경우에는 네트워크 최적화가 중요합니다.
- AWS 클라우드와 데이터베이스의 위치
- AWS와 같은 클라우드 환경에서 웹 서버와 데이터베이스가 서로 다른 위치에 있더라도 통신하는 데 문제가 없습니다. AWS는 전세계에 여러 데이터 센터를 보유하고 있으며, 내부적으로 고속의 네트워크 인프라를 통해 서로 다른 리전 및 가용 영역 간에도 데이터를 빠르게 전송할 수 있습니다.
- 그렇지만, 가능하다면 동일한 리전 내에서 서비스를 운영하는 것이 지연 시간을 줄이고 더 빠른 통신을 가능하게 합니다.
- IP 주소로의 통신
- 네, 웹 서버와 데이터베이스는 IP 주소(또는 도메인 이름)와 포트 번호를 통해 서로 통신합니다. 데이터베이스에 접근할 때 일반적으로 특정 포트(예: MySQL의 경우 3306 포트)를 사용하며, 해당 포트를 통해 데이터베이스 서버에 요청을 보내고 응답을 받게 됩니다.
반응형
'CODE > CodeKnowledge' 카테고리의 다른 글
[자료구조] 퀵정렬(Quick Sort)이란? (0) | 2023.11.04 |
---|---|
[자료구조] Queue vs priority queue (0) | 2023.11.02 |
[AWS] aws에서 람다는 무엇일까 (0) | 2023.10.11 |
[아키텍처] 웹훅(Webhook)이란 무엇일까 (0) | 2023.10.05 |
Oracle 설치 2 (0) | 2023.10.03 |
댓글