۲۹ شهریور ۱۴۰۳

Techboy

اخبار و اطلاعات روز تکنولوژی

۳ مورد استفاده پویا برای Apache Flink و پردازش جریان

ما در جهانی در حال حرکت زندگی می کنیم. پردازش جریانی به ما امکان می‌دهد رویدادها را در دنیای واقعی ثبت کنیم تا بتوانیم اقداماتی انجام دهیم یا پیش‌بینی کنیم که نتایج کسب‌وکار بهتری را به همراه دارد.

ما در جهانی در حال حرکت زندگی می کنیم. پردازش جریانی به ما امکان می‌دهد رویدادها را در دنیای واقعی ثبت کنیم تا بتوانیم اقداماتی انجام دهیم یا پیش‌بینی کنیم که نتایج کسب‌وکار بهتری را به همراه دارد.

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

پردازش جریان در اینجا فعال کننده است. پردازش جریانی یک فناوری پردازش داده است که برای جمع‌آوری، ذخیره و مدیریت جریان‌های پیوسته داده‌ها هنگام تولید یا دریافت استفاده می‌شود. پردازش جریانی که به آن جریان رویداد یا پردازش رویداد پیچیده (CEP) نیز می‌گویند، به دلیل توانایی قدرتمند آن در ساده‌سازی معماری داده‌ها، ارائه بینش‌ها و تحلیل‌های زمان واقعی و واکنش به رویدادهای حساس به زمان در صورت وقوع، در سال‌های اخیر به سرعت رشد کرده است. /p>

Apache Flink واقعی استاندارد برای برنامه‌های پردازش جریانی. این اغلب همراه با Apache Kafka استفاده می‌شود، اما Flink یک موتور پردازش جریان مستقل است که می‌تواند به طور مستقل مستقر شود. بسیاری از مشکلات سخت مرتبط با پردازش جریان توزیع شده، مانند تحمل خطا، تحویل دقیقا یک بار، توان عملیاتی بالا و تأخیر کم را حل می کند. به همین دلیل است که شرکت‌هایی مانند Uber و Netflix از Flink برای برخی از نیازهای داده‌ای بی‌درنگ خود استفاده می‌کنند.

وقتی در مورد موارد استفاده پردازش جریانی فکر می کنیم، می توانیم آنها را به سه دسته دسته بندی کنیم که با مثال های زیر بررسی خواهیم کرد:

  1. برنامه های مبتنی بر رویداد
  2. تجزیه و تحلیل بیدرنگ
  3. خطوط انتقال جریان داده

برنامه های مبتنی بر رویداد

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

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

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

زمان یک مؤلفه حیاتی برای این برنامه‌های مبتنی بر رویداد است و Flink راه‌حلی ایده‌آل است زیرا قابلیت‌های پنجره‌سازی پیشرفته‌ای را ارائه می‌دهد که به توسعه‌دهندگان کنترل دقیقی بر نحوه پیشرفت زمان و نحوه گروه‌بندی داده‌ها برای پردازش می‌دهد.

تحلیل بیدرنگ

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

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

C# 12 کامپایل AOT را تقویت می کند

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

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

خطوط لوله داده جریانی

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

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

نحوه استفاده از Refit برای مصرف API در ASP.NET Core

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

واکنش به جهان در زمان واقعی

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

ژان سباستین برونر مدیر مدیریت محصول در Confluent است.

New Tech Forum مکانی را برای رهبران فناوری – از جمله فروشندگان و سایر مشارکت‌کنندگان خارجی – فراهم می‌کند تا فناوری سازمانی نوظهور را در عمق و وسعت بی‌سابقه بررسی و بحث کنند. انتخاب ذهنی است، بر اساس انتخاب ما از فناوری هایی که معتقدیم مهم هستند و برای خوانندگان InfoWorld بیشترین علاقه را دارند. InfoWorld وثیقه بازاریابی را برای انتشار نمی پذیرد و حق ویرایش تمام محتوای ارائه شده را برای خود محفوظ می دارد. همه پرس و جوها را به doug_dineley@foundryco.com.