>  기사  >  운영 및 유지보수  >  Apache Flink가 무엇인지 소개합니다.

Apache Flink가 무엇인지 소개합니다.

王林
王林앞으로
2020-10-20 17:10:182505검색

Apache Flink가 무엇인지 소개합니다.

Apache Flink 소개:

Apache Flink는 제한되지 않은 데이터 스트림과 제한된 데이터 스트림에서 상태 저장 계산을 위한 프레임워크이자 분산 처리 엔진입니다. Flink는 모든 일반적인 클러스터 환경에서 실행되며 메모리 속도와 규모에 관계없이 컴퓨팅할 수 있습니다.

(추천 튜토리얼: apache)

다음으로 Flink 아키텍처의 중요한 측면을 소개하겠습니다.

제한되지 않은 데이터와 제한된 데이터 처리

모든 유형의 데이터가 이벤트 스트림을 형성할 수 있습니다. 신용카드 거래, 센서 측정, 기계 로그, 웹사이트나 모바일 앱의 사용자 상호작용 기록 등 이 모든 데이터가 하나의 스트림을 형성합니다.

데이터는 무제한 또는 제한된 스트림으로 처리될 수 있습니다.

1. 무한한 흐름 흐름의 시작은 정의되어 있지만 흐름의 끝은 정의되어 있지 않습니다. 그들은 끝없이 데이터를 생성합니다. 무한 흐름의 데이터는 지속적으로 처리되어야 합니다. 즉, 데이터가 수집된 후 즉시 처리되어야 합니다. 입력은 무한하고 언제든지 완료되지 않기 때문에 처리하기 전에 모든 데이터가 도착할 때까지 기다릴 수 없습니다. 제한되지 않은 데이터를 처리하려면 결과의 완전성을 추론할 수 있도록 특정 순서(예: 발생 순서)로 이벤트를 수집해야 하는 경우가 많습니다.

2. 경계 흐름은 흐름의 시작과 끝을 정의합니다. 제한된 스트림을 사용하면 모든 데이터가 수집된 후 계산을 수행할 수 있습니다. 제한된 스트림의 모든 데이터는 정렬될 수 있으므로 순서대로 수집할 필요가 없습니다. 제한된 스트림 처리를 흔히 일괄 처리라고 합니다.

Apache Flink가 무엇인지 소개합니다.

Apache Flink는 제한되지 않은 데이터 세트를 처리하는 데 능숙하며 정확한 시간 제어 및 상태 저장을 통해 Flink의 런타임은 제한되지 않은 스트림을 처리하는 모든 애플리케이션을 실행할 수 있습니다. 제한된 스트림은 고정 크기 데이터 세트용으로 특별히 설계된 알고리즘 및 데이터 구조에 의해 내부적으로 처리되므로 탁월한 성능을 발휘합니다.

Flink를 기반으로 구축된 사용 사례를 탐색하여 이해를 심화하세요.

어디서나 애플리케이션 배포

Apache Flink는 애플리케이션을 실행하기 위해 컴퓨팅 리소스가 필요한 분산 시스템입니다. Flink는 Hadoop YARN, Apache Mesos 및 Kubernetes와 같은 모든 일반적인 클러스터 리소스 관리자와 통합되지만 독립형 클러스터로 실행될 수도 있습니다.

Flink는 리소스 관리자별 배포 모드를 통해 달성되는 위의 각 리소스 관리자와 잘 작동하도록 설계되었습니다. Flink는 적절한 방식으로 현재 리소스 관리자와 상호 작용할 수 있습니다.

Flink 애플리케이션을 배포하면 Flink는 애플리케이션에 구성된 병렬성을 기반으로 필요한 리소스를 자동으로 식별하고 리소스 관리자에게 이러한 리소스를 요청합니다. 오류가 발생하면 Flink는 새 리소스를 요청하여 실패한 컨테이너를 교체합니다. 애플리케이션을 제출하거나 제어하기 위한 모든 통신은 REST 호출을 통해 이루어지므로 Flink를 다양한 환경에 쉽게 통합할 수 있습니다.

모든 규모에서 애플리케이션 실행

Flink는 모든 규모에서 상태 저장 스트리밍 애플리케이션을 실행하도록 설계되었습니다. 따라서 애플리케이션은 클러스터 전체에 분산되어 동시에 실행되는 잠재적으로 수천 개의 작업으로 병렬화됩니다. 따라서 애플리케이션은 끝없는 CPU, 메모리, 디스크 및 네트워크 IO를 활용할 수 있습니다. 그리고 Flink를 사용하면 매우 큰 애플리케이션 상태를 쉽게 유지할 수 있습니다. 비동기식 및 증분식 체크포인트 알고리즘은 정확히 1회 상태 일관성을 보장하면서 처리 대기 시간에 최소한의 영향을 미칩니다.

Flink 사용자는 프로덕션 환경에서 인상적인 확장성 수치를 보고했습니다.

하루에 수조 개의 이벤트를 처리하고, 수 테라바이트 크기의 상태를 유지하는 애플리케이션, 수천 개의 코어에서 실행되는 애플리케이션을 처리합니다.

메모리 성능 활용

Stateful Flink 프로그램은 로컬 상태 액세스에 최적화되어 있습니다. 작업 상태는 항상 메모리에 유지되며, 상태 크기가 사용 가능한 메모리를 초과하는 경우 효율적으로 액세스할 수 있는 온디스크 데이터 구조에 저장됩니다. 작업은 로컬(일반적으로 메모리 내) 상태에 액세스하여 모든 계산을 수행하므로 처리 지연 시간이 매우 짧습니다. Flink는 로컬 상태 저장소를 정기적으로 비동기식으로 유지함으로써 오류 시나리오에서 정확히 한 번만 상태 일관성을 보장합니다.

Apache Flink가 무엇인지 소개합니다.

위 내용은 Apache Flink가 무엇인지 소개합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 juejin.im에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제