public override void ItemUpdating(SPItemEventProperties properties)
{
base.ItemUpdating(properties);
DisableEventFiring();
double apScv = 0;
double apVlvl = 0;
string apScvConvert = properties.AfterProperties["vti_sourcecontrolversion"].ToString().Replace("V", "");
apScv = Convert.ToDouble(apScvConvert);
apVlvl = Convert.ToDouble(properties.ListItem.File.UIVersionLabel);
if (apVlvl > apScv)
{
//롤백일 경우 에러를 반환
properties.ErrorMessage = "버젼을 되돌릴수 없도록 제한되어 있습니다.";
properties.Cancel = true;
}
else
{
//일반적인 업데이트
}
EnableEventFiring();
}
'SharePoint Services/WSS 3.0' 카테고리의 다른 글
| 아이템의 롤백을 제한하는 방법 (0) | 2011/12/14 |
|---|---|
| WSS SP2가 나왔네요.. (3) | 2009/05/11 |
| プログラムによるListの作成例。프로그램을 사용한 SPList작성샘플 (0) | 2008/07/26 |
| Aspxファイルでコードを実行するには. Aspx파일에서 프로그램코드 실행하기 (0) | 2008/07/01 |
| LookUpField의 쿼리문. LookUpFieldのクエリ文 (0) | 2008/05/30 |
| 페이지당검색결과수를 조절하기. 1ページあたりの検索結果数を変える [SharePoint] (0) | 2008/05/30 |
로드밸런서는 Health Test 결과를 바탕으로 서버의 상태를 파악하고 있고 설정된 로드밸런싱 알고리즘에 따라서 정상적인 서버로 트래픽을 연결합니다.
따라서 로드밸런서가 하는 역할중 가장 기초가 되는것이 어떤 서버가 살아있고 어떤 서버가 죽었는지를 파악하는겁니다.
각 서버의 작동상태를 제대로 파악하지 못하면 멈춰있거나 문제가 있는 서버에 계속해서 트래픽을 보내주게 되고
그러면 정상적으로 서비스를 제공받지 못하는 클라이언트가 생기게 되죠.
ARR은 아래의 두가지 방법으로 웹서의 정상작동 유무를 파악합니다.
- URL Test
지정한 URL로 정해진 시간간격으로 리퀘스트를 보내서 정해진 응답코드를 정해진 시간내에 반환하는지를 체크해서 응답에 이상이 있을경우에는 서버가 Unhealthy로 변경됩니다.
Unhealthy로 체크된 서버는 다음 체크때 정상응답을 하면 Healthy로 되돌아갑니다.
- Live Traffic Test
모든 응답의 상태코드를 파악해서 정해진 허용범위를 벗어났을경우에 서버가 Unhealthy로 변경됩니다. 웹어플리케이션의 시스템에러가 연쇄적으로 발생하여 관리자의 확인이 필요한 경우등에 유용하게 사용됩니다.
Unhealthy로 체크된 서버는 자동적으로 Healthy로 되돌아 가지않습니다. Healthy로 되돌리려면 관리자가 수동으로 되돌리거나 다음 URL Test때 응답이 성공하면 Healthy로 되돌아감.
아래의 설정페이지의 각 설정값을 봐가면서 자세히 알아보도록 하겠습니다.
| 설정 | 설명 |
| URL | 테스트를 할 URL입니다. 이미지 파일이나 텍스트 파일 또는 정적인 HTML파일등 서버에 부담이 적은 요청을 테스트할 수 있는 URL을 지정합니다. |
| Interval (초) | 테스트할 시간간격입니다. |
| Time-Out (초) | 응답 timeout을 지정합니다. 10으로 지정하면 응답이 10초이상 지연되면 실패한것으로 판단합니다. |
| Acceptable status codes | 정상으로 인식할 응답코드입니다. |
| Response match | 응답에서 특정 문자열을 검색하여 성공실패 여부를 판단합니다. 예를들어 success를 지정하면 응답되는 내용에 success가 있어야만 성공한걸로 판단합니다. |
| Failure codes | 요청 실패로 인식할 응답코드입니다. |
| Maximum failures | 허용할 최대 요청실패 수입니다. |
| Failover period(초) | 설정한 시간동안 위의 Maximum failures에 설정한 실패가 발생한 경우 서버를 Unhealthy로 체크합니다. 0으로 설정하면 이 기능을 사용하지 않습니다. |
| Minimum severs | 정상가동중이어야 할 최소 서버수입니다. 3으로 설정했는데 정상인 서버가 2대라면 ARR서버에서 일부 유저의 요청을 거절합니다. (라고는 되어있는데 실제 확인해보기가 어렵더군요. 혹시 성공하신분이 계시면 알려주세요) |
Health Test를 위한 프로퍼티를 입력한 후에 Verify URL Test를 클릭하여 정상적으로 수행되는지를 확인해보고 Action Pane의 저장을 클릭하여 설정을 저장합니다.
'IIS' 카테고리의 다른 글
| ARR을 사용하여 간단 로드밸런싱 웹팜 구성하기 3 - 로드밸런싱을 위한 Health Test의 이해 (0) | 2011/11/27 |
|---|---|
| ARR(Application Request Rounting) 사용하여 간단 로드밸런싱 웹팜 구성하기 2 - ARR 설정하기 (0) | 2011/11/24 |
| ARR(Application Request Rounting) 사용하여 간단 로드밸런싱 웹팜 구성하기 1 - ARR 설치하기 (0) | 2011/10/31 |
| IIS 확장기능(부하분산) ARR - Application Request Routing 이란 (0) | 2011/10/24 |
ARR(Application Request Rounting) 사용하여 간단 로드밸런싱 웹팜 구성하기 2 - ARR 설정하기

