وب‌سرویس مجید

پروژه chaosblade

chaosblade-io/chaosblade

چه کاربردی داره؟

این ابزار یک جعبه ابزار مهندسی آشوب (Chaos Engineering) هست که به توسعه‌دهندگان و مهندسان اجازه می‌دهد تا با ایجاد شرایط خرابی در سیستم‌های توزیع‌شده، مقاومت و پایداری سرویس‌ها رو تست کنند. با استفاده از این ابزار می‌تونی خطاهای شبکه، قطعی CPU، کمبود حافظه، خطا در دیسک و حتی خطا در سطح کد برنامه (مثل فراخوانی‌های API) رو شبیه‌سازی کنی.

در چه شرایطی بهتره استفاده شود؟

وقتی که می‌خوای سیستم‌های توزیع‌شده یا میکروسرویس‌های خودت رو در شرایط واقعی خرابی تست کنی، این ابزار عالیه. بهتره در محیط‌های آزمایشی یا استیجینگ استفاده شود تا قبل از رفتن به محیط تولید، نقاط ضعف سیستم شناسایی بشن. همچنین برای تیم‌های DevOps و SRE که می‌خوان سطح ریلایبلیتی سرویس‌ها رو افزایش بدن، مناسبه.

چند مثال از موارد استفاده:

شبیه‌سازی تأخیر در شبکه بین دو سرویس میکروسرویسی

ایجاد کمبود حافظه (Memory Pressure) در یک کانتینر داکر

قطع کردن دسترسی به یک API خاص در زمان اجرا

شبیه‌سازی خرابی دیسک یا کاهش فضای دیسک

شبیه‌سازی خطای زمان اجرا (Runtime Exception) در کد جاوا

  • ##ChaosEngineering
  • ##ReliabilityTesting
  • ##DevOps
  • ##SRE
  • ##Microservices
  • ##FaultInjection
  • ##SystemResilience
  • ##CloudNative
  • ##TestingTools
  • ##ResilienceTesting