رحیم لطفی
رحیم لطفی
خواندن ۲ دقیقه·۱ سال پیش

معماری LMAX

معماری LMAX

معماری LMAX یک سبک معماری همروند و قابل گسترش است که برای سیستم‌های مالی با عملکرد بالا طراحی شده است، به ویژه در زمینه‌ی پلتفرم‌های معاملات الکترونیکی. این معماری توسط LMAX، یک صرافی مالی در لندن، توسعه یافته و به دلیل کاهش تاخیر و افزایش ظرفیت، شناخته شده است. با ازستفاده از معماری LMAX میتوان بیش از 6 میلیون سفارش را در یک ثانیه با یک ترد انجام شود. پرفرمنس از مهمترین مشخصه های این معماری می باشد در بازار های مالی مثل فارکس نمونه های از این معماری مشاهده می شود. از دیگر مشخصه های این معماری ساختمان داده Lock Free می باشد.


ویژگی‌های کلیدی معماریLMAX عبارتند از:

1- الگوی Disruptor: در مرکز معماری LMAX، الگوی Disruptor قرار دارد که یک چارچوب ارتباطی بین‌نخی با عملکرد بالا است. این امکان را فراهم می‌کند که با حداقل رقابت و عملیات بدون قفل، ارتباط کارآمد بین نخ‌ها برقرار شود و تاخیر را کاهش دهد و ظرفیت را افزایش دهد.

2- ذخیره‌سازی رویدا: LMAX از مدل داده‌سازی ایونت سورسینگ به عنوان مدل داده اصلی خود استفاده می‌کند. به جای ذخیره وضعیت فعلی یک موجودیت، سیستم یک لاگ از رویدادهایی که در طول زمان رخ داده‌اند را نگه می‌دارد. این رویکرد می‌تواند برخی جنبه‌های طراحی سیستم را ساده‌تر کند و یک ردیابی حسابداری قابل اعتماد فراهم کند.

3- اجزاء تک نخی: LMAX سیستم را به اجزاء تک نخی تقسیم می‌کند، که به کاهش پیچیدگی و مسائل عملکردی مرتبط با چند نخ کمک می‌کند. هر جزء یک نوع خاص از رویداد را به صورت تک نخی پردازش می‌کند و این باعث کاهش رقابت و بهبود پیش‌بینی می‌شود.

4- پردازش همروند: هرچند اجزاء فردی تک نخی هستند، اما معماری LMAX برای پردازش همروند رویدادها در افق چندین اجزاء طراحی شده است. این امکان را به سیستم می‌دهد که با افزودن نمونه‌های بیشتر از اجزاء، هر کدام در یک نخ یا دستگاه مجزا، مقیاس‌پذیر باشد.

5- ورودی/خروجی ناهمگن :LMAX از عملیات ورودی/خروجی ناهمگن برای کاهش تأثیر تاخیر مرتبط با ورودی/خروجی همگن سنتی بهره می‌برد. این امر برای سیستم‌های معاملات با فرکانس بالا که تاخیر کم اهمیت دارد، حیاتی است.

6- نگهداری حافظهLMAX از فایل‌های مموری مپ برای ارتباط بین اجزاء استفاده فراوان می‌کند. این امکان را به سیستم می‌دهد تا اطلاعات را به بهترین شکل بین بخش‌های مختلف سیستم به اشتراک بگذارد و به بهبود کلی عملکرد کمک کند.

7- عملکرد قابل پیش‌بینی یکی از اهداف اصلی LMAX، ارائه عملکرد قابل پیش‌بینی و مداوم است. این در سیستم‌های مالی که تاخیر کم و ظرفیت بالا اهمیت دارد، حیاتی است و عملکرد پیش‌بینی ناپذیر ممکن است منجر به ضرر مالی شود.

معماری LMAX به عنوان یک مثال موفق از چگونگی طراحی سیستم‌های با عملکرد بالا و تاخیر کم، به ویژه در زمینه‌ی صرافی‌های مالی، شناخته می‌شود. این معماری بر اهمیت کاهش رقابت، بیشینه کردن همرون

معماری نرم افزار
شاید از این پست‌ها خوشتان بیاید