카오스 엔지니어링 한스푼 추가한 Kafka MM2 성능 테스트!

Kafka 관련 카오스 엔지니어링 사례가 많지 않은데, 마침 좋은 내용의 글이 있어 옮겨봅니다. * 카오스 엔지니어링이란? 복잡한 분산 시스템 환경에서 시스템의 신뢰성을 확인하기 위해, 인위적인 혼돈(Chaos)을 가하여 시스템의 취약한 부분을 찾고 보강하는 방식의 엔지니어링 기법 * Why? 최근 SK데이터센터 장애로 인한 카카오 장애시처럼 불특정 장애조건상태에서 서비스 연속성 여부를 테스트하기 위한 가용성 테스트 방법론의 하나로 넷플릭스에서 시작하여 대규모 분산서비스를 하는 기업들은 SRE의 주요 업무중 하나로 진행 하기도 함. -- 넷플릭스의 카오스 몽키 Github: https://netflix.github.io/chaosmonkey/ * 테스트 원칙 (출처: IT 위키) - 정상적인 동작을 기반으로 가설을 만든다. - 다양한 실제적 사건들을 이용한다. - 프로덕션(운영) 환경에서 테스트한다. - 지속적 테스트를 위해 동작을 자동화한다. - 장애 반경을 최소화한다. * 절차 (출처: IT 위키) 1. 시스템의 정상적인 상태를 정의 ex) CPU Load, Memory Utilization, Network I/O 등 2. 통제 그룹과 시험 그룹 시스템이 정상적인 상태로 지속될 것이라 가정 ex) 서버 40대 중 10대가 동시에 고장나도 고객 서비스는 정상 동작 3. 현실에서 일어날 수 있는 문제를 반영하여 실험 그룹에 도입 ex) 갑작스런 접속 폭주, 서비스 거부 공격 * 컨테이너 기반의 카오스 엔지니어링은? (하기 링크 참조) docker기반의 Kafka에 대한 카오스 엔지니어링 테스트 사례입니다. ** PUMBA: 카오스 엔지니어링을 테스팅하기 위해 도커 기반의 환경에 제공되는 카오스 테스팅 도구로, 컨테이너 애플리케이션 간 충돌을 일으키거나 네트워크 장애를 고의적으로 발생시킬 수 있는 기능을 제공. ** PUMBA의 기능: 컨테이너 중지, 컨테이너 내 실행 중인 프로세스 중지, 네트워크 에뮬레이션을 통해 네트워크 장애, 대역폭 제한, 패킷 손실 등 ** 자세한 테스트 내용은 하기 링크 참고 해주시기 바랍니다.

카오스 엔지니어링 한스푼 추가한 Kafka MM2 성능 테스트!

Sk

카오스 엔지니어링 한스푼 추가한 Kafka MM2 성능 테스트!

다음 내용이 궁금하다면?

또는

이미 회원이신가요?

2022년 12월 5일 오후 1:48

댓글 0