در توسینسو تدریس کنید

و

با دانش خود درآمد کسب کنید

آموزش کافکا (Kafka) در آپاچی قسمت 3 : آشنایی با اصطلاحات Kafka

پیش از اینکه به جزئیات 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 انجام می شود.

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

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

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

#پیام_رسان #kafka #آپاچی #کلان_داده #کافکا #zookeeper #علم_داده #جریان_پردازی #مهندسی_داده
عنوان
1 آموزش کافکا (Kafka) در آپاچی قسمت 1 : Kafka چیست ؟ رایگان
2 آموزش کافکا (Kafka) در آپاچی قسمت 2 : مقایسه Kafka با سایر IM ها رایگان
3 آموزش کافکا (Kafka) در آپاچی قسمت 3 : آشنایی با اصطلاحات Kafka رایگان
4 آموزش کافکا (Kafka) در آپاچی قسمت 4 : ZooKeeper چیست؟ رایگان
5 آموزش کافکا (Kafka) در آپاچی قسمت 5 : نصب و تنظیمات Kafka قسمت 1 رایگان
6 آموزش کافکا (Kafka) در آپاچی قسمت 6 : نصب و تنظیمات Kafka قسمت 2 رایگان
7 آموزش کافکا (Kafka) در آپاچی قسمت 7 : نصب و تنظیمات Kafka قسمت 3 رایگان
زمان و قیمت کل 0″ 0
0 نظر

هیچ نظری ارسال نشده است! اولین نظر برای این مطلب را شما ارسال کنید...

نظر شما
برای ارسال نظر باید وارد شوید.
از سرتاسر توسینسو
تنظیمات حریم خصوصی
تائید صرفنظر
×

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