درخواست های ارتباط
جستجو
لیست دوستان من
صندوق پیام
همه را دیدم
  • در حال دریافت لیست پیام ها
صندوق پیام
رویدادها
همه را دیدم
  • در حال دریافت لیست رویدادها
همه رویدادهای من
تخفیف های وب سایت
همه تخفیف ها

عضویت در

کانال تلگرام

توسینسو

اطلاعات مطلب
مدرس/نویسنده
alireza ghanbaripour
امتیاز: 1291
رتبه:260
0
7
0
0

آشنایی با صطلاحات Kafka

تاریخ 2 ماه قبل
نظرات 0
بازدیدها 61
پیش از اینکه به جزئیات Kafka وارد شویم باید درباره ی اصطلاحات اصلی از قبیل producers, broker, topic و consumers آگاهی داشته باشیم.
دیاگرام زیر نشان می دهد اصطلاحات اصلی با جزئیات هر مؤلفه را:

آشنایی با صطلاحات Kafka


در بالای دیاگرام topic قرار دارد که 3 پارتیشن در داخل آن قرار دارد پارتیشن 1 دو تا فاکتور offset، 0 و 1 دارد پارتیشن 2 چهار تا فاکتور offset، 0و 1 و 2 و 3 دارد و پارتیشن 3 یک فاکتور offset، 0 دارد، id شناسه سرور است که به عنوان host قرار گرفته است.
فرض کنید اگر فاکتور تکرار یا topic, replicate به 3 تنظیم شده باشد، Kafka 3 تکه یکسان از هر پارتیشن ایجاد می کند و آن ها را کلاستر قرار می دهد تا برای تمام عملیات operation در دسترس قرار گیرد.
برای تعادل کردن load در هر کلاسترها یک یا چند پارتیشن را ذخیره می کنند. Producer و consumerها نیز می توان پیام ها را در همان زمان publish و بازیابی کنند.

Topic
stream پیام هایی که متعلق به یک دسته خاصی هستند topic نامیده می شوند و دیتاها در topicها ذخیره می شود.
Topicها به پارتیشن هایی تقسیم می شوند برای هر topic Kafka حداقل یک پارتیشن را در نظر می گیرد که هر یک از این پارتیشن ها شامل پیام های هستند که دارای ترتیب یکسان و تغییرناپذیراند.
لازم به ذکر است که یک پارتیشن به عنوان مجموعه ای از فایل های قطعه قطعه شده با اندازه های یکسان اجرا می شود.

partition
Topic ها ممکن است چندین پارتیشن داشته باشند بنابراین می تواند مقدار دلخواه ای از داده ها را مدیریت کند.
Partition offset هر پارتیشن پیام، یک شناسه منحصر به فردی دارد که offset نامیده می شود.

Replicas of partition
Backup جزئی از یک پارتیشن نیست و هرگز در پروسه خواندن و نوشتن دیتا دخالتی ندارد backup را برای جلوگیری از دست رفتن دیتاها استفاده می کنیم.

Broker
Broker سیستم های ساده ای هستند که مسئول نگهداری دیتاهای published شده می باشد هر broker ممکن است دارای یک یا چند پارتیشن در هر topic باشد.
فرضیه 1 اگر Nپارتیشن در یک topicوجود داشته باشد،Nتعداد brokerو هر broker میتواند یک پارتیشن داشته باشد.
فرضیه 2 اگر Nپارتیشن در یک topic وجود داشته باشد بیش از N broker یعنی (n +m) پس N broker یک پارتیشن دارد و broker M هیچ پارتیشنی برای topic خاصی ندارد.
فرضیه 3 اگر N پارتیشن در یک topic وجود داشته باشد کمتر از broker N یعنی (N-M) پس هر broker یک یا چند پارتیشن دارد که در میان آن ها به اشتراک می گذارد لازم به ذکر است که این سناریو به دلیل توزیع بار به صورت نابرابر میان broker ها توصیه نمی شود.

Kafka cluster
Kafkaهایی را که دارای بیش از یک broker هستند را Kafka cluster نامیده می شوند.
یک Kafka clusterرا می توان بدون هیچ down time گسترش داد. از کلاسترها برای مدیریت پایداری و replication of message دیتا استفاده کرد.
Producerها پیامها را در یک یا چند Kafka topic ، Publish می کنند.
Producerها دیتاها را به Kafka brokerها ارسال می کنند.
زمانی که Producerیک پیام را Publish می کند به یک broker، broker پیام را به یک پارتیشن اضافه می کند. همچنین می تواند پیام ها را به یک پارتیشن که خود انتخاب می کند ارسال کند.

Consumers
consumerها دیتاها را از brokerها می خوانند. Consumerها subscribeهایی هستند که یک یا چند topic، پیامی کهpublish شده است را مصرف می کنند و اینکار را به وسیله گرفتن دیتا از brokerها انجام می دهند.

Leader
Leader یکnode است که مسئول خواندن دیتاها و نوشتن دیتاها در پارتیشن ها است. هر پارتیشن دارای یک سرور است به عنوان Leader عمل می کند.

follower
node ای است که دستورالعمل های Leader را دنبال می کند به عنوان follower خوانده می شود اگر یک Leader، fail شود یک follower به صورت خودکار به یک leader جدید تبدیل می شود.
Follower خود نیز به عنوان یک مصرف کننده عمل می کند که پیام را می گیرد و data store خود را به روز رسانی می کند.

Cluster Architecture
دیاگرام زیر Kafka Cluster را نشان می دهد.

آشنایی با صطلاحات Kafka


broker
Kafka Cluster معمولاً شامل چندین broker است که برای نگهداری load balance از آن استفاده می شود. Kafka broker ها stateless هستند بنابراین از zookeeper برای حفظ Clusterهای خود استفاده می کند. برای نمونه یک Kafka broker می تواند هزاران دیتا را در هر ثانیه بخواند و بنویسد.
انتخاب Kafka broker leader توسط zookeeper انجام می شود.


نویسنده: علیرضا قنبری پور

منبع: جزیره لینوکس و سیستم های متن باز وب سایت توسینسو

هرگونه نشر و کپی برداری بدون ذکر منبع و نام نویسنده دارای اشکال اخلاقی می باشد.

برچسب ها
ردیف عنوان
1 مقدمه ای بر Kafka
2 مقایسه Kafka با دیگر پیام رسان ها
3 آشنایی با صطلاحات Kafka
4 Zookeeper
5 قسمت اول مراحل نصب و پیکربندی Kafka
6 قسمت دوم مراحل نصب و پیکربندی Kafka
7 قسمت سوم مراحل نصب و پیکربندی Kafka
دوره مجموعه کل دوره
مطالب مرتبط

در حال دریافت اطلاعات

نظرات
هیچ نظری ارسال نشده است

    برای ارسال نظر ابتدا به سایت وارد شوید