امیر توحیدی
امیر توحیدی
خواندن ۲ دقیقه·۴ سال پیش

استفاده از kafka بر روی پایتون

سلام مجدد این چند وقته خیلی سرگرم پیدا کردن راه های مختلف و پیاده سازی و تست گیری در این موارد بودم

متاسفانه در بلاگ های فارسی زبان خیلی کم در مورد استفاده از سیستم apache kafka گفته شده و دوست داشتم مواردی که در استفاده از این سیستم درک کردم به زبان ساده بگم

چون این مطالب شاید در موارد عادی استفاده نشه و در کارهای بزرگ با حجم اطلاعات زیاد مورد استفاده قرار بگیره

صحبت کردم الان می خوام در مورد تکمیل اون بحث نحوه استفاده از کافکا توضیح بدم

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

در این کار با استفاده از داکر zookepeer و apache kafka راه اندازی کردیم

بر روی پروژه پکیج restframework جنگو راه اندازی کردم یه سری موارد راه اندازی کردیم رسیدیم به ذخیره اطلاعات بر روی سرور

در این مرحله چند تا راه کار پیش پا بود

برای حجم حدود ۱ میلیون در ساعت چه کار میتونیم کنیم

این حجم داده صد در صد نمیشه در مای اسکل مستقیم ذخیره کرد

برای همین از سیستم message passing میاد استفاده میشه که اصلی ترین این سرویس ها و پرکاربردترینش میشه apache kafka معرفی کرد

چالش بعدی در این زمبنه نحوه استفاده در جنگ هست

خیلی جستجو زیادی انجام دادم پکیج خاصی برای جنگو نیست اما سه تا لایبرری یا پکیج برای پایتون وجود داره

Kafka python

به راحتی در استفاده و سریع نصب معروف است

Pykafka

به همین صورت اما لایبرری معروفی که طبق مستندات دارای سرعت ۱۰ برابری نسبت به دو پکیج دیگست

Confeluent kafka python

است

این کتابخانه با زبان c نوشته شده و دارای سرعت فوق العاده ای است

البته توجه داشته باشید از این کتابخانه بر روی ویندوز نمی تونید استفاده کنید و باید روی لینوکس راه اندازی کنید

تقریبا یک روز روی این موضوع جستجو کردم و جواب نهایی که گرفتم این بود تا تاریخ انتشار این پست


مراحل راه اندازی و استفاده از این لایبرری بر روی مستندات وجود داره و در حد راه اندازی ابتدایی به راحتی با استفاده از داکر میتونید انجام بدید

البته توجه داشته باشید درخواستهارو میتونید با کافکا دربافت کنید اما بایستی برای هندل کردن و مدیریت درخواست ها در صورتی که نیاز به ارتباط به بانک اطلاعاتر داشته باشد راهکارهایی در نظر بگیرید


ممنون

kafkapythonکافکاپایتون
امیر توحیدی هستم. برنامه نویس و توسعه دهنده یا هر چیزی که شما بگید. :)
شاید از این پست‌ها خوشتان بیاید