Messaging Layer (ZMQ)

لایه ارتباطات بلادرنگ
زیرساخت ارتباطی سرویس‌های Enterprise

Messaging Layer - ZMQ

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

در ZFrame این مسئولیت بر عهده Messaging Layer است؛ لایه‌ای که با استفاده از ZeroMQ (ZMQ) ارتباطی سریع، پایدار و غیرهمزمان میان سرویس‌ها، موتورهای پردازشی، تجهیزات و سامانه‌های مختلف ایجاد می‌کند.

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

نقش Messaging Layer در معماری ZFrame

Messaging Layer مرکز تبادل پیام در کل پلتفرم است.

به‌جای اینکه هر سرویس مستقیماً سرویس دیگری را فراخوانی کند، پیام‌ها از طریق ZMQ منتشر شده و سرویس‌های مرتبط آن‌ها را دریافت و پردازش می‌کنند.

این معماری باعث می‌شود سرویس‌ها مستقل، توسعه‌پذیر و قابل گسترش باقی بمانند.

معماری ارتباطات

Experience Layer
Business Engine
Messaging Layer (ZMQ)
WorkflowAI EngineMonitoring
▼ ▼ ▼
API ServicesDevice ServicesBackground Workers
Data Layer
تمامی سرویس‌ها بدون وابستگی مستقیم از طریق Message Bus با یکدیگر ارتباط برقرار می‌کنند.

قابلیت‌های اصلی

Publish / Subscribe

انتشار و اشتراک پیام

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

نمونه کاربردها:

تغییر وضعیت فرآیندثبت عملیاتاعلان‌های سیستمیرویدادهای کسب‌وکار

Queue

مدیریت صف پیام‌ها

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

کاربردها:

پردازش اسنادارسال اعلان‌هاتولید گزارشهمگام‌سازی اطلاعات

Event Bus

مدیریت رویدادهای سازمان

تمامی رویدادهای مهم سیستم می‌توانند به‌صورت متمرکز منتشر شوند تا سایر اجزای پلتفرم بر اساس آن‌ها واکنش نشان دهند.

نمونه‌ها:

ایجاد سندتغییر وضعیتورود کاربرپایان فرآیندثبت تراکنش

Asynchronous Processing

پردازش غیرهمزمان

عملیات سنگین بدون مسدود کردن رابط کاربری اجرا می‌شوند.

نمونه‌ها:

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

Real-Time Messaging

ارتباط بلادرنگ

ZMQ امکان تبادل سریع پیام میان سرویس‌ها را فراهم می‌کند تا تغییرات و رویدادها تقریباً بدون تأخیر در اختیار سایر اجزای سیستم قرار گیرند.

Notifications

مدیریت اعلان‌ها

Messaging Layer بستر ارسال اعلان‌ها به کاربران و سامانه‌ها را فراهم می‌کند.

نمونه‌ها:

پیام داخلیایمیلپیامکPush Notificationهشدارهای مدیریتی

Event Streaming

جریان مستمر رویدادها

در سامانه‌هایی با حجم بالای داده، رویدادها می‌توانند به‌صورت پیوسته در اختیار موتورهای تحلیل، مانیتورینگ و سایر سرویس‌ها قرار گیرند.

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

کاربردهای عملی در ZFrame

Messaging Layer تنها برای ارتباط بین سرویس‌های نرم‌افزاری استفاده نمی‌شود، بلکه بستری مشترک برای ارتباط اجزای مختلف اکوسیستم ZFrame فراهم می‌کند.

نمونه‌هایی از کاربردهای واقعی:

  • ارتباط میان موتور Workflow و Business Engine
  • ارسال رویدادهای تغییر وضعیت فرآیندها
  • هماهنگی سرویس‌های پس‌زمینه (Background Workers)
  • مانیتورینگ بلادرنگ سامانه‌ها
  • پردازش هم‌زمان اطلاعات از تجهیزات و دستگاه‌ها
  • توزیع پیام میان چندین سرویس مستقل
  • ارسال رویدادها به موتورهای تحلیل و هوش مصنوعی
  • مدیریت اعلان‌های سیستمی و مدیریتی

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

ویژگی‌های معماری

Messaging Layer بر پایه اصول زیر طراحی شده است:

Event-Driven ArchitectureAsynchronous CommunicationLoose CouplingHigh ThroughputLow LatencyScalable MessagingFault IsolationDistributed Processing

مزایای Messaging Layer

  • حذف وابستگی مستقیم بین سرویس‌ها
  • افزایش سرعت تبادل اطلاعات
  • پردازش غیرهمزمان عملیات سنگین
  • توسعه آسان سرویس‌های جدید
  • افزایش مقیاس‌پذیری سیستم
  • تحمل بار بالا در سامانه‌های Enterprise
  • توزیع هوشمند پیام‌ها
  • پشتیبانی از پردازش بلادرنگ
  • یکپارچگی با Workflow، Business Engine و سرویس‌های هوش مصنوعی

جایگاه Messaging Layer در معماری ZFrame

Messaging Layer حلقه ارتباطی تمامی اجزای معماری ZFrame است. این لایه میان Business Engine، Workflow Engine، Integration Layer، AI & Analytics، سرویس‌های پس‌زمینه، تجهیزات و سامانه‌های خارجی قرار می‌گیرد و تمامی ارتباطات رویدادمحور را مدیریت می‌کند.

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