01. Apache Kafka

Apache Kafkaλž€?

Data in Motion Platform for Enterprise(Event Streaming Platform)

Event: λΉ„μ§€λ‹ˆμŠ€μ—μ„œ μΌμ–΄λ‚˜λŠ” 데이터λ₯Ό 의미

  • λΉ„μ§€λ‹ˆμŠ€λ‘œ 인해 데이터가 μƒμ„±λ˜λŠ” 것.

    • μ›Ή μ‚¬μ΄νŠΈμ—μ„œ 무언가λ₯Ό 클릭.

    • μ²­κ΅¬μ„œ λ°œν–‰

  • λΉ… λ°μ΄ν„°μ˜ νŠΉμ§•μ„ 가짐

  • λŒ€μš©λŸ‰μ˜ 데이터 λ°œμƒ

Event Stream: 연속적인 λ§Žμ€ μ΄λ²€νŠΈλ“€μ˜ 흐름을 의미

  • λŒ€λŸ‰μ˜ 데이터λ₯Ό 높은 μ²˜λ¦¬λŸ‰κ³Ό μ‹€μ‹œκ°„μœΌλ‘œ μ·¨κΈ‰ν•˜κΈ° μœ„ν•œ μ œν’ˆ.

  • LinkedIn μ—μ„œ 졜초 개발.

    • 기쑴의 Messaging Platform으둜 처리 λΆˆκ°€λŠ₯ β†’ 이벀트 슀트림 처리λ₯Ό μœ„ν•΄ 개발

    • μ›Ήμ‚¬μ΄νŠΈμ˜ 둜그λ₯Ό μ²˜λ¦¬ν•˜μ—¬ μ›Ήμ‚¬μ΄νŠΈ ν™œλ™μ„ μΆ”μ ν•˜λŠ”κ²ƒμ„ λͺ©μ μœΌλ‘œ κ°œλ°œλ˜μ—ˆλ‹€. (μ‚¬μš©μžμ˜ νŽ˜μ΄μ§€ λ·°&κ΄‘κ³ μ˜ 이용 λ“±)

circle-info

μΉ΄ν”„μΉ΄ 이전 μ œν’ˆ(λ§ν¬λ“œμΈμ˜ μš”κ΅¬μ‚¬ν•­μ„ μΆ©μ‘±ν•˜μ§€ λͺ»ν•œ λΆ€λΆ„)

  1. λ©”μ‹œμ§€ 큐

    • ν•œ 건의 λ ˆμ½”λ“œ λ‹¨μœ„λ‘œ μ‹€μ‹œκ°„ 처리λ₯Ό μœ„ν•œ 것.(WebSphere MQ,Active MQ, Rabbit MQ, λ“±)

    • κ°•λ ₯ν•œ 전달 보증이 였히렀 μ˜€λ²„ 슀팩.(λ§ν¬λ“œμΈμ€ '높은 μ²˜λ¦¬λŸ‰'의 μš°μ„ μˆœμœ„κ°€ 더 λ†’μ•˜λ‹€.)

    • μŠ€μΌ€μΌ 아웃이 용이 ν•˜μ§€ μ•Šμ•˜λ‹€.

    • λ©”μ‹œμ§€κ°€ λŒ€λŸ‰μœΌλ‘œ μŒ“μ΄λŠ” 것을 μ˜ˆμƒν•˜μ§€ μ•Šμ•˜λ‹€.

  2. 둜그 μˆ˜μ§‘ μ‹œμŠ€ν…œ

    • 주둜 μ›Ή μ„œλ²„ λ“±μ˜ ν”„λ‘ νŠΈμ—”λ“œ μ„œλ²„μ˜ 둜그λ₯Ό μˆ˜μ§‘ν•˜κΈ° μœ„ν•œ 것.(Scribe, Flume, λ“±)

    • HDFS(Hadoop Distributed File System)둜 데이터 좕적과 배치 처리만 κ³ λ €.

    • μ–΄λ €μš΄ API

    • μˆ˜μ‹ ν•˜λŠ” μͺ½μ΄ μž„μ˜λ‘œ λ©”μ‹œμ§€λ₯Ό μˆ˜μ‹ ν•˜κΈ° μ–΄λ ΅λ‹€.

  3. ETL (Extract, Transform, Load) 도ꡬ

    ETL: 데이터 λ°œμƒμ›μ—μ„œ 데이터λ₯Ό μΆ”μΆœν•˜κ³  ν•„μš”μ— 따라 λ³€ν™˜ν•΄ λ°μ΄ν„°λ² μ΄μŠ€μ™€ 데이터 μ›¨μ–΄ν•˜μš°μŠ€μ— λ‘œλ“œν•˜λŠ” κΈ°λŠ₯을 κ°–μΆ”κ³  μžˆλ‹€.(DataStage, Interstage, Cosminexus, Informatica PowerCenter, Talend, λ“±)

    • 데이터 파일 λ‹¨μœ„λ‘œ 닀룬닀.(λ ˆμ½”λ“œ λ‹¨μœ„λ‘œ λ‹€λ£° μˆ˜κ°€ μ—†μ—ˆλ‹€.)

    • μˆ˜μ‹ ν•˜λŠ” μͺ½μ΄ μž„μ˜λ‘œ λ©”μ‹œμ§€λ₯Ό μˆ˜μ‹ ν•˜κΈ° μ–΄λ ΅λ‹€.

