Tuesday, July 26, 2005

FT(Fault Tolerance) Architecture

# Technology to know doing XP

엔터프라이즈 아키텍처의 기본 중 하나가 장애극복 즉 FT 아키텍처에 관한 것이다. 솔루션에서 지원되는 FT 기능을 그대로 이용할 수도 있겠지만, 정말 원하는 FT를 솔루션에 구현된 기능만으로 얻기는 힘들다.

왜냐면 최근 솔루션 밖에서 지원되는 스위치등의 영향으로 솔루션들이 자체 FT기능을 가지기 보다는 외부의 도구를 이용하는 경우가 많고, FT에 들이는 노력을 다른 기능적인 면에 들이는 경향이 있다.

그러나 솔루션 밖에서 FT를 지원하는 방안은 무척이나 답답한 면이 있다. 원하는 방향으로의 FT 아키텍처를 구성하기가 힘든 것이다. Failover 시간을 얼마 이하로 낮추는 ( 이를 흔히 time bound ft 라고 한다.) 품질 요소를 넣고 싶을 때, 어찌 할 도리가 없는 것이다.

때로 Real Time FT라는 것을 해야할 때, 자신의 엔터프라이즈 프로그램을 직접 그런 품질 요소에 부합하게 만들지 않고는 요구사항을 만족시키기는 쉽지 않다.

아래 링크에, 책에 나와 있는 Priya 교수의 수업을 들으면서 구현했다는 미들웨어의 FT에 관한 내용을 연결해 놓았다. 이를 모두 책에 실으려 했으나, XP는 그 철학대로 간략해야한다는 것에 충실하려 한바... 주제에 벗어난 내용이 너무 많이 나오는 것이 아닌가 하는 우려로 빼었었다. FT에 대한 기술적 배경으로 이 링크를 참고하기 바란다.

이 프로젝트의 목표는 Failover시간을 어떻게 하면 최소한을 줄이면서 정합성을 유지 할 것인가 하는 것이다. 도중에 JDK에 포함된 ORB의 worker thread 개수를 response time 을 보고 추측하는 그래프가 나오는데, 사실 그것은 중요한 것이 아니다. 중요한 것은 어떻게 TCP/IP connection을 재설정하는데 behind connection을 만들도 이를 bind 하는거 뭐 이런 것들이다. 소스는 public 하게 공개하지는 않으려 한다. 참고로 이를 바탕으로 고가의 솔루선에서 주로 사용하는 Memory paging 기반의 FT도 생각해 볼 수 있을 것이다.

Implementation of Real Time Fault Tolerance

No comments: