스트리밍 워크플로 구성
스트리밍 워크플로는 외부에서 계속 발생하는 레코드를 Foundry 스트림에 전달하고, 낮은 지연으로 변환하여 온톨로지와 애플리케이션에 제공합니다. 데이터 규모뿐 아니라 허용 지연, 필요한 상태 크기와 운영 연산 비용을 함께 고려해야 합니다.
수집 경로 선택
Data Connection이 외부 스트리밍 플랫폼에서 레코드를 읽는 방식과, 외부 생산자가 스트림 프록시(Stream proxy)로 Foundry 스트림에 직접 레코드를 밀어 넣는 방식이 있습니다.
Data Connection은 소스에 지정한 워커와 네트워크 경로를 사용하여 외부 데이터를 읽습니다. Foundry 워커는 Foundry에서 수집 연산을 실행하고, 기존 에이전트 워커는 설치된 에이전트 호스트에서 실행합니다. 직접 밀어 넣는 방식에서는 외부 생산자가 Foundry 수신 인터페이스를 호출합니다. 네트워크와 인증 요구를 고려해 경로를 선택합니다.
| 연결 방식 | 대상 |
|---|---|
| 전용 스트리밍 커넥터 | Apache Kafka, Amazon Kinesis, Amazon SQS, Aveva PI, Google Pub/Sub |
| 외부 변환으로 연결 | ActiveMQ, Amazon SNS, IBM MQ, RabbitMQ, MQTT(Beta), Solace |
처리 방식 결정
스트림은 최근 레코드를 제공하는 핫 버퍼와 장기 데이터를 보관하는 콜드 버퍼를 사용합니다. 처리 실행 환경의 작업과 상태 구조는 Flink 기본 개념에서 설명합니다.
운영 구성을 정할 때에는 배치와 스트리밍 중 필요한 갱신 주기에 맞는 방식을 선택합니다. 처리 성능과 연산량, 스트리밍 프로필, 키 구성, 상태를 유지하는 변환의 비용을 검토합니다. Dataset Preview의 스트림 화면에서는 실제 입력과 처리 상태를 조사할 수 있습니다.
수집부터 온톨로지까지
- 스트리밍 동기화를 구성하거나 직접 입력을 받을 스트림을 준비합니다.
- Pipeline Builder에서 실시간 데이터를 변환합니다. 출력도 스트리밍 데이터셋으로 유지할 수 있습니다.
- 스트림을 온톨로지에 연결하면 갱신된 객체를 Foundry 애플리케이션에서 사용할 수 있습니다.
- 파이프라인 상태에 대한 모니터링과 알림을 구성합니다. 스트림 모니터링은 Beta 기능입니다.
개발 중 입력을 다시 구성해야 하면 스트림 초기화를 사용할 수 있습니다. 초기화는 기존 레코드를 제거하므로 운영 입력 스트림을 다시 시작하는 일반적인 절차로 사용하지 않습니다.
운영과 개발 안내
- Flink 실행 구조에서 연산자, 태스크와 상태 저장의 역할을 확인합니다.
- 스트리밍 프로필에서 추가 자원과 프로젝트 참조 권한을 설정합니다.
- 스트림 모니터링에서 체크포인트, 수집량, 출력량과 알림을 구성합니다.
- 스트림 초기화에서 개발용 입력을 지울 때 필요한 재생과 연결 변경을 확인합니다.
- 스트리밍 파이프라인 설계에서 배치와의 비교, 지연과 연산 사용량, 키와 상태 기반 처리를 함께 검토합니다.