Open kwjooo opened 5 years ago
kafka와 zookeeper setting 후 flink-kafka connect api를 이용해 flink producer가 kafka에 message를 쓰고 flink reader kafka로 부터 data를 얻고 단순한 operation을 하여 stdout하는 program을 구축함
flink는 source -> map() -> keyBy(), window(), apply() -> sink 구조로 streaming이 처리되며 keyby()를 통해 stateful operation과 partitioning 및 distributing을 달성하고 window()를 통해 unbounded stream을 time window 설정할 수 있으며 apply를 통해 operation이 가능하다. flink에서 중요한 부분은 flink에서 fault를 대처하는 방식인 checkpoint for fault tolerance라 볼 수 있는데 이는 stream replay와 checkpoint를 통해 달성한다. 자세한 내용은 여기에 있으며 더 조사가 필요하나 jayden이 이를 research하고 있으므로 조사를 그만두고 zookeeper에 집중하려 한다.
Reference https://github.com/paust-team/paust-db/issues/165#issuecomment-483105956 본 이슈의 목적은 기존 distributed system의 분산 처리 방식에 대한 이해를 높여 distributed와 decentralized의 교집합을 찾기 위함
flink가 대용량 streaming 데이터 처리를 하는 방식에 대한 이해를 위해 직접 구축하고 기능 확인 및 동작 원리 분석