νŠΉμ§•

  1. 이벀트 μŠ€νŠΈλ¦Όμ„ μ•ˆμ „ν•˜κ²Œ 전솑(pub-sub ꡬ쑰)

  2. 이벀트 μŠ€νŠΈλ¦Όμ„ λ””μŠ€ν¬μ— μ €μž₯

  3. 이벀트 μŠ€νŠΈλ¦Όμ„ 뢄석 및 처리

κ΄€λ ¨ κΈ°μ—… Confluent

  • kafka μ°½μ‹œμžκ°€ 섀립

  • 2014λ…„ 섀립

μž₯점

  • κ³ μ„±λŠ₯(고슀팩의 μž₯λΉ„λ₯Ό μš”κ΅¬ν•˜μ§€ μ•ŠλŠ”λ‹€.)

  • 기쑴의 message platform λŒ€λΉ„ μ›”λ“±ν•œ μ²˜λ¦¬λŸ‰(μ²˜λ¦¬λŸ‰μ΄ 증가에 따라 μ„±λŠ₯ 증가)

circle-info
  1. ν™•μž₯μ„± : μ—¬λŸ¬ μ„œλ²„λ‘œ 'ν™•μž₯ ꡬ성'이 κ°€λŠ₯, 데이터에 양에 따라 μ‹œμŠ€ν…œ ν™•μž₯이 κ°€λŠ₯.

  2. μ˜μ†μ„± : μˆ˜μ‹ ν•œ 데이터λ₯Ό 'λ””μŠ€ν¬μ— μœ μ§€' ν•  수 있기 λ•Œλ¬Έμ— μ–Έμ œλ“ μ§€ 데이터 μ ‘κ·Ό.

  3. μœ μ—°μ„± : '연계할 수 μžˆλŠ” μ œν’ˆμ΄ 많기' λ•Œλ¬Έμ— μ œν’ˆμ΄λ‚˜ μ‹œμŠ€ν…œμ„ μ—°κ²°ν•˜λŠ” ν—ˆλΈŒ μ—­ν• .

  4. μ‹ λ’°μ„± : 'λ©”μ‹œμ§€ 전달 보증' λ°μ΄ν„°μ˜ 뢄싀을 κ±±μ •ν•˜μ§€ μ•Šμ•„λ„ λœλ‹€.

μ‚¬μš© 사둀

Eventκ°€ μ‚¬μš©λ˜λŠ” λͺ¨λ“  κ³³μ—μ„œ μ‚¬μš©

  • Messaging system

  • IOT λ””λ°”μ΄μŠ€λ‘œλΆ€ν„° 데이터 μˆ˜μ§‘

  • μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ—μ„œ λ°œμƒν•˜λŠ” 둜그 μˆ˜μ§‘

  • Realtime Event Stream Processing (Fraud Detection, 이상 감지 λ“±)

  • DB 동기화 (MSA 기반의 λΆ„λ¦¬λœ DBκ°„ 동기화)

  • μ‹€μ‹œκ°„ ETL

  • Spark, Flink, Storm, Haddopκ³Ό 같은 빅데이터 기술과 같이 μ‚¬μš©

μ‚°μ—… 뢄야별 사둀

  • ꡐ톡: μš΄μ „μž-νƒ‘μŠΉμž 맀치, μ‹€μ‹œκ°„ μ°¨λŸ‰ 진단

  • 금육: 사기 감지, 쀑볡 거래 감지, 거래, μœ„ν—˜ μ‹œμŠ€ν…œ

  • 였락: μ‹€μ‹œκ°„ μΆ”μ²œ, 사기 감지

  • 온라인 λ§ˆμΌ“: μ‹€μ‹œκ°„ 재고 정보, λŒ€μš©λŸ‰ 주문의 μ•ˆμ „ν•œ 처리

Last updated