کافکا بهترین شیوه های موضوعی ، پارتیشن ، مصرف کنندگان ، تولید کنندگان و کارگزاران

ساخت وبلاگ

کافکا بهترین شیوه های موضوعی ، پارتیشن ها ، مصرف کنندگان ، تولید کنندگان و کارگزاران. مجموعه ای از دستورالعمل ها برای پیروی از کافکا وجود دارد تا تیم های داده بتوانند از استقرار اصلی و مدیریت مدیریت خودداری کنند. بیایید با معرفی آپاچی کافکا شروع کنیم.

بیایید با Kafka بهترین شیوه های موضوعی ، پارتیشن ها ، مصرف کنندگان ، تولید کنندگان و کارگزاران شروع کنیم.

همچنین بخوانید

آپاچی کافکا چیست

Kafka Best Practices-Topic, Partitions, Consumers, Producers and Brokers

Apache Kafka یک برنامه کارگزار پیام منبع باز و یک پلت فرم پخش توزیع شده است. این ابزار مورد علاقه هزاران شرکت است. آنها از آن برای توسعه سیستم های جریان پذیری مقیاس پذیر ، قابل اعتماد ، بالا و جریان واقعی استفاده می کنند.

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

الگوی انتشار/اشتراک با توان بالا آن ، محدودیت های نگهداری خودکار داده ها را دارد که وقتی مصرف کنندگان که نمی توانند از جریان داده استفاده کنند ، به خوبی کار نمی کنند. همچنین ، تمام پیام ها می توانند قبل از دیدن ناپدید شوند.

بنابراین ، این می تواند شما را تحت الشعاع قرار دهد زیرا سیستم میزبان جریان داده نمی تواند مطابق با نیازها مقیاس یا غیرقابل اعتماد باشد.

اما ، نگران نباشید! ما قصد داریم بیست کافکا بهترین شیوه های موضوعی ، پارتیشن ، مصرف کنندگان ، تولید کنندگان و کارگزاران را به اشتراک بگذاریم که می تواند به شما در مقابله با این پیچیدگی ها کمک کند. بنابراین ، بیایید بیشتر به وبلاگ برویم.

همچنین بخوانید

Apache Kafka از مزایای

  • به عنوان یک بافر کار می کند.
  • بسیار مقیاس پذیر ، بسیار قابل اعتماد و بادوام.
  • تحمل گسل و تأخیر کم.
  • داده ها را در زمان واقعی کنترل می کند.
  • مورد استفاده در رویکرد دسته ای مانند ردیابی فعالیت وب و جمع آوری ورود به سیستم است.
  • همزمانی بالا

همچنین بخوانید

آپاچی کافکا و معماری

apache kafka architecture

قبل از حرکت مستقیم به بهترین شیوه های کافکا ، بیایید سریع از معنای و معماری آن استفاده کنیم.

Apache Kafka Server یک سیستم پیام رسانی توزیع شده است که افزونگی و انعطاف پذیری داده های یکپارچه را در اختیار شما قرار می دهد ، هرچند که هم از توان مقیاس پذیر و هم در سطح بالایی باقی مانده است. این شامل محدودیت های نگهداری خودکار داده ها است که برای برنامه های کاربردی در مورد داده ها به عنوان جریان مناسب است. همچنین در پشتیبانی از جریانهای "فشرده" که یک نقشه از جفت های ارزش مهم را تکرار می کنند ، کارآمد است.

همچنین بخوانید

در مرحله بعد در بهترین شیوه های کافکا ، پارتیشن ، مصرف کنندگان ، تولید کنندگان و کارگزاران برای درک عناصر کافکا.

عناصر اصلی کافکا

برخی از اصطلاحات اصلی کافکا که باید بدانید بهترین شیوه ها را با زحمت درک کنید به شرح زیر است:

پیام - پیام یک ضبط یا واحد داده در کافکا است که حاوی یک کلید و یک مقدار و همچنین هدرهای اختیاری است.

تهیه کننده - کار تهیه کننده انتشار پیام ها در مورد موضوعات کافکا است. آنها تصمیم می گیرند که به طور تصادفی یا از طریق الگوریتم های پارتیشن طبق کلید پیام ، کدام یک از قسمت های موضوع را منتشر کند.