정상적으로 작동되는지 확인하기 위하여 다음두가지를 사전에 실시해주세요.
- 웹서버1과 웹서버2에 IIS설치
- 부하분산이 제대로 이루어지는지 동작확인을 위해 각 서버의 Default Web Site의 iisstart.htm에 서버명을 추가합니다
1. AppPool의 유휴 시간 설정을 0으로 변경
ARR서버는 웹서버와 다르게 사용자 접속이 없어서 중지되어서는 안됩니다.
유휴시간 제한을 0으로 변경해서 항시 기동되는 상태로 전화해줍니다.
2. 서버팜 추가
제일 하단의 Server Farm에서 우측버튼 클릭후 Create Server Farm을 선택하고 서버팜의 이름을 정하고 다음을 누릅니다.
3. 서버팜에 서버추가
1) 웹서버IP주소를 넣습니다.
2) Advanced Settings에서 ARR서버가 웹서버와 통신할 포트랑 weight정보를 입력한후 Add 를 클릭합니다.
httpPort는 ARR서버와 웹서버가 http통신할때 사용하는 포트번호, httpsPorts는 https통신할 포트번호입니다.
weight는 로드밸런싱할때 어느 서버로 요청을 많이보낼지를 지정하는 가중치입니다.
3) 반복해서 웹서버2도 추가합니다.
4. 잘되나 확인해봅니다.
ARR서버의 주소(저는 192.168.0.90으로 설정했습니다.)로 IE를 열고 접속해봅니다.
접속하면 아래와 같이 서버명이 표시된 IIS초기화면이 표시됩니다.
근데 몇번 새로고침하면 아시겠지만 계속 동일한 서버만 표시됩니다. 정말 로드밸런싱 되고 있는것일까요?
수십번정도 새로고침해보세요. 어느샌가 Server2로 변경되어있을겁니다..^^;
왜 이런현상이 일어나는가 하면..다음회에 로드밸런싱 옵션에 대하여 다룰테니 그때 설명하도록 하겠습니다.
'IIS' 카테고리의 다른 글
| ARR을 사용하여 간단 로드밸런싱 웹팜 구성하기 3 - 로드밸런싱을 위한 Health Test의 이해 (0) | 2011/11/27 |
|---|---|
| ARR(Application Request Rounting) 사용하여 간단 로드밸런싱 웹팜 구성하기 2 - ARR 설정하기 (0) | 2011/11/24 |
| ARR(Application Request Rounting) 사용하여 간단 로드밸런싱 웹팜 구성하기 1 - ARR 설치하기 (0) | 2011/10/31 |
| IIS 확장기능(부하분산) ARR - Application Request Routing 이란 (0) | 2011/10/24 |
Exchange Shell - 사용자 사서함에서 일정기간이 지난 메시지를 삭제

export-Mailbox -Identity <User> -EndDate "mm/dd/yyyy" -DeleteContent
'Exchange&Office Communications' 카테고리의 다른 글
| Exchange Shell - 사용자 사서함에서 일정기간이 지난 메시지를 삭제 (0) | 2011/11/10 |
|---|---|
| Exchange Shell - 사용자 사서함 용량 체크 (0) | 2011/10/25 |
| Exchange Shell - 사용자 사서함에서 폴더목록 뽑아내는 방법 (0) | 2011/10/24 |
![]() |
![]() |
|
![]() |
![]() |
![]() |

Prev





Rss Feed