Rest API, Engine API

문서 최신화를 위해서 변경된 부분 또는 수정할 부분이 발견되면 발견자가 꼭! 수정해주시기 바랍니다. !!!

Rest API, Engine API

  • 시스템 구성

    • 하나의 물리서버에 1개의 위고 서버프로세스와 여러개의 엔진을 올리는 형태로 구성되어 있습니다.

    • 서버프로세스의 역할은 서버별 엔진관리, 분석노드간 파일전송, 위고 파일시스템 복원용파일 관리 등을 수행합니다.

    • 엔진은 분산처리 노드, API 제공, 서비스 수행등의 역할을 수행하며 마스터 노드 엔진이 존재합니다.

    • 모든엔진은 기본적으로 Engine API 를 제공하며 REST API 제공은 엔진별 설정에서 지정 합니다.

    • REST API 제공설정을 하면 관련 엔진은 스프링 부트를 같이 실행시키기 떄문에 JDK 1.8 이상이 필요하고 다른 엔진보다 자원을 더 많이 사용하게 됩니다.

    • 기본 구성에 필요한 JDK 버전은 1.7이상이며 이는 아직 금융권이 1.7을 사용하는곳이 많기 때문입니다.

페이지

 

  • Engine API

    • 기본적으로는 하나의 1~2개 (일반엔진 1개 분산처리 노드 2개: 대량 메시지 전송 포트 추가사용)의 API 포트를 사용하며 각 엔진에 이벤트를 보내는 방법을 제공합니다.

    • Engine API 는 자바 언어로만 제공됩니다.

    • 단건 처리 예제

HostAddrPort hostAddrPort = EngineConsole.getHostAddrPort("engineCode"); //packageName 은 기본경로일 경우 null String responseMessage = ApiRequests.sendToReceiveMessage(hostAddrPort.getHostAddress(),hostAddrPort.getPort(),"packageName","ClassName", "message");

여러건 처리 예제

ApiRequest request = new ApiRequest( "address", port); //기본 경로일경우 제외가능 //request.setPackageName("packageName"); request.connect(); String responseMessage1 = request.sendToReceiveMessage("className", "message"); String responseMessage2 = request.sendToReceiveMessage("className2", "message"); //여기까지 반복가능 //종료시에 반드시호출 request.disConnect();

HA 구성에서의 사용 예제

//packageName 은 기본경로일 경우 null String responseMessage = EngineConsole.sendToReceiveMessageToApiEngine("packageName", "className", "message");

화면 메뉴 위치

시스템 → 엔진 API

 

  • Rest API

    • Rest API 사용설정 된 엔진에 요청합니다

    • 사용 예제

try { URL url = new URL("address/document/sentences"); HttpURLConnection conn = (HttpURLConnection) url.openConnection(); conn.setUseCaches(false); conn.setRequestMethod("POST"); conn.setDoInput(true); conn.setDoOutput(true); conn.setInstanceFollowRedirects(false); conn.setRequestProperty("Content-Type", "application/json"); conn.setRequestProperty("Accept", "application/json"); conn.setConnectTimeout(30000); conn.setReadTimeout(30000); conn.setUseCaches(false); String charSet = "UTF-8"; OutputStream stream = conn.getOutputStream(); stream.write("sendMessage".getBytes(charSet)); stream.flush(); stream.close(); StringBuilder message = new StringBuilder(); BufferedReader br; if (conn.getResponseCode() == HttpURLConnection.HTTP_OK) { br = new BufferedReader( new InputStreamReader(conn.getInputStream(), charSet)); for (; ; ) { String line = br.readLine(); if (line == null) break; message.append('\n').append(line); } br.close(); } else { throw new RuntimeException("http response fail: " + conn.getResponseCode()); } String responseMessage = message.substring(1); }catch(Exception e){ throw new RuntimeException(e); }

 

 

Copyright(c) WIGO Corp. All rights reserved.