Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
지금 
핫한 
Real-­‐'me 
In-­‐memory 
Stream 
Processing 
이야기 
tedwon 
iamtedwon@gmail.com
우리 나라 사람들이 
특히 좋아하는 이야기
빠르면 빠를 수록 좋치요~
About 
me 
• JBoss 
User 
Group 
Korea 
온오프라인 개발자 커뮤니티 운영자 
• Facebook 그룹 실시간빅데이터처리기술 온라인 커뮤니티 운영자 
• 실시간 빅데이터 플랫폼 전문 개발자 ...
언제 어디서 
Streaming 
기술이 
유용할까요??
Streaming 
기술의 
Use 
Cases 
알고리즘 주식 트레이딩 
지난 30분간의 주문 상품 Top10 
온라인몰 사용자 클릭 스트림기반 개인화 추천 
모바일 광고 타겟팅 서비스 
실시간 금융 사기 방지
Streaming 
기술의 
Use 
Cases 
• 테러 방지 
• 실시간 분석/추천/광고 
• 실시간 모니터링 
• 제조 공정 관리 
• 보안 관제 
• 금융/통신 
• 의료/헬스케어 
• IoT(Internet 
...
Streaming 
기술의 
Use 
Cases
Streaming 
시스템의 
Data 
Flow
Fast 
Data
funcEon(events, 
Eme)
실시간의 개념부터 살짝 
정리하고 시작합시다!
실시간 
Searching 
실시간 Batch 
Job 
실시간 Streaming
Real-­‐'me 
== 
Streaming 
전제하에 이야기를 
진행 하겠습니다
Real-­‐Eme 
시스템의 특징 
• EDA 
기반 아키텍처로 구현해야 함! 
– Event-­‐driven 
Architecture 
• 실시간이란 상대적인 개념 
• 요건에 따라 실시간의 범위가 정의될 수 있음 ...
Real-­‐Eme 
시스템의 키포인트 
• 낮은 
수준의 
지연 
시간 
– Low 
latency 
• 일정한 
응답 
속도의 
보장 
– RegulariEes 
in 
Response 
Eme 
• 예측 
가능한 ...
Real-­‐Eme 
서비스 수준 정의 
• Latency 
정규 분포 통계 계산 
Throughput 995,900 (active 0 pending 0) 
나노세컨드 단위 측정 
5 μs 수준의 성능
Real-­‐Eme 
서비스 수준 정의 
• Near 
Real-­‐'me 
– Minutes 
수준의 
지연 
시간 
보장 
• Real-­‐'me 
– Seconds, 
Milliseconds 
수준 
보장 
• R...
Streaming의 EDA 아키텍처 
• EDA기반으로 사람의 감각 기관 및 반응 구조와 유사 
– Event-­‐driven 
Architecture 
눈, 귀 등의 감각 기관 생각, 판단 손, 발의 반응
Streaming과 일반 방식의 비교 
배치, 요청/응답 방식 
스트리밍 방식 
Request/Response 
EDA 
동기 처리 
비동기 처리 
Response 
ReacEon 
선저장 후처리 
선처리 후저장
가장 먼저 
실시간 로그 수집부터 이슈
실시간 분산 로그 수집기
Apache 
KaVa 
이야기
Apache 
KaVa 
이야기
Apache 
KaVa 
이야기
Apache 
KaVa 
이야기 
• Publish-­‐subscribe 
방식의 고성능 분산 메시징 시스템 
• Topic과 Queue 
개념이 합쳐진 모델 
• LinkedIn 
SNA팀에서 개발하고 서비스에 사용 ...
Apache 
KaVa 
이야기 
h^p://www.slideshare.net/fullscreen/cloudera/introducEon-­‐to-­‐apache-­‐kaVa/1
Apache 
KaVa 
이야기 
• 사용하기 쉬운 API, 
설정 옵션 
• Zero-­‐copy 
방식으로 고성능 읽기 기능 
• Scale-­‐out 
아키텍처 
• Producer측에서 파티셔너를 구현해 분산 저...
KaVa 
in 
Neclix 
h^ps://gigaom.com/2013/12/09/neclix-­‐open-­‐sources-­‐its-­‐data-­‐traffic-­‐cop-­‐suro
Apache 
KaVa 
이야기 
h^p://www.cloudera.com/content/cloudera/en/developers/home/cloudera-­‐labs/apache-­‐kaVa.html
Apache 
KaVa 
이야기 
주키퍼 시작 
> bin/zookeeper-server-start.sh config/zookeeper.properties 
카프카 서버 시작 
> bin/kafka-server-star...
Apache 
KaVa 
이야기 
High 
Level 
Consumer 
API 
Simple 
Consumer 
API
Apache 
KaVa 
모니터링 
• JBoss 
RHQ 
모니터링 통합 플랫폼
Apache 
KaVa 
모니터링 
• QuanEfind의 KaVa 
Offset 
Monitor
Apache 
KaVa 
모니터링 
• QuanEfind의 KaVa 
Offset 
Monitor
써보니 결국 각자 
R&R이 있었습니다
Complex 
Event 
Processing
Esper 
CEP 
이야기 
• 1990년대부터 시작된 전통적인 Event 
Stream 처리 기술 
• Complex 
Event 
Processing을 구현 오픈 소스 Esper 
• 복합적인 event를 참조하여...
Esper 
이야기 
• Esper 
기본 아키텍처
Esper 
이야기 
• 실시간 ETL 
처리 후 HDFS 저장 
Thrift Server Hadoop FileSystem API 
ETL EPL 작성 
(Extract, Transform, Load)
Esper 
CEP 
이야기 
최근 30분내 강남에 있었던 급여가 10M 
이상이며 
나이가 30~35세 이상이고 취미가 쇼핑인 여성 
select * from customer(age=‘30~35’, 
gender=‘f...
Esper 
CEP 
이야기 
“Asset이 서로 다른 Zone으로 이동 후 
10초 이상 머무르면, 
경보를 알려라” 
select Part.zone from pattern [ 
every Part=CountZone(...
Esper 
CEP 
이야기 
단일 노드(JVM)의 한계
Apache 
Storm 
이야기
Apache 
Storm 
이야기 
• Twi^er의 실시간 스트리밍 데이터 분석 솔루션 
• Real-­‐Eme 
Hadoop 같은 존재 
• 스트림 분산 처리 아키텍처 
• Transac'onal 스트림 처리 기능 ...
Apache 
Storm 키워드 
Nimbus 
Supervisor 
Worker 
Spout/Bolt 
Transac'onal 
Spout/Bolt 
Trident
Apache 
Storm 
이야기 
JobTracker 
• Real-­‐Eme 
MapReduce 
TaskTracker
Apache 
Storm 
이야기
Apache 
Storm 
이야기
KaVa 
+ 
Storm 
IntegraEon 
• Storm 
프로젝트의 통합 모듈에 포함 
– h^ps://github.com/apache/storm/tree/master/external/storm-­‐kaVa 
...
Apache 
Storm 
이야기
Apache 
Storm 
Distributed 
RPC
Apache 
Storm 
Trident 
• Codes
Apache 
Storm 
Trident 
• Compile 
Down
Apache 
Storm 
이야기 
좀 더 간단하면 안되겠니??
현재 실시간 플랫폼의 아쉬운점 
• 실시간 분산 환경에서 고성능으로 데이터 공유의 어려움 
• 분산 환경에서 Time 
Window 
제공이 어려움 
• 로우 레벨 코드 작업이 큼 
• 배치 분석 시스템과 개별 운영 공...
실시간 시스템 아키텍처 사례
JBoss 
Infinispan 
이야기 
• JBoss 
커뮤니티의 오픈 소스 프로젝트 
– Scala, 
Java 
• Data 
Grid, 
In-­‐memory 
NoSQL, 
분산 케시 
• In-­‐memor...
JBoss 
Infinispan 
이야기 
• 메타 데이터 관리 è 시스템 관리 
• 성능/에러 모니터링 데이터 저장소 è Live 
Charts 
로 연동 
• 마이닝 데이터 저장소 è 추천 
• 실시간 데이터 ...
새로운 분석 플랫폼의 등장
새로운 분석 플랫폼 Apache 
Spark 
One 
pla[orm 
to 
rule 
them 
all 
… 
and 
blurs 
boundary 
between 
SQL, 
machine 
learning, 
s...
현재 분석 플랫폼의 아키텍처 
h^p://spark-­‐summit.org/wp-­‐content/uploads/2013/10/Stoica-­‐SparkSummit-­‐Ion.final_.pdf
Spark 
Streaming 
새로운 스트리밍 플랫폼
Spark 
Streaming 이야기 
RDD 
Resilient 
Distributed 
Datasets 
Immutable 
Parallelized 
Collec6ons
Spark 
Streaming 이야기 
DStreams 
Discre6zed 
Streams 
연속된 RDD
Spark 
Streaming 이야기
Spark 
Streaming 이야기
Spark 
Streaming 이야기
Spark 
Streaming 
이야기 
• 초단위 latency 
• Streaming도 작은 배치의 연속으로 구현 
• Storm의 TransacEonal 
토폴로지와 유사한 개념 
• 실제 실행은 마이크로 배치 잡...
Spark 
Streaming 
이야기 
• Simple한 프로그래밍 모델 제공 
• 분산 처리 환경에서 Time 
Window 
API 
제공 
• Stateful 
스트림 프로세싱 기능 가능 
• Task 
실패시 ...
Spark 
Streaming 튜닝 핵심 개념 
SparkStreamingContext 
'me 
window: 
10sec 
blockInterval: 
500ms 
으로 정의하면, 
RDD당 20개의 par''on ...
Spark 
Streaming 
이야기
Spark 
Streaming 이야기 
Stream을 
Transforma6on 
하고 또 해서 
Ac6on 하는 스토리 
요런게 스트림 그래프 (DAG)
Spark 
Streaming 이야기 
• Transforma'on 
API 
map(func) 
filter(func) 
flatMap(func) 
mapPar''ons(func) 
union(otherDataset)...
Spark 
Streaming 이야기 
• Ac'on 
API 
print() 
foreachRDD(func) 
saveAsTextFiles(prefix, 
[suffix]) 
saveAsHadoopFiles(prefi...
Spark 
Streaming 이야기 
Scala로된 샘플 코드 한 번 보실래요?
Spark 
Streaming 이야기
Spark 
Streaming 이야기
Spark 
Streaming 이야기
Spark 
Streaming 
on 
YARN
KaVa 
+ 
Spark 
IntegraEon 
• KaVa 
프로젝트 통합 모듈 존재 
– KaVaInputDStream.scala 
– h^ps://github.com/apache/spark/tree/master/...
Summary 
• 실시간 프로젝트를 위한 기본 개념은 필수 
• 각 오픈 소스의 장점을 활용한 아키텍처 구성 필요 
• 안정적인 데이터 수집 관리를 위해서는 KaVa는 현재 최고의 선택 
• 운영 중 동적인 스트리밍 ...
Summary 
h^p://www.reacEvemanifesto.org 
• ReacEve 
Manifesto
Streaming 
기술이 
더욱 활발히 적용되길 바랍니다.
Special 
thanks 
to 
co-­‐workers!
Thank 
you!
개발자 커뮤니티에서 함께해요~ 
hjps://www.facebook.com/groups/jbossusergroup 
hjps://www.facebook.com/groups/open.real'mecep
References 
• h^p://kaVa.apache.org 
• h^p://esper.codehaus.org 
• h^p://storm.apache.org 
• h^p://spark.apache.org/docs/l...
지금 핫한 Real-time In-memory Stream Processing 이야기
지금 핫한 Real-time In-memory Stream Processing 이야기
지금 핫한 Real-time In-memory Stream Processing 이야기
지금 핫한 Real-time In-memory Stream Processing 이야기
지금 핫한 Real-time In-memory Stream Processing 이야기
Upcoming SlideShare
Loading in …5
×

지금 핫한 Real-time In-memory Stream Processing 이야기

17,055 views

Published on

실시간 데이터 처리 프로젝트를 위한 오픈 소스와 아키텍처 사례 소개

Published in: Data & Analytics

지금 핫한 Real-time In-memory Stream Processing 이야기

  1. 1. 지금 핫한 Real-­‐'me In-­‐memory Stream Processing 이야기 tedwon iamtedwon@gmail.com
  2. 2. 우리 나라 사람들이 특히 좋아하는 이야기
  3. 3. 빠르면 빠를 수록 좋치요~
  4. 4. About me • JBoss User Group Korea 온오프라인 개발자 커뮤니티 운영자 • Facebook 그룹 실시간빅데이터처리기술 온라인 커뮤니티 운영자 • 실시간 빅데이터 플랫폼 전문 개발자 • 현 DaumKakao 개발자 • 전 kth DAISY 개발자 • www.facebook.com/tedwon • tedwon.atlassian.net
  5. 5. 언제 어디서 Streaming 기술이 유용할까요??
  6. 6. Streaming 기술의 Use Cases 알고리즘 주식 트레이딩 지난 30분간의 주문 상품 Top10 온라인몰 사용자 클릭 스트림기반 개인화 추천 모바일 광고 타겟팅 서비스 실시간 금융 사기 방지
  7. 7. Streaming 기술의 Use Cases • 테러 방지 • 실시간 분석/추천/광고 • 실시간 모니터링 • 제조 공정 관리 • 보안 관제 • 금융/통신 • 의료/헬스케어 • IoT(Internet of Things)
  8. 8. Streaming 기술의 Use Cases
  9. 9. Streaming 시스템의 Data Flow
  10. 10. Fast Data
  11. 11. funcEon(events, Eme)
  12. 12. 실시간의 개념부터 살짝 정리하고 시작합시다!
  13. 13. 실시간 Searching 실시간 Batch Job 실시간 Streaming
  14. 14. Real-­‐'me == Streaming 전제하에 이야기를 진행 하겠습니다
  15. 15. Real-­‐Eme 시스템의 특징 • EDA 기반 아키텍처로 구현해야 함! – Event-­‐driven Architecture • 실시간이란 상대적인 개념 • 요건에 따라 실시간의 범위가 정의될 수 있음 • 실시간 서비스 수준 정의가 필요 • 실시간 시스템의 SLA 정의 및 합의 필요
  16. 16. Real-­‐Eme 시스템의 키포인트 • 낮은 수준의 지연 시간 – Low latency • 일정한 응답 속도의 보장 – RegulariEes in Response Eme • 예측 가능한 성능 제공 – Providing predictable performance ü 결국 낮은 지연 시간을 일정하게 최대한 오래 유지 (24/7)
  17. 17. Real-­‐Eme 서비스 수준 정의 • Latency 정규 분포 통계 계산 Throughput 995,900 (active 0 pending 0) 나노세컨드 단위 측정 5 μs 수준의 성능
  18. 18. Real-­‐Eme 서비스 수준 정의 • Near Real-­‐'me – Minutes 수준의 지연 시간 보장 • Real-­‐'me – Seconds, Milliseconds 수준 보장 • Real Real-­‐'me – Microseconds 수준 보장 ü 구체적인 범위 정의는 비즈니스 SLA 요구 수준에 따라 결정됨
  19. 19. Streaming의 EDA 아키텍처 • EDA기반으로 사람의 감각 기관 및 반응 구조와 유사 – Event-­‐driven Architecture 눈, 귀 등의 감각 기관 생각, 판단 손, 발의 반응
  20. 20. Streaming과 일반 방식의 비교 배치, 요청/응답 방식 스트리밍 방식 Request/Response EDA 동기 처리 비동기 처리 Response ReacEon 선저장 후처리 선처리 후저장
  21. 21. 가장 먼저 실시간 로그 수집부터 이슈
  22. 22. 실시간 분산 로그 수집기
  23. 23. Apache KaVa 이야기
  24. 24. Apache KaVa 이야기
  25. 25. Apache KaVa 이야기
  26. 26. Apache KaVa 이야기 • Publish-­‐subscribe 방식의 고성능 분산 메시징 시스템 • Topic과 Queue 개념이 합쳐진 모델 • LinkedIn SNA팀에서 개발하고 서비스에 사용 중 – 2011년 시작 – Scala, Java 구현 • LinkedIn에서 2014년 기준 300개가 넘는 브로커 운영 – 18,000개의 토픽 – 하루에 2,200억 메세지 처리
  27. 27. Apache KaVa 이야기 h^p://www.slideshare.net/fullscreen/cloudera/introducEon-­‐to-­‐apache-­‐kaVa/1
  28. 28. Apache KaVa 이야기 • 사용하기 쉬운 API, 설정 옵션 • Zero-­‐copy 방식으로 고성능 읽기 기능 • Scale-­‐out 아키텍처 • Producer측에서 파티셔너를 구현해 분산 저장 조절 • 배치 단위 전송, 압축 기능등 효율적인 전송 기능 • 성능을 위해 OS와 Log 디스크 드라이브를 분리 • KaVa + Stream Processor 조합으로 활용
  29. 29. KaVa in Neclix h^ps://gigaom.com/2013/12/09/neclix-­‐open-­‐sources-­‐its-­‐data-­‐traffic-­‐cop-­‐suro
  30. 30. Apache KaVa 이야기 h^p://www.cloudera.com/content/cloudera/en/developers/home/cloudera-­‐labs/apache-­‐kaVa.html
  31. 31. Apache KaVa 이야기 주키퍼 시작 > bin/zookeeper-server-start.sh config/zookeeper.properties 카프카 서버 시작 > bin/kafka-server-start.sh config/server.properties 토픽 생성 > bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic test 로그 생성 > bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test 로그 처리 > bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic test --from-beginning
  32. 32. Apache KaVa 이야기 High Level Consumer API Simple Consumer API
  33. 33. Apache KaVa 모니터링 • JBoss RHQ 모니터링 통합 플랫폼
  34. 34. Apache KaVa 모니터링 • QuanEfind의 KaVa Offset Monitor
  35. 35. Apache KaVa 모니터링 • QuanEfind의 KaVa Offset Monitor
  36. 36. 써보니 결국 각자 R&R이 있었습니다
  37. 37. Complex Event Processing
  38. 38. Esper CEP 이야기 • 1990년대부터 시작된 전통적인 Event Stream 처리 기술 • Complex Event Processing을 구현 오픈 소스 Esper • 복합적인 event를 참조하여 패턴을 알아 차리는 기술 • Data Window, Pa^ern matching 기능이 핵심 • ConEnuous Query EPL 제공 • 10억분의 1초(ns) 단위의 성능 è 초고성능 가능
  39. 39. Esper 이야기 • Esper 기본 아키텍처
  40. 40. Esper 이야기 • 실시간 ETL 처리 후 HDFS 저장 Thrift Server Hadoop FileSystem API ETL EPL 작성 (Extract, Transform, Load)
  41. 41. Esper CEP 이야기 최근 30분내 강남에 있었던 급여가 10M 이상이며 나이가 30~35세 이상이고 취미가 쇼핑인 여성 select * from customer(age=‘30~35’, gender=‘female’, salary>10M, location=‘강남’, hobby=‘shopping’).win:time(30 min)
  42. 42. Esper CEP 이야기 “Asset이 서로 다른 Zone으로 이동 후 10초 이상 머무르면, 경보를 알려라” select Part.zone from pattern [ every Part=CountZone(cnt in (1, 2)) -> ( not CountZone(zone=Part.zone, cnt in (0, 3)) and timer:interval(10 sec) )]
  43. 43. Esper CEP 이야기 단일 노드(JVM)의 한계
  44. 44. Apache Storm 이야기
  45. 45. Apache Storm 이야기 • Twi^er의 실시간 스트리밍 데이터 분석 솔루션 • Real-­‐Eme Hadoop 같은 존재 • 스트림 분산 처리 아키텍처 • Transac'onal 스트림 처리 기능 • 분산 RPC 기능 • 이벤트 처리 보장 기능 • 지속적인 버전업 중, 커뮤니티 활발 • 국내 레퍼런스 많음
  46. 46. Apache Storm 키워드 Nimbus Supervisor Worker Spout/Bolt Transac'onal Spout/Bolt Trident
  47. 47. Apache Storm 이야기 JobTracker • Real-­‐Eme MapReduce TaskTracker
  48. 48. Apache Storm 이야기
  49. 49. Apache Storm 이야기
  50. 50. KaVa + Storm IntegraEon • Storm 프로젝트의 통합 모듈에 포함 – h^ps://github.com/apache/storm/tree/master/external/storm-­‐kaVa • Simple Consumer API로 구현 • Storm Spout에서 KaVa 메세지 offset 직접 관리 • KaVa + Storm 조합 사용 사례 많음 • ProducEon 적용 가능 수준 상태
  51. 51. Apache Storm 이야기
  52. 52. Apache Storm Distributed RPC
  53. 53. Apache Storm Trident • Codes
  54. 54. Apache Storm Trident • Compile Down
  55. 55. Apache Storm 이야기 좀 더 간단하면 안되겠니??
  56. 56. 현재 실시간 플랫폼의 아쉬운점 • 실시간 분산 환경에서 고성능으로 데이터 공유의 어려움 • 분산 환경에서 Time Window 제공이 어려움 • 로우 레벨 코드 작업이 큼 • 배치 분석 시스템과 개별 운영 공수 필요 • 클러스터 리소스 공유의 어려움
  57. 57. 실시간 시스템 아키텍처 사례
  58. 58. JBoss Infinispan 이야기 • JBoss 커뮤니티의 오픈 소스 프로젝트 – Scala, Java • Data Grid, In-­‐memory NoSQL, 분산 케시 • In-­‐memory HDFS 같은 존재 • 메모리 기반의 대용량 데이터 저장소 • 운영 중 노드 추가 가능, replica 기능 지원 • 안정적인 클러스터 운영 기능
  59. 59. JBoss Infinispan 이야기 • 메타 데이터 관리 è 시스템 관리 • 성능/에러 모니터링 데이터 저장소 è Live Charts 로 연동 • 마이닝 데이터 저장소 è 추천 • 실시간 데이터 저장소 • 등등 포텐 대박!!
  60. 60. 새로운 분석 플랫폼의 등장
  61. 61. 새로운 분석 플랫폼 Apache Spark One pla[orm to rule them all … and blurs boundary between SQL, machine learning, streams & graphs
  62. 62. 현재 분석 플랫폼의 아키텍처 h^p://spark-­‐summit.org/wp-­‐content/uploads/2013/10/Stoica-­‐SparkSummit-­‐Ion.final_.pdf
  63. 63. Spark Streaming 새로운 스트리밍 플랫폼
  64. 64. Spark Streaming 이야기 RDD Resilient Distributed Datasets Immutable Parallelized Collec6ons
  65. 65. Spark Streaming 이야기 DStreams Discre6zed Streams 연속된 RDD
  66. 66. Spark Streaming 이야기
  67. 67. Spark Streaming 이야기
  68. 68. Spark Streaming 이야기
  69. 69. Spark Streaming 이야기 • 초단위 latency • Streaming도 작은 배치의 연속으로 구현 • Storm의 TransacEonal 토폴로지와 유사한 개념 • 실제 실행은 마이크로 배치 잡처럼 수행 • 배치 윈도우 시간 내에 처리 가능하도록 만들어줘야함 • 각 배치 사이즈를 시간 간격 설정으로 조절 가능
  70. 70. Spark Streaming 이야기 • Simple한 프로그래밍 모델 제공 • 분산 처리 환경에서 Time Window API 제공 • Stateful 스트림 프로세싱 기능 가능 • Task 실패시 재시도 기능 제공 è fault-­‐tolerance • CMS GC가 잘 동작 • Spark 배치와 동일한 관리자 UI 제공 • 로컬 테스트 용이
  71. 71. Spark Streaming 튜닝 핵심 개념 SparkStreamingContext 'me window: 10sec blockInterval: 500ms 으로 정의하면, RDD당 20개의 par''on 생성 (10,000/500) 20개의 태스크가 수행됨 YARN에서 executor 1개 5개 vCore 할당시, 1vCore당 4개(20/5) 4개의 태스크 수행
  72. 72. Spark Streaming 이야기
  73. 73. Spark Streaming 이야기 Stream을 Transforma6on 하고 또 해서 Ac6on 하는 스토리 요런게 스트림 그래프 (DAG)
  74. 74. Spark Streaming 이야기 • Transforma'on API map(func) filter(func) flatMap(func) mapPar''ons(func) union(otherDataset) repar''on(numPar''ons) groupByKey([numTasks]) reduceByKey(func, [numTasks]) updateStateByKey(func)
  75. 75. Spark Streaming 이야기 • Ac'on API print() foreachRDD(func) saveAsTextFiles(prefix, [suffix]) saveAsHadoopFiles(prefix, [suffix]) saveAsObjectFiles(prefix, [suffix])
  76. 76. Spark Streaming 이야기 Scala로된 샘플 코드 한 번 보실래요?
  77. 77. Spark Streaming 이야기
  78. 78. Spark Streaming 이야기
  79. 79. Spark Streaming 이야기
  80. 80. Spark Streaming on YARN
  81. 81. KaVa + Spark IntegraEon • KaVa 프로젝트 통합 모듈 존재 – KaVaInputDStream.scala – h^ps://github.com/apache/spark/tree/master/external/kaVa • High-­‐level Consumer API로 구현 • ProducEon 용은 아직 아닌 듯 • 1.2.x 버전에서는 해결 될 듯 – ReliableKaVaReceiver.scala 추가
  82. 82. Summary • 실시간 프로젝트를 위한 기본 개념은 필수 • 각 오픈 소스의 장점을 활용한 아키텍처 구성 필요 • 안정적인 데이터 수집 관리를 위해서는 KaVa는 현재 최고의 선택 • 운영 중 동적인 스트리밍 처리 로직 변경이 필요한 경우는 Esepr • 실시간 분산 전처리용으로 Storm, Spark Streaming • 인메모리 프로세싱과 Infinsipan은 찰떡 궁합 • 실시간의 특성상 성능 관리와 모니터링 중요
  83. 83. Summary h^p://www.reacEvemanifesto.org • ReacEve Manifesto
  84. 84. Streaming 기술이 더욱 활발히 적용되길 바랍니다.
  85. 85. Special thanks to co-­‐workers!
  86. 86. Thank you!
  87. 87. 개발자 커뮤니티에서 함께해요~ hjps://www.facebook.com/groups/jbossusergroup hjps://www.facebook.com/groups/open.real'mecep
  88. 88. References • h^p://kaVa.apache.org • h^p://esper.codehaus.org • h^p://storm.apache.org • h^p://spark.apache.org/docs/latest/programming-­‐guide.html • h^ps://www.usenix.org/system/files/conference/nsdi12/nsdi12-­‐final138.pdf • h^p://berlinbuzzwords.de/sites/berlinbuzzwords.de/files/media/documents/ andrew_psalEs_-­‐_sparkstreaming.pdf • h^p://www.michael-­‐noll.com/blog/2014/10/01/kaVa-­‐spark-­‐streaming-­‐integraEon-­‐example-­‐ tutorial • h^p://www.slideshare.net/ptgoetz/apache-­‐storm-­‐vs-­‐spark-­‐streaming • h^p://infinispan.org/infinispan-­‐7.0 • h^p://blog.cloudera.com/blog/2014/07/jay-­‐kreps-­‐apache-­‐kaVa-­‐architect-­‐visits-­‐cloudera • h^p://www.slideshare.net/tedwon/realEmecepv26 • h^p://www.slideshare.net/tedwon/real-­‐Eme-­‐bigdataanalyEcspracEcewithunstructureddata • h^p://www.slideshare.net/tedwon/complex-­‐event-­‐processing-­‐with-­‐esper-­‐11106262 • h^p://www.slideshare.net/tedwon/red-­‐hat-­‐forum-­‐2012-­‐jboss-­‐rhq

×