سلام مجدد این چند وقته خیلی سرگرم پیدا کردن راه های مختلف و پیاده سازی و تست گیری در این موارد بودم
متاسفانه در بلاگ های فارسی زبان خیلی کم در مورد استفاده از سیستم apache kafka گفته شده و دوست داشتم مواردی که در استفاده از این سیستم درک کردم به زبان ساده بگم
چون این مطالب شاید در موارد عادی استفاده نشه و در کارهای بزرگ با حجم اطلاعات زیاد مورد استفاده قرار بگیره
صحبت کردم الان می خوام در مورد تکمیل اون بحث نحوه استفاده از کافکا توضیح بدم
من در این پروژه از فریم ورک جنگو برای کار استفاده کردم
در این کار با استفاده از داکر zookepeer و apache kafka راه اندازی کردیم
بر روی پروژه پکیج restframework جنگو راه اندازی کردم یه سری موارد راه اندازی کردیم رسیدیم به ذخیره اطلاعات بر روی سرور
در این مرحله چند تا راه کار پیش پا بود
برای حجم حدود ۱ میلیون در ساعت چه کار میتونیم کنیم
این حجم داده صد در صد نمیشه در مای اسکل مستقیم ذخیره کرد
برای همین از سیستم message passing میاد استفاده میشه که اصلی ترین این سرویس ها و پرکاربردترینش میشه apache kafka معرفی کرد
چالش بعدی در این زمبنه نحوه استفاده در جنگ هست
خیلی جستجو زیادی انجام دادم پکیج خاصی برای جنگو نیست اما سه تا لایبرری یا پکیج برای پایتون وجود داره
Kafka python
به راحتی در استفاده و سریع نصب معروف است
Pykafka
به همین صورت اما لایبرری معروفی که طبق مستندات دارای سرعت ۱۰ برابری نسبت به دو پکیج دیگست
Confeluent kafka python
است
این کتابخانه با زبان c نوشته شده و دارای سرعت فوق العاده ای است
البته توجه داشته باشید از این کتابخانه بر روی ویندوز نمی تونید استفاده کنید و باید روی لینوکس راه اندازی کنید
تقریبا یک روز روی این موضوع جستجو کردم و جواب نهایی که گرفتم این بود تا تاریخ انتشار این پست
مراحل راه اندازی و استفاده از این لایبرری بر روی مستندات وجود داره و در حد راه اندازی ابتدایی به راحتی با استفاده از داکر میتونید انجام بدید
البته توجه داشته باشید درخواستهارو میتونید با کافکا دربافت کنید اما بایستی برای هندل کردن و مدیریت درخواست ها در صورتی که نیاز به ارتباط به بانک اطلاعاتر داشته باشد راهکارهایی در نظر بگیرید
ممنون