کارگزار - کافکا تمایل به کار در یک سیستم توزیع شده یا خوشه ای که گره ها را تشکیل می دهد ، همچنین به عنوان کارگزار شناخته می شود.

موضوع - این مقوله ای است که داده ها را ضبط می کند و پیام ها را منتشر می کند. مصرف کنندگان می توانند با عضویت در آن ، داده های نوشته شده روی آنها را بخوانند.

افست - هر پیام در یک پارتیشن یک افست اختصاص داده می شود. این یک عدد صحیح یکنواخت در حال افزایش است که یک شناسه منحصر به فرد برای پیام درون پارتیشن ارائه می دهد.

به مصرف کنندگان - به مصرف کنندگان این اختیار داده می شود که با عضویت در پارتیشن موضوع ، پیام هایی را از مباحث کافکا بخوانند. برنامه مصرف کننده پیام را برای انجام هر کاری که مورد نظر است ، پردازش می کند.

گروه مصرف کننده - مصرف کنندگان به گروه های مصرف کننده منطقی تقسیم می شوند. در اینجا ، همه مصرف کنندگان در یک حالت متعادل بار کار می کنند ، به این معنی که هر پیام توسط یک مصرف کننده در یک گروه دیده می شود. اگر یک مصرف کننده گروه را ترک کند ، پارتیشن به طور خودکار به شخص دیگری اختصاص می یابد. این فرایند به عنوان مجدد تعادل شناخته می شود.

تاخیر - هنگامی که یک مصرف کننده نتوانست از یک پارتیشن به همان سرعتی که پیام ها تولید می شود ، بخواند ، تمایل به تأخیر دارند. این به عنوان تعداد جبران خسارات پشت سر پارتیشن بیان شده است. زمان انجام شده در بهبودی از تاخیر بستگی به این دارد که بلافاصله مصرف کننده قادر به مصرف پیام در هر ثانیه است.

20 بهترین روشهای برتر کافکا برای موضوع ، پارتیشن ها ، مصرف کنندگان ، تولید کنندگان و کارگزاران چیست؟بیایید دریابیم

همچنین بخوانید

موضوع ، پارتیشن ها ، مصرف کنندگان ، تولید کنندگان و کارگزاران بهترین روشها برای کافکا

بهترین روشهای کافکا برای پارتیشن ها

partition

1. میزان داده های پارتیشن ها را درک کنید تا از فضای نگهداری مناسب اطمینان حاصل کنید

نرخ داده های پارتیشن نرخ تولید داده ها در نظر گرفته می شود. این بدان معناست که میانگین اندازه پیام تعداد پیام در ثانیه است. نرخ داده میزان فضای نگهداری را در بایت ها ، که برای تضمین حفظ برای مدت زمان مشخصی لازم است ، سفارش می دهد. اگر نرخ داده را می دانید ، نمی توانید فضای نگهداری مورد نیاز برای تحقق هدف حفظ زمان را به درستی محاسبه کنید.

از نرخ داده ها همچنین برای مشخص کردن حداقل عملکرد مورد نیاز یک مصرف کننده برای پشتیبانی بدون عقب افتادگی استفاده می شود.

2. اگر نیازهای معماری ندارید که شما را به انجام متفاوت انجام دهید ، می توانید هنگام نوشتن به موضوعات از پارتیشن بندی تصادفی استفاده کنید

در حالی که در مقیاس کار می کنید ، مدیریت داده های نامنظم در پارتیشن ها دشوار است. به این دلیل است که:

  • در پارتیشن های توان بالاتر باید پیام های بیشتری را در مقایسه با سایر مصرف کنندگان در گروه مصرف کننده پردازش کنند. این به طور بالقوه منجر به پردازش و تنگناهای شبکه می شود.
  • حفظ موضوع باید با نرخ داده های بالاتر برای پارتیشن اندازه باشد. این منجر به افزایش استفاده از دیسک در سایر پارتیشن های موضوع می شود.
  • هنگامی که دستیابی به تعادل بهینه برای رهبری پارتیشن پیچیده تر از گسترش رهبری در همه کارگزاران است.

