کتاب Apache Pulsar in Action یک منبع کامل برای یادگیری آپاچی پالسار میباشد. این کتاب در 12 فصل به شرح مقدمه تا بیان نکات و ترفندهای این ابزار میپردازد. مطالعهی این کتاب برای یادگیری کامل این ابزار بسیار پیشنهاد میشود.
در ادامه مقدمهای از کتاب Apache Pulsar in Action را از زبان نویسنده شرح خواهیم داد.
مقدمهای بر کتاب Apache Pulsar in Action:
در سال 2012، Yahoo! این تیم به دنبال یک پلتفرم جهانی و شبیهسازیشده جغرافیایی بود که بتواند تمام دادههای پیامرسان یاهو را بین برنامههای مختلف مانند Yahoo Mail و Yahoo Finance پخش کند. در آن زمان، به طور کلی دو نوع سیستم برای مدیریت دادههای در حال حرکت وجود داشت: صفهای پیام که رویدادهای تجاری حیاتی را در زمان واقعی مدیریت میکردند، و سیستمهای جریانی که خطوط لوله داده مقیاسپذیر را در مقیاس مدیریت میکردند.
اما پلتفرمی وجود نداشت که هر دو قابلیت مورد نیاز یاهو را ارائه دهد. پس از بررسی چشمانداز پیامرسانی و پخش جریانی، مشخص شد که فناوریهای موجود قادر به پاسخگویی به نیازهای آنها نیستند، بنابراین تیم یاهو! شروع به کار بر روی ساخت یک پلتفرم پیامرسانی و استریم یکپارچه برای دادههای در حال حرکت به نام Pulsar کرد. یاهو پس از 4 سال فعالیت در 10 دیتاسنتر که روزانه میلیاردها پیام را پردازش میکنند! در سال 2016 تصمیم گرفت پلتفرم پیام رسان خود را تحت مجوز آپاچی منبع باز کند.
من اولینبار در پاییز 2017 با Pulsar روبرو شدم. من رهبری تیم خدمات حرفهای در Hortonworks را بر عهده داشتم که بر پلتفرم داده جریانی معروف به Hortonworks Data Flow (HDF) متمرکز بود که شامل Apache NiFi ،Kafka و Storm بود. وظیفه من نظارت بر استقرار این فناوری ها در زیرساخت مشتری و کمک به آنها برای شروع توسعه برنامه های پخش جریانی بود.
بزرگترین چالشی که هنگام کار با کافکا با آن مواجه بودیم، کمک به مشتریانمان برای مدیریت صحیح آن، و مشخصاً تعیین تعداد مناسب پارتیشنها برای یک موضوع معین برای دستیابی به تعادل مناسب سرعت و کارایی و در عین حال امکان رشد دادهها در آینده بود.
کسانی از شما که با کافکا آشنایی دارید به طرز دردناکی از این واقعیت آگاه هستید که این تصمیم به ظاهر ساده تأثیر عمیقی بر مقیاسپذیری موضوعات شما دارد و روند تغییر این مقدار (حتی از 3 به 4) مستلزم یک فرآیند متعادلسازی مجدد است. کند است و باعث میشود که موضوع تعادل مجدد در طول کل فرآیند برای خواندن یا نوشتن در دسترس نباشد.
همه مشتریانی که از HDF استفاده میکردند، این الزام متعادلسازی مجدد را دوست نداشتند، و به درستی هم چنین بود، زیرا آنها آن را مانعی آشکار برای تواناییشان در مقیاسسازی خوشه کافکا با افزایش حجم دادههایشان میدانستند. آنها از روی تجربه میدانستند که بالا و پایین کردن پلتفرم پیامرسانی چقدر دشوار است.
بدتر از آن این بود که ما نمیتوانستیم به سادگی چند گره دیگر را وارد کنیم تا ظرفیت محاسباتی را به خوشه موجود مشتری خود اضافه کنیم، بدون اینکه موضوعات را برای استفاده از آنها با اختصاص دادن پارتیشنهای بیشتر به موضوعات موجود برای توزیع مجدد دادهها در آن، پیکربندی مجدد کنیم.
گرههای اخیراً اضافه شده است. این ناتوانی در مقیاس افقی ظرفیت پخش خود بدون مداخله دستی (یا به شدت اسکریپت) در تضاد مستقیم با بیشتر تمایلات مشتریان ما برای انتقال پلتفرمهای پیامرسانی خود به فضای ابری و استفاده از قابلیت محاسباتی ارتجاعی (Elastic) بود که ابر ارائه میکند. در آن زمان بود که پلتفرم Apache Pulsar را کشف کردم و ادعای آن را مبنی بر “ابر بومی” به خصوص جذاب یافتم زیرا به هر دو نقطه درد مقیاسپذیری پرداخته است.
در حالی که HDF به مشتریان من اجازه داده بود تا به سرعت شروع به کار کنند، مدیریت آنها دشوار بود و اجرای در فضای ابری طراحی نشده بود. من متوجه شدم که آپاچی پولسار راه حلی بسیار بهتر از آنچه در حال حاضر به مشتریان خود ارائه میدهیم بود و سعی کردم تیم محصول خود را متقاعد کنم که در محصول HDF خود جایگزین کافکا با پولسار شود. من حتی تا آنجا پیش رفتم که کانکتورهایی را نوشتم که به آن اجازه میداد با مؤلفه Apache NiFi پشته ما کار کند تا این پذیرش تسهیل شود، اما فایده ای نداشت.
هنگامی که توسعهدهندگان اصلی Apache Pulsar در ژانویه 2018 به من مراجعه کردند و به من فرصت پیوستن به یک استارت آپ کوچک به نام Streamlio را دادند، بلافاصله فرصت کار با آنها را پیدا کردم. Pulsar در آن زمان یک پروژه جوان بود، که به تازگی در برنامه Incubator آپاچی قرار گرفته بود، و ما 15 ماه آینده را صرف کار کردیم تا “پادلینگ” نوپا خود را از طریق فرآیند Incubator (رشد و بلوغ) و ارتقاء به وضعیت پروژه در سطح بالا بگذرانیم.
این در اوج هیاهوی پخش اطلاعات بود و کافکا بازیکن غالب در فضا بود، بنابراین طبیعتاً همه این اصطلاحات را قابل تعویض میدانستند. اتفاق نظر بر این بود که کافکا تنها پلتفرم موجود برای جریان داده است. من از تجربیات قبلیام بهتر میدانستم و بر عهده خودم میگذاشتم که بیوقفه چیزی را بشارت دهم که میدانستم راهحلی برتر از نظر فناوری است – صدای تنهایی که در بیابان ضربالمثلی فریاد میزند.
بیشتر بخوانید: کتاب Kafka The Definitive Guide
تا بهار سال 2019، جامعه Apache Pulsar از نظر مشارکتکنندگان و کاربران، رشد فوقالعادهای را تجربه کرده بود، اما کمبود شدید اسناد قابل اعتماد در مورد این فناوری وجود داشت. بنابراین، زمانی که چشمانداز نوشتن کتاب Apache Pulsar in Action برای اولین بار به من پیشنهاد شد، بلافاصله از آن به عنوان فرصتی برای پرداختن به نیاز آشکار در جامعه Pulsar استفاده کردم. در حالی که من هرگز نتوانستم همکارانم را متقاعد کنم که در این تلاش به من بپیوندند، آنها منبع بسیار ارزشمندی از راهنمایی و اطلاعات در طول این فرآیند بودند و از کتاب Apache Pulsar in Action به عنوان وسیلهای برای انتقال بخشی از دانش خود به شما استفاده کرده اند.
کتاب Apache Pulsar in Action برای افرادی است که کاملاً با Pulsar آشنا هستند و ترکیبی از اطلاعاتی است که من هنگام کار مستقیم با بنیانگذاران پروژه در زمانی که آنها فعالانه Pulsar را توسعه میدادند جمعآوری کردم، همراه با تجربه به دست آمده از کار مستقیم با سازمانهایی که Apache Pulsar را پذیرفتهاند. در تولید هدف از آن ارائه راهنمایی در مورد موانع و مشکلاتی است که دیگران در طول سفر خود با پولسار با آن مواجه شدهاند.
مهمتر از همه، کتاب Apache Pulsar in Action به شما این اطمینان را میدهد که برنامههای کاربردی پردازش جریانی و میکروسرویسها را با استفاده از Pulsar با استفاده از زبان برنامهنویسی جاوا توسعه دهید. حتی با وجود اینکه به دلیل آشنایی با زبان، استفاده از جاوا را برای اکثر نمونههای کد در سراسر کتاب انتخاب کردهام، مجموعهای مشابه از کدها را نیز با استفاده از پایتون ایجاد کردهام و برای کسانی که ترجیح میدهند کدنویسی به این زبان را، در حساب GitHub خود آپلود کردهام.
کتاب Apache Pulsar in Action بهعنوان مقدمهای برای دنیای پردازش جریان نوشته شده است و به شما کمک میکند تا با اصطلاحات، معناشناسی، و ملاحظاتی که باید در هنگام اتخاذ پارادایم پردازش جریانی در حالی که از پسزمینه پردازش دستهای میآیید، رعایت کنید، آشنا شوید. با مروری تاریخی از تکامل سیستمهای پیامرسان در 40 سال گذشته شروع میشود و نشان میدهد که چگونه پالسار در رأس این چرخه تکاملی قرار دارد. پس از مقدمهای کوتاه بر اصطلاحات رایج پیامرسانی و بحث در مورد دو الگوی رایج مصرف پیام، معماری Pulsar را از منظر فیزیکی با تمرکز بر طراحی ابری آن و همچنین ساختار منطقی دادهها و پشتیبانی آن برای چند اجارهای (Multi-Tenancy) پوشش میدهد.
بقیه کتاب Apache Pulsar in Action بر این تمرکز دارد که چگونه میتوانید از پلتفرم محاسباتی داخلی Pulsar معروف به Pulsar Function برای توسعه برنامهها با استفاده از یک API ساده استفاده کنید. این با اجرای یک مورد استفاده پردازش سفارش نشان داده میشود: یک برنامه کاربردی میکروسرویس تحویل غذای خیالی که صرفاً بر اساس توابع Pulsar است، که با استقرار مدل یادگیری ماشینی تخمین زمان تحویل کامل میشود.
چه کسی باید کتاب Apache Pulsar in Action را بخواند؟
کتاب Apache Pulsar in Action در درجه اول برای توسعهدهندگان جاوا که علاقه مند به کار با دادههای جریانی هستند یا توسعهدهندگان میکروسرویس که به دنبال یک چارچوب مبتنی بر پیام جایگزین هستند که میتواند برای منبع رویداد استفاده شود در نظر گرفته شده است.
تیمهای DevOps که به دنبال استقرار و راهاندازی Pulsar در سازمان خود هستند، این کتاب را نیز مفید خواهند یافت. یکی از انتقادات اصلی Apache Pulsar کمبود کلی اسناد و پستهای وبلاگ است که به صورت آنلاین در دسترس هستند، و اگرچه من کاملاً انتظار دارم که در آینده نزدیک تغییر کند، امیدوارم کتاب Apache Pulsar in Action در این مدت به پر کردن این شکاف کمک کند و برای همه مفید باشد. میخواهم در مورد پردازش جریان به طور کلی و Apache Pulsar به طور خاص بیشتر بیاموزم.
نحوه سازماندهی کتاب Apache Pulsar in Action:
نقشه راه
کتاب Apache Pulsar in Action شامل 12 فصل است که در سه بخش مختلف پخش شده است.
قسمت 1 با مقدمه ای اساسی برای Apache Pulsar و جایی که در تکامل 40 ساله سیستم های پیامرسانی با مقایسه و مقایسه آن با پلتفرم های پیامرسانی مختلفی که پیش از آن آمده اند، شروع میشود:
■ فصل 1 کتاب Apache Pulsar in Action، یک چشمانداز تاریخی در مورد سیستم های پیامرسانی و جایی که Apache Pulsar در تکامل 40 ساله فن آوری پیامرسانی قرار میگیرد، ارائه میدهد. همچنین برخی از مزایای معماری Pulsar را نسبت به سایر سیستمها و اینکه چرا باید از آن بهعنوان پلتفرم پیامرسان منتخب خود استفاده کنید، پیشنمایش میکند.
■ فصل 2 جزئیات معماری چند لایه Pulsar را پوشش میدهد، که به شما امکان میدهد به طور پویا لایه های ذخیره سازی یا سرویس دهی را به طور مستقل افزایش دهید. همچنین برخی از الگوهای رایج مصرف پیام، تفاوت آنها با یکدیگر و نحوه پشتیبانی Pulsar از همه آنها را توضیح میدهد.
■ فصل 3 نحوه تعامل با Apache Pulsar را از طریق خط فرمان و همچنین با استفاده از API برنامه نویسی آن نشان میدهد. پس از تکمیل این فصل، باید راحت یک نمونه محلی از Apache Pulsar را اجرا کنید و با آن تعامل داشته باشید. بخش 2 برخی از کاربردها و ویژگیهای اساسی Pulsar را پوشش میدهد، از جمله نحوه انجام پیامهای اولیه و نحوه ایمن کردن خوشه Pulsar، همراه با ویژگیهای پیشرفتهتر مانند رجیستری طرحواره. همچنین چارچوب توابع Pulsar را معرفی میکند، از جمله نحوه ساخت، استقرار و آزمایش توابع:
■ فصل 4 کتاب Apache Pulsar in Action، چارچوب محاسباتی بومی جریان Pulsar به نام توابع Pulsar را معرفی میکند، پیشزمینهای در مورد طراحی و پیکربندی آن ارائه میدهد و به شما نشان میدهد که چگونه توابع را توسعه، آزمایش و اجرا کنید.
■ فصل 5 کتاب Apache Pulsar in Action، چارچوب اتصال Pulsar را معرفی میکند که برای حرکت بین Apache Pulsar و سیستمهای ذخیرهسازی خارجی، مانند پایگاههای داده رابطهای، ذخیرهسازی کلید-مقدار (Key-Value stores)، و ذخیرهسازی blob مانند S3 طراحی شده است. این فصل به شما میآموزد که چگونه یک کانکتور را به صورت گامبهگام توسعه دهید.
■ فصل 6 کتاب Apache Pulsar in Action، جزئیات گامبهگام نحوه ایمن کردن خوشه Pulsar را ارائه میدهد تا اطمینان حاصل شود که دادههای شما در حین انتقال و در حالت استراحت ایمن هستند.
■ فصل 7 رجیستری طرحواره داخلی Pulsar را پوشش میدهد، چرا لازم است، و چگونه میتواند به سادهسازی توسعه میکروسرویس کمک کند. ما همچنین فرآیند تکامل طرحواره و نحوه بهروزرسانی طرحوارههای مورد استفاده در توابع Pulsar را پوشش میدهیم.
بخش 3 کتاب Apache Pulsar in Action، بر استفاده از توابع Pulsar برای پیادهسازی ریزسرویسها تمرکز دارد و نحوه پیادهسازی الگوهای مختلف طراحی میکروسرویس را در توابع Pulsar نشان میدهد. این بخش بر توسعه یک برنامه کاربردی تحویل غذا برای واقعیتر کردن مثالها تمرکز دارد و به موارد استفاده پیچیدهتر از جمله انعطافپذیری، دسترسی به دادهها و نحوه استفاده از توابع Pulsar برای استقرار مدلهای یادگیری ماشینی میپردازد که میتوانند در برابر دادههای زمان واقعی اجرا شوند.
■ فصل 8 کتاب Apache Pulsar in Action، نحوه پیادهسازی الگوهای مسیریابی پیامرسانی رایج مانند تقسیم پیام، مسیریابی مبتنی بر محتوا و فیلتر را نشان میدهد. همچنین نحوه پیادهسازی الگوهای مختلف تبدیل پیام مانند استخراج ارزش و ترجمه پیام را نشان میدهد.
■ فصل 9 بر اهمیت وجود قابلیت انعطافپذیری در میکروسرویسهای شما تاکید میکند و نحوه پیادهسازی آن را در داخل توابع Pulsar مبتنی بر جاوا با کمک کتابخانه resiliency4j نشان میدهد.
رویدادهای مختلفی را که میتوانند در یک برنامه مبتنی بر رویداد رخ دهند و الگوهای مختلفی که میتوانید برای محافظت از سرویسهای خود از این سناریوهای خرابی برای به حداکثر رساندن زمان آپدیت برنامه خود استفاده کنید، پوشش میدهد.
■ فصل 10 کتاب Apache Pulsar in Action، بر نحوه دسترسی به دادههای انواع سیستمهای خارجی از داخل توابع Pulsar تمرکز دارد. این روشهای مختلف کسب اطلاعات در میکروسرویسهای شما و ملاحظاتی را که باید از نظر تأخیر در نظر بگیرید، نشان میدهد.
■ فصل 11 شما را در فرآیند استقرار انواع مدلهای مختلف یادگیری ماشین در داخل یک تابع Pulsar با استفاده از چارچوبهای مختلف ML (Machine Learning) راهنمایی میکند. همچنین موضوع بسیار مهمی را پوشش میدهد که چگونه اطلاعات لازم را به مدل وارد کنید تا پیشبینی دقیقی بدست آورید.
■ فصل 12 کتاب Apache Pulsar in Action، استفاده از توابع Pulsar در یک محیط محاسبات لبه برای انجام تجزیه و تحلیل بلادرنگ روی دادههای اینترنت اشیا را پوشش میدهد. با توضیح دقیقی از ظاهر یک محیط محاسبات لبه شروع میشود و لایههای مختلف معماری را قبل از نشان دادن نحوه استفاده از توابع Pulsar برای پردازش اطلاعات روی لبه و فقط خلاصههای رو به جلو به جای کل مجموعه داده را توضیح میدهد.
در نهایت، دو ضمیمه سناریوهای عملیاتی پیشرفتهتری از جمله استقرار در محیط Kubernetes و geo-Replication را نشان میدهند:
■ ضمیمه A کتاب Apache Pulsar in Action، شما را در مراحل لازم برای استقرار Pulsar در محیط Kubernetes با استفاده از نمودارهای Helm که به عنوان بخشی از پروژه منبع باز ارائه شده است، راهنمایی میکند. همچنین نحوه تغییر این نمودارها را برای مطابقت با محیط خود پوشش میدهد.
بیشتر بخوانید: کتاب Kubernetes Up & Running
■ ضمیمه B مکانیسم داخلی تکثیر جغرافیایی Pulsar و برخی از الگوهای تکرار رایج که امروزه در تولید استفاده میشود را توضیح میدهد. سپس شما را در فرآیند پیادهسازی یکی از این الگوهای تکراری جغرافیایی در Pulsar راهنمایی میکند.
سرفصلهای کتاب Apache Pulsar in Action:
- foreword
- preface
- acknowledgments
- about this book
- about the author
- about the cover illustration
- PART 1 GETTING STARTED WITH APACHE PULSAR
- 1 ■ Introduction to Apache Pulsar
- 2 ■ Pulsar concepts and architecture
- 3 ■ Interacting with Pulsar
- PART 2 APACHE PULSAR DEVELOPMENT ESSENTIALS
- 4 ■ Pulsar functions
- 5 ■ Pulsar IO connectors
- 6 ■ Pulsar security
- 7 ■ Schema registry
- PART 3 HANDS-ON APPLICATION DEVELOPMENT WITH APACHE PULSAR
- 8 ■ Pulsar Functions patterns
- 9 ■ Resiliency patterns
- 10 ■ Data access
- 11 ■ Machine learning in Pulsar
- 12 ■ Edge analytics
- appendix A Running Pulsar on Kubernetes
- appendix B Geo-replication
- index
فایل کتاب Apache Pulsar in Action را میتوانید پس از پرداخت، دریافت کنید.
دیدگاهها
هیچ دیدگاهی برای این محصول نوشته نشده است.