아파치 실시간 처리 프레임워크 비교평가 (2편)

아파치 실시간 처리 프레임워크 비교평가 (2편)

2022년도에 넷플릭스를 통해 출시되었습니다. 역시나 파격적인 맛을 보여주려는지 청불영화가 되겠고, 카테고리는 멜로 로맨스 드라마영화입니다. 폴란드영화이며, 블란카 리핀스카의 동명소설이 원작인 영화입니다. 소설원작영화에 비해 내용이 빈약하긴 합니다. 그림 같은 경치에 19금 요소 가득한 작품이지요. 1편에서 납치당한 라우라와 납치범 마시모가 결혼을 합니다. 1편을 기억하시면 아시겠지만 라우라가 마지막에 총소리를 끝으로 영화가 끝나버렸었죠. 2편 나오는 걸 보시면 잘 살아있습니다.

어쨋든 이런 공격에 마시모는 날을 세울 수밖에 없습니다. 자유영혼 라우라는 또 싸움을 시작합니다. 하필이면 이때 마시모는 다른 여자와 또 즐기고요. 라우라는 뛰쳐나가게 되고, 앞서 얼굴 한 번 봤었던 듬직한 정원사 나초 차를 타고 떠납니다.


Project Maturity
Project Maturity

Project Maturity

플랫폼을 고를 때에는 항상 그 플랫폼의 성숙도를 살펴봐야 하며, 몇가지를 빠르게 살펴보도록 하겠습니다. Storm 은 스트리밍 시스템의 주류에 해당하며 Twitter, Yahoo, Spotify 등 많은 기업이 사용하는 업종 표준 시스템 이었습니다. Spark 은 스칼라의 인기를 업어 최근 가장 유행하는 플랫폼이라고 할 수 있으며, Netflix, Cisco, DataStax, Intel, IBM 등 Spark 을 적용하는 회사들이 증가하고 있습니다.

Samza 또한 Linked In, Netflix, Uber 등을 비롯한 수십여개의 회사에서 사용하고 있으며, Flink 는 이제 막 떠오르는 프로젝트이지만 곧 첫차례 적용사례를 볼 수 있을것으로 보이며 그 증가 추세는 매우 빠를 것으로 확신합니다.

Performance
Performance

Performance

이성적인 성능 비교는 하나의 글로 표현이 되어야 하기 때문에, 이번 글 에서는 인홈페이지 관점에서 살펴보겠습니다.

각각의 플랫폼에서 명백하게 다른 특성의 문제 해결방법들을 갖고 있기 때문에, 성능 측정에 있어서 완벽하게 공평한 테스트를 설계하는 것은 매우 어려운 일 이지만, 스트리밍 플랫폼의 성능을 얘기하기 위해 throughput 과 latency 두가지를 살펴볼 수 있습니다.

이것 또한 매우 많은 변수에 의존관계가 있지만 최대한 간단한 Task 를 통해 평가할 수 있는 기준은, 노드 하나에 초당 5만 의 레코드를 처리하면 ok, 100만 레코드면 nice, 100만 이상이면 great 로 평가할 수 있으며, 노드의 사양은 24 cores 에 메모리 24 혹은 48GB 정도로 보편적인 사양으로 가정할 때 입니다.

Managing State

대부분의 스트리밍 플랫폼에서는 일종의 상태 관리를 하게 됩니다. 하나의 input 이 처리되고 output 결과로 나오게되면, 각각의 상태가 변경되며 데이터 처리가 실패한 경우에도 상태관리가 되어야 합니다. 데이터 처리의 실패 여부에 따라 재처리되는 과정에서 일부 records 들은 여러번 재처리 될 수도 있으며, 이로인해 발생하는 데이터의 중복 사안은 일반적으로 저희가 요구하는 데이터 전달방식Exactly once이 아닙니다.

위에서 살펴봤듯이 Storm 은 최소한 한번 데이터를 전달해주는 것에 대한 보장을 하는데, 제대로 한번 데이터 전달을 해주는 요청을 만족시키기 위해 Storm Trident 를 사용할 수 있으며 records 를 commiting 하는 방식transaction 처리를 의미을 사용하게 됩니다.

영화 결말 스포주의

정원사의 정체부터 말씀드리면, 마시모 갱단의 라이벌 아들입니다. 마시모와 비슷한 급이죠. 보통 선수가 아니여서 금방 라우라 유혹해서 마시모를 잡을 계획이었지만, 무슨 이유에선지 무슨 매력에선지 라우라에 빠져버립니다. 그래서 라이벌갱단 아버지가 나타나서 라우라 데리고 있으니 너 나와 거래하자 합니다. 라우라랑 싸우고 다른 여자와 누리고 있던 마시모는 사실 마시모가 아니라 말썽쟁이 쌍둥이 형제였습니다.

쌍둥이 형제의 작전에 보기 좋게 말려들어간 것이고요. 쌍둥이 동생은 끝까지 말썽을 부립니다. 두 조직이 만나려는데, 중간에 라우라를 납치합니다. 그래서 멋진 두 남자가 라우라를 구하러 갑니다. 라우라는 행복하겠어요. 하지만 마지막 라우라가 총에 맞죠. 살아 있을까요? 이거 3편까지 나왔어요. 당연히 살아있답니다.

자주 묻는 질문

Project

플랫폼을 고를 때에는 항상 그 플랫폼의 성숙도를 살펴봐야 하며, 몇가지를 빠르게 살펴보도록 하겠습니다. 궁금한 사항은 본문을 참고하시기 바랍니다.

Performance

이성적인 성능 비교는 하나의 글로 표현이 되어야 하기 때문에, 이번 글 에서는 인홈페이지 관점에서 살펴보겠습니다. 구체적인 내용은 본문을 참고하세요.

Managing State

대부분의 스트리밍 플랫폼에서는 일종의 상태 관리를 하게 됩니다. 구체적인 내용은 본문을 참고 해주시기 바랍니다.