یک پارتیشن توان بالاتر تمایل دارد ده برابر وزن پارتیشن دیگر را در یک موضوع مشابه حمل کند.

همچنین بخوانید

بهترین روشهای آپاچی کافکا برای مصرف کنندگان

Topic, Partitions, Consumers, Producers and Brokers

3. هنگامی که نسخه قدیمی Kafka را اجرا می کنید ، باید آنها را ارتقا دهید

نسخه 0. 8. x به مصرف کنندگان این امکان را می دهد تا از Apache Zookeeper برای هماهنگی در گروه مصرف کننده استفاده کنند. با این حال ، تعداد اشکالات شناخته شده می تواند منجر به تغییر مجدد طولانی یا حتی عدم موفقیت الگوریتم های Relevalance شود. در طی این فرایند ، به مصرف کنندگان در هر گروه یک یا چند پارتیشن اختصاص داده می شود. از طرف دیگر ، در طوفان مجدد ، مالکیت پارتیشن به طور مداوم در بین مصرف کنندگان سازماندهی می شود تا از پیشرفت واقعی آنها در مصرف جلوگیری شود.

4- بافر سوکت مصرف کنندگان را برای بارگیری با سرعت بالا بهینه کنید

پارامترهای موجود در kafka 0. 10. x "دریافت است. بافربایت "این پیش فرض 64 کیلوبایت است. در مقابل ، پارامتر نسخه Kafka 0. 8. x "سوکت است. دريافت كردن. بافربایت "، پیش فرض 100 کیلوبایت. مقادیر پیش فرض هر دو نسخه برای محیط های توان بالا نسبتاً اندک است ، به ویژه هنگامی که تأخیر در پهنای باند شبکه بین کارگزار و مصرف کننده به طور قابل توجهی بالاتر از شبکه محلی (LAN) است. برای شبکه های پهنای باند بالا که دارای تأخیر 1 میلی ثانیه یا بیشتر هستند ، باید بافر سوکت را روی 8 یا 16 مگابایت تنظیم کنید. از نظر حافظه کمیاب ، باید 1 مگابایت بروید.

علاوه بر این ، شما می توانید از مقدا ر-1 استفاده کنید ، که سیستم عامل اصلی را قادر می سازد تا اندازه بافر را با توجه به شرایط شبکه بهینه کند. با این حال ، مصرف کنندگان با توان بالاتر باید بدانند که تنظیم خودکار بلافاصله رخ نخواهد داد.

5- مصرف کنندگان توان بالا را برای اعمال فشار خون در صورت ضمانت طراحی کنید

شما همیشه باید آنچه را که می توانید به طور کارآمد پردازش کنید مصرف کنید. از آنجا که مصرف بیشتر از آنچه می توانید سنگها را متوقف کنید و سپس از گروه مصرف کننده حذف می شود. به همین دلیل است که مصرف در بافرهای اندازه ثابت ، به خصوص در سر خاموش هنگام کار در یک دستگاه مجازی جاوا قابل توجه است. هنگامی که از یک بافر به اندازه ثابت استفاده می کنید ، تمایل دارید که اینقدر داده ها را روی پشته بکشید. به این دلیل است که JVM تمام وقت خود را صرف انجام جمع آوری زباله به جای کارهایی که می خواهید به آن برسید ، یعنی پردازش پیام ها را صرف می کند.

6. از مجموعه زباله های تأثیر می تواند هنگام اجرای مصرف کنندگان در JVM آگاه باشید

داشتن مکث های جمع آوری زباله های طولانی منجر به کاهش جلسات باغ وحش یا مجدداً گروه های مصرف کننده می شود. در مورد کارگزاران نیز همین اتفاق می افتد. این بدان معنی است که اگر مکث های جمع آوری زباله خیلی طولانی باشد ، می تواند منجر به از بین بردن خوشه شود.

همچنین بخوانید

این مقاله را دنبال کنید تا بهترین شیوه های موضوعی ، پارتیشن ، مصرف کنندگان ، تولید کنندگان و کارگزاران را برای خواندن در مورد تولید کنندگان دنبال کنید.

بهترین روشها برای تولید کنندگان در کافکا

apache kafka producer

7. تولیدکنندگان راه اندازی برای انتظار برای تصدیق

