File tree Expand file tree Collapse file tree 1 file changed +26
-0
lines changed Expand file tree Collapse file tree 1 file changed +26
-0
lines changed Original file line number Diff line number Diff line change @@ -112,6 +112,32 @@ PC 웹브라우저 또한 DNS request 결과를 캐싱하기 때문에 같은
112
112
113
113
DNS의 TTL값을 짧게 설정하여 어느정도 불균등 분산 문제를 해결할 수 있지만, TTL값에 따라 캐시된 DNS request에 대한 결과값을 해제하는게 아니므로 주의가 필요하다.
114
114
115
+
116
+ ## ## 3. 서버가 다운되도 확인이 불가능합니다.
117
+ DNS 서버는 웹 서버의 부하나 접속 수 등의 상황에 따라 질의결과를 제어할 수 없다.
118
+ 웹 서버의 부하가 높아서 응답이 느려지거나 접속수가 꽉 차서 접속을 처리할 수 없는 상황인 지를 전혀 감지할 수가 없기 때문에 어떤 원인으로 다운되더라도 이를 검출하지 못하고 유저들에게 제공된다.
119
+ 이때문에 유저들은 간혹 다운된 서버로 연결이 되기도 한다.
120
+ DNS 라운드 로빈은 어디까지나 부하분산 을 위한 방법이지 다중화 방법은 아니므로 다른 S/W 와 조합해서 관리할 필요가 있다.
121
+
122
+ # * 해결 방안*
123
+
124
+ 이를 위한 극복 방법은 다음과 같다.
125
+
126
+ 1 . 다중화 구성 방식 (Synchronous Time-Division Multiplexing)
127
+ AP 서버에 VIP(Virtual IP)를 부여해서 다중화를 구성한다. 각 AP 서버를 Health Check후 이상이 감지되면 VIP를 정상 AP 서버로 인계하는 방식을 사용한다.
128
+ 즉 DNS Server Table 에 실시간으로 AP 서버의 상태를 확인할 수 있는 칼럼 및 함수를 추가하여 요청될 경우 서버 상태를 확인하여 우회루트를 제공하거나 에러를 전송하는 방식을 말한다.
129
+
130
+ 2 . 가중치 편성 방식 (Weighted round robin)
131
+ 각각의 웹 서버에 가중치를 가미해서 분산 비율을 변경한다. 물론 가중치가 큰 서버일수록 빈번하게 선택되므로 처리능력이 높은 서버는 가중치를 높게 설정하는 것이 좋다.
132
+
133
+
134
+ 또 다른 방법으로는 로드 밸런서의 도입을 통하여 다음과 같은 구성도 가능하다.
135
+
136
+ 3 . 최소 연결 방식 (Least connection)
137
+ 접속 클라이언트 수가 가장 적은 서버를 선택한다. 로드밸런서에서 실시간으로 connection 수를 관리하거나 각 서버에서 주기적으로 알려주는 것이 필요하다.
138
+
139
+
140
+
115
141
# 참고
116
142
117
143
[ DNS란] ( https://github.com/alstjgg/cs-study/blob/main/%EB%84%A4%ED%8A%B8%EC%9B%8C%ED%81%AC/DNS.md ) , [ 2] ( https://github.com/wjdrbs96/Today-I-Learn/blob/master/Network/Application/DNS%EB%9E%80%3F.md )
You can’t perform that action at this time.
0 commit comments