카오스 미들웨어: Django 애플리케이션의 중단을 시뮬레이션하여 복원력 향상
5916 단어 djangodevopsresiliencechaos
Uwe Friedrichsen 및 Donald Firesmith과 같은 위대한 저자 및 발표자는 탄력적인 소프트웨어 설계에 대한 아이디어와 지식을 공유합니다. 이러한 기사에서는 장애를 극복하고 응용 프로그램 복원력을 멋진 방식으로 개선하는 소프트웨어 패턴을 설명합니다.
그러나 복원력 패턴을 배포하려면 개발자로서 구현을 확인해야 합니다. 검증의 땅을 만지면 일이 어려워 보인다.
카오스 엔지니어링 도구는 가상 머신 중지 또는 Kubernetes 클러스터에서 포드 종료와 같은 기능을 광고합니다. 여기서 "폭발 반경"이 높아집니다. 금요일 오후 2시에 탄력성 디자인 패턴을 탐색할 때 개발자가 예상하는 것보다 높습니다.
여기에서
Chaos Middleware
패키지가 실행됩니다. Cloud Bug Study에서는 버그가 있는 코드, 시간 초과 등의 오류 처리를 소홀히 하면 시스템의 대부분을 사용할 수 없게 된다고 설명합니다.Chaos Middleware
를 사용하면 난기류 조건에서 응용 프로그램을 던질 수 있습니다. 지연된 응답을 시뮬레이션하거나 오류를 발생시킬 수 있습니다. 필요할 때 중단을 활성화하고 특정 URL 경로에서 범위를 좁힙니다. Chaos Middleware
는 금요일 오후에도 "폭발 반경"을 최소화하고 응용 프로그램의 복원력을 확인할 수 있는 기회를 제공합니다.다음 섹션에서는 i) Django 애플리케이션의 설치 및 구성 프로세스 ii) 지연 및 애플리케이션 오류 시뮬레이션을 안내합니다. 시뮬레이션은 HTTP 헤더 요청 또는
Chaos Platform
제어 센터에 의해 활성화됩니다.설치 및 구성
Django 애플리케이션용
Chaos Middleware
을 설치합니다. cd /path/to/your/django-application # Enter your Django application
venv/bin/activate # Active virtual environment
pip install -U proofdock-chaos-middleware-django
Django 애플리케이션을 구성합니다.
# Activate the ``Chaos Middleware`` component by adding
# it to the MIDDLEWARE list in your Django settings
MIDDLEWARE = [
'..'
'pdchaos.middleware.contrib.django.django_middleware.DjangoMiddleware',
'..'
]
# Set the Chaos Middleware settings
CHAOS_MIDDLEWARE = {
'CHAOS_MIDDLEWARE_APPLICATION_NAME': 'example-application-name',
'CHAOS_MIDDLEWARE_APPLICATION_ENV': 'example-environment'
}
지연 시뮬레이션
x-proofdock-attack
요청 헤더를 설정하여 지연을 트리거합니다. Chaos Middleware
는 이 헤더 내부의 모든 값을 감지합니다.헤더 값을
{"actions":[{"name":"delay","value":"15"}]}
로 설정합니다. 이 값은 시뮬레이션name
과 시뮬레이션value
을 초 단위로 설명합니다. 설명된 시뮬레이션은 응답을 15초 지연시킵니다.시뮬레이션을 위해 Postman 클라이언트를 사용하여 HTTP 요청을 시각화합니다.
지연 시뮬레이션
오류 시뮬레이션
x-proofdock-attack
요청 헤더를 설정하여 예외를 발생시킵니다.헤더 값을
{"actions":[{"name":"fault","value":"Exception"}]}
로 설정합니다. 이 값은 시뮬레이션name
및 해당 시뮬레이션value
을 발생할 예외의 정규화된 이름으로 설명합니다. 시뮬레이션은 Exception
를 올릴 것입니다.오류 시뮬레이션
Azure DevOps 사용자를 위한 제어 센터
이러한 공격을 제어하는 보다 매력적인 방법은 Proofdock
Chaos Platform
에서 제공하는 제어 센터를 사용하는 것입니다. Chaos Platform
는 카오스 엔지니어링 기능으로 Azure DevOps를 확장합니다. 제어 센터를 사용하면 그래픽 사용자 인터페이스를 통해 애플리케이션 공격을 제어하고 애플리케이션이 구성된 공격을 캐시할 수 있습니다. Chaos Platform
에 관심이 있을 때 docs 을 확인하십시오.Azure DevOps의 제어 센터
고맙습니다
즐거운 시간을 보내시고 복원력에 대한 새로운 측면을 배우셨기를 바랍니다.
우리는 독일에 위치한 소프트웨어 기술 회사Proofdock로 엔지니어가 보다 탄력적이고 안정적인 소프트웨어 제품을 구축할 수 있도록 지원합니다. Microsoft Azure용 Chaos Platform을 확인하고 시스템을 탐색하십시오.
참조
Chaos Platform
설치Reference
이 문제에 관하여(카오스 미들웨어: Django 애플리케이션의 중단을 시뮬레이션하여 복원력 향상), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/proofdock/chaos-middleware-simulate-disruptions-in-django-applications-to-improve-resiliency-j8h텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)