هنگامی که شما تولید کنندگان را پیکربندی می کنید ، آنها می دانند که این پیام در واقع آن را به پارتیشن کارگزار تبدیل کرده است. نسخه Kafka 0. 10. x تنظیمات را به عنوان ACK تشکیل می دهد ، در حالی که 0. 8. x شامل "درخواست" است. ضروری. acks ". این امر تحمل گسل را از طریق تکرار برای جلوگیری از عدم موفقیت یک گره واحد یا تغییر در رهبری پارتیشن در تأثیرگذاری در دسترس بودن فراهم می کند. وقتی تولیدکنندگان را با ACK پیکربندی می کنید ، تمایل دارید پیام های بی صدا را از دست دهید.

8. "بازنشستگی" را بر روی تولید کنندگان خود پیکربندی کنید

در کافکا ، مقدار پیش فرض همیشه 3 است که اغلب خیلی کم است. مقدار مناسب به برنامه بستگی دارد. بنابراین ، برای برنامه ای که دارای از دست دادن داده ها است که قابل تحمل نیست ، باید "عدد صحیح را در نظر بگیرید. max_value ". این شما را در شرایطی راهنمایی می کند که کارگزاران رهبری پارتیشن در دسترس نیستند تا بلافاصله به درخواست تولید پاسخ دهند.

9. اندازه بافر را برای تولید کنندگان توان بالا بهینه بهینه کنید

برای اندازه بافر ، به ویژه "بافر" قابل توجه است. حافظه "و" دسته. اندازه "همانطور که در هر یک از بخش های پارتیشن ارائه دهنده عملکرد و استفاده از حافظه است ، که می تواند با تعداد پارتیشن های موجود در موضوع ارتباط داشته باشد. در اینجا ، مقادیر وابسته به چندین عامل هستند ، مانند:

  • نرخ داده تولید کننده
  • تعداد پارتیشن های تولید شده
  • مقدار حافظه موجود

علاوه بر این ، باید در نظر داشته باشید که بافرهای بزرگ همیشه بهتر نیستند. اگر تولید کننده به دلایلی متوقف شود ، داده های بیشتری که روی پشته ایجاد می شود به سادگی به معنای جمع آوری زباله بیشتر خواهد بود.

10. برنامه هایی را برای ردیابی معیارها پیاده سازی کنید

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

همچنین بخوانید

بهترین روش ها برای کارگزاران با کافکا

apache kafka broker

11. مباحث فشرده به منابع حافظه و پردازنده در کارگزاران خود نیاز دارند

ورود به سیستم فشرده سازی نیاز به چرخه پشته و CPU بر روی کارگزاران دارد تا با موفقیت کامل شود. تراکم ورود به سیستم ، کارگزار را از یک پارتیشن که بی حد و مرز رشد می کند ، در معرض خطر قرار می دهد. بنابراین ، "ورود" را بهینه کنید. پاک کننده. dedupeبافراندازه "و" ورود به سیستم. پاک کننده. موضوعات "در کارگزار شما. با این حال ، به خاطر داشته باشید که این ارزش ها می توانند بر استفاده از پشته کارگزاران تأثیر بگذارند. اگر یک کارگزار یک استثناء "OutofMemoryError" را نشان دهد ، داده های بالقوه را خاموش کرده و از دست می دهد. اندازه بافر و تعداد موضوع هم به تعداد پارتیشن های موضوع برای تمیز کردن و هم میزان داده و اندازه کلیدی پیام ها در آن پارتیشن ها بستگی دارد.

12. کارگزاران را برای توان شبکه بررسی کنید

نظارت بر کارگزاران برای توان شبکه ، هم از نظر انتقال (TX) و هم دریافت (RX) و همچنین دیسک I/O ، فضای دیسک و استفاده قابل توجه است. به این دلیل است که برنامه ریزی ظرفیت نقش مهمی در حفظ عملکرد خوشه ایفا می کند.

آموزش تحلیل گری...
ما را در سایت آموزش تحلیل گری دنبال می کنید

برچسب : نویسنده : ملیکا زارعی بازدید : 41 تاريخ : پنجشنبه 14 ارديبهشت 1402 ساعت: 12:10