노드브레이커(이하 노드브레이커)는
현대적인 방식의 REST API를 제공하지
못하는 레거시 시스템을 지원하기 위해 개발된 강력한 API 구축/운영 시스템입니다.
MSA(마이크로서비스아키텍쳐)의 철학에 따라
기능별로 분담하여 서비스를 실행할 수 있도록 설계되어 있습니다.
기존 시스템에 따라 API가 구축될 환경이 상이할 수밖에 없으므로
노드브레이커의 설치에는 커스터마이징 과정이 반드시 필요합니다.
노드브레이커에는 기본적인 세 가지 통신방식(HTTP, TCP소켓, 웹소켓)이 모듈로 미리 준비되어 있습니다.
메소드 커스터마이징은 전문적인 프로그래머의 손으로 세심하게 계획되고 실행되어야 합니다.
(상세한 사항은 이에스피시스템즈에 별도로 문의하시기 바랍니다.)
커스터마이징이 끝난 서버 앱은, 전문가의 도움 없이도 손쉽게 설치가 가능합니다.
<노브브레이커 시스템 구조>
노드브레이커는 게이트웨이, 컨트롤이군, 비즈니스군 등
세 개의 서버 프로그램군으로 구성되어 있습니다.
위의 시스템 배치도는 망분리를 위해 두개의 서버에 권장 설치된 배치를 보여줍니다.
물리적인 서버가 하나라면, 모든 서버 앱은 한 곳에 모두 설치될 것입니다.
서버 앱 설명
1. 게이트웨이 (DMZ 물리 서버)
게이트웨이는 클라이언트의 요청을 받아 적합한 접근인지 인증을 거친 후에 실제 업무를 실행하는 비즈니스 서버 앱으로 연결을 전달하는 프로그램입니다. 클라이언트 인증과 유량제어, 데이터 중계가 주된 역할입니다. 당연히 외부로부터 연결이 가능한 물리 서버에 설치되어 있어야 합니다.
2. 컨트롤 (DMZ 물리 서버)
컨트롤 서버 앱은 노드 시스템 전체를 관리합니다. ADMN, DATA, LOGR, 세 개의 논리 서버 앱으로 이루어져 있으며, 실제 클라이언트 접속에는 전혀 영향을 끼치지 않도록 설계되어 있습니다. 즉, 모니터링 전문 앱입니다. 관리자는 컨트롤 시스템이 생성하는 관리자 웹사이트를 통해서 노드브레이커의 거의 모든 기능을 통제할 수 있고, 즉각적으로 접속량과 문제점을 파악할 수 있습니다.
3. 비즈니스 (내부망 물리 서버)
비즈니스 서버 앱은 여러 개의 마이크로 서버로 이루어진 논리 서버 군입니다. 노드브레이커는 하나의 덩어리로 이루어진 기존의 미들웨어와는 달리 철저하게 MSA 철학을 추구하고 있습니다. API 요청 시 기준이 되는 메서드(기능) 별로 각각 마이크로 서버를 커스터마이징 하여 설치합니다. 예를 들어 다섯 개의 기능을 구현하기 위해서는 개별 포트로 설정된 다섯 개의 비즈니스 서버 앱을 설치해야 합니다. 세세한 설정값은 설치 후에 수정 가능합니다.
클라이언트 측의 개발 요소를 최대한 절약하고
안전하게 시스템과 연결하는 것이 무엇보다 중요합니다.
노드브레이커의 클라이언트 프로그램은 개발 키트(SDK) 형태로 배포되며,
세 개의 부분으로 구성되어 있습니다.
이 개발 소스는 반드시 사용해야만 하는 것은 아닙니다.
다만, 클라이언트의 개발을 지원하기 위해 준비된 것이므로,
클라이언트 개발자의 편의에 따라 사용 여부를 결정하시기 바랍니다.
<기타 프로그램>
보일러 플레이트 (클라이언트 SDK 샘플, DEMO/)
일종의 샘플 웹 페이지이며, 테스트 웹페이지와 데모 웹페이지로 구성되어 있습니다.
별도의 프로그램 없이 즉각 테스트 가능한 형태로 제공되는 클라이언트 프로그램입니다.
CDN 스크립트 소스 (클라이언트 SDK 샘플)
클라이언트 측 DOM 엘리먼트를 검색해 프록시 서버로 전송해 주는 유틸리티 모음입니다.
의존성 없는 네이티브 코드로 작동되어 기존의 클라이언트 스크립트를 방해하지 않습니다.
프록시 서버 앱 (클라이언트 SDK 샘플, PROX/)
논리적 전용망을 구성하고, 보안을 강화하여 노드브레이커 시스템을 보호하기 위해 사용됩니다.
가상 호스트 서버 앱 (호스트 샘플, HOST/)
즉각적인 테스트를 위하여 가상의 호스트 프로그램을 제공합니다.
네 가지의 통신 소켓 모두에 응답하며, 호스트가 준비되지 않은 상태에서 곧바로 테스트가 가능하도록 준비되어 있습니다.
대량 테스트 앱 (콘솔용, TEST/)
일반적인 브라우저 환경에서는 대량 접속 테스트가 원활하지 않습니다.
대량 접속 테스트를 위해 콘솔 화면에서 직접 실행하는 전문 테스트 앱을 제공합니다.
<실행 및 운영>
게이트웨이를 비롯한 모든 노드브레이커의 서버 앱은 내적으로 pm2를 통해 관리됩니다.
물리 서버 별로 DATA/cfg/appRun.json 파일이 각각의 실행 앱에 대한 정보를 갖고 있습니다.
<관리자 페이지를 통한 손쉬운 관리>
노드브레이커의 전체 시스템을 보다 편한 그래픽 인터페이스로 확인하고 관리할 수 있습니다.
반응형 모바일 웹 브라우저로 모바일로도 관리 가능한 편리성을 제공합니다.
상황판을 통한 실시간으로 서버들의 상태를 점검하고 부하가 쌓이는 위치와 시점을 파악하여 실시간으로 서버를 관리할 수 있습니다.
노드브레이커 시스템에 접근이 허락된 클라이언트가 모두 표시됩니다.
회사명(아이디), 접근이 허락된 클라이언트 서버 정보, 그리고 간단한 클라이언트 정보가 표시됩니다.
특히 인증 종료일을 한번에 확인할 수 있습니다.
기관 클라이언트의 인증 종료 기한이 지나면, 서버 인증도 거부되어 모든 연결이 자동으로 차단됩니다.
노드브레이커를 구성하는 모든 서버의 목록을 표시합니다.
서버별로 상단의 [정보], [상태] 버튼을 통해 더욱 상세한 내용을 확인할 수 있습니다.
<물리서버> <논리서버>
개별 서버별로 보다 정확한 상태 정보를 확인할 수 있습니다.
특히 서버 상태 메뉴에는 메모리 상태를 점검할 수 있는 그래프가 포함되어 있습니다.
큰 인디케이터로 아래의 중요한 정보를 나타냅니다 이 또한 실시간 갱신됩니다.
개별 서버별로 보다 정확한 메시지 정보를 확인할 수 있습니다.
서버가 전달하는 중요 메시지와 업무내용을 요약하여 실시간으로 표시합니다.
서버 컨트롤러로
서버 재시동과 서버정지 버튼, 그리고 관련된 기능들을 한자리에서 컨트롤 가능합니다.
<실시간 메시지> <에러 메시지>
서버의 실시간 메시지는 스스로의 상태를 간단한 단어로 알려주는 기능입니다.
서버가 재부팅 되거나 데이터 서버와 통신이 시작될 때 메시지를 보냅니다.
또한 예상치 못한 에러가 발생하면 그 역시 메시지를 통해 알려줍니다.
노드브레이커는 정상적인 운영 신호 외에도 몇 가지 이상신호를 발신하고 보관합니다.
특히 이상신호는 시스템 운영에 장애가 될 수 있으므로 별도로 관리됩니다.
서버가 제공하는 서비스를 이용할 기관 및 관리자 회원을 관리하고, 그에 따르는 서버 접속 권한 및 관리자 화면 권한을 개별적으로 인증하고 배포할 수 있습니다.
노드브레이커 시스템에 직접 로그인하여 관리자 화면으로 운영 업무를 할
관리자 회원을 신규 생성 및 관리할 수 있습니다.
<메소드 관리>
메소드란 비즈니스 서버 앱이 실행하는 구체적인 업무입니다.
비즈니스 서버 앱은 호스트 서버에 업무를 의뢰하고, 그에 대한 응답을 받습니다.
호스트 쪽에서 요구하는 미리 정의된 값들을 보내주고, 그에 대한 응답으로 처리결과나 여러 가지 데이터를 전달받습니다.
이런 업무 과정을 통칭하여 메소드라고 칭합니다.
관리자는 복잡한 메소드 커스터마이징을 이해하지 않고도 스키마를 통해 유통되는 데이터를 관리할 수 있게 됩니다.
[노드브레이커 기타정보]
[구매 문의]
㈜이에스피시스템즈
02)2266-1396 / esp@esp-sys.com