카프카의 신뢰성 보장: 데이터 무손실을 위한 전략

sy-chung·2023년 12월 7일
0

kafka

목록 보기
1/1
post-thumbnail

금융 서비스, 사기 방지 시스템 등과 같이 한 조각의 데이터라도 소실되면 안 되는 상황에서, 아파치 카프카(Apache Kafka)의 도입은 신중한 검토가 필요합니다.

카프카 도입 전 반드시 고려해야 할 의문점들:

  1. 카프카를 통해 데이터가 절대로 소실되지 않을 것이라는 것을 100% 확신할 수 있는가?
  2. 메시지가 소실될 가능성은 있는가? 있다면, 그 원인을 어떻게 파악하고, 대비할 수 있는가?
  3. 분산 시스템 환경에서 예상치 못한 장애에도 불구하고, 데이터의 안전성을 어떻게 보장할 수 있는가?
  4. 중복 데이터가 발생했을 때, 이를 어떻게 효과적으로 처리할 것인가?

이러한 의문들에 답하기 위해, 이번 포스트에서는 카프카의 장애 케이스, 데이터 복제, 컨슈머 처리 보증, 오프셋 관리, 데이터 손실 모니터링 및 대처 방안에 대해 알아보겠습니다. 또한, 카프카가 제공하는 신뢰성과 무손실 데이터 스트리밍을 실제로 구현하는 방법을 알아보겠습니다.

카프카 장애 케이스

  1. 네트워크 장애
    • NIC 하드웨어 문제, 또는 Network 자체 문제 등으로 인하여 Producer Machine, Broker Machine, Consumer Machine, 그리고 Zookeeper Machine 모두 네트워크 장애가 발생할 수 있습니다.
  2. Disk 장애
    • Broker Machine의 Disk 장애가 발생할 수 있습니다.
  3. Client의 application Thread 장애
    • Client의 application Thread가 장애가 발생하여 멈출 수 있습니다.
  4. Machine down 장애
    • 모든 Machine은 예상치 못하게 down 될 수 있습니다.

다중화(Replication)


Reference

0개의 댓글