افزایش عملکرد تست یکپارچه سازی با EmbeddedKafka و GraalVM

در این مقاله، می‌خواهم تجربه خود را در مورد ایجاد یک تصویر بومی برای EmbeddedKafka با استفاده از GraalVM به اشتراک بگذارم. استفاده از این تصویر در تست های یکپارچه سازی نه تنها اجرای سناریوهای تست را سرعت می بخشد بلکه مصرف حافظه را نیز کاهش می دهد. جالب است که در مقایسه با استفاده confluentinc/cp-kafka در Testcontainers، تفاوت قابل توجهی در سرعت و استفاده از حافظه وجود دارد – و این به نفع دومی نیست.

EmbeddedKafka، Testcontainers، GraalVM

مروری کوتاه بر اجزای کلیدی مورد استفاده در پروژه:

  • EmbeddedKafka ابزاری است که اجازه می دهد تا سرور کافکا را مستقیماً در یک برنامه کاربردی JVM یا محیط آزمایش قرار دهید. این برای تست یکپارچه سازی برنامه هایی که از آپاچی کافکا برای پردازش جریان داده یا به عنوان یک سیستم پیام رسانی استفاده می کنند مفید است. کافکای جاسازی شده در درجه اول برای آزمایش مجزای تعاملات با کافکا، ساده کردن راه اندازی و مدیریت تست ها به دلیل راه اندازی و خاموش شدن سریع آن استفاده می شود. این امر تکرارپذیری آزمایش را در محیط های مختلف تضمین می کند و کنترل پیکربندی کافکا را فراهم می کند. با این حال، اجرای Embedded Kafka در یک برنامه JVM به دلیل ماهیت منابع فشرده کافکا و نیاز به ذخیره سازی داده، استفاده از حافظه را افزایش می دهد. این یک مبادله بین راحتی توسعه و بار حافظه اضافی است که باعث می شود یک کافکا خارجی…

Source link