انتشار نسخه ۱ لاراول اکتان – Laravel Octane v1.0

لاراول اکتان چیست و چه کاربردی دارد؟ مقاله ای بود که چند وقت پیش براتون نوشتم. اون موقع لاراول اکتان هنوز به صورت رسمی منتشر نشده بود. تیم لاراول خیلی سخت در حال کار روی لاراول اکتان (Laravel Octane)، ابزاری به اصطلاح سوپرشارژ کن برنامه ها در لاراول بود. بعد از اینکه نسخه بتا رو در آوریل ۲۰۲۱ منتشر کرده بود، حالا نسخه پایدار 1.0 رو منتشر کرده!

 

امکانات لاراول اکتان – Laravel octane

اکتان با استفاده از ترکیب لاراول با امکانات سروری که لاراول رو روش بالا میارید، عملکرد برنامه رو به صورت استثنایی بالا میبره. برخی از مواردی که قبل از استفاده از اکتان باید بدونید:

  • PHP ورژن ۸ به بالا رو لازم داره
  • اکتان از Roadrunner، اپلیکیشن سرور، load-balancer و مدیرت فرآیندی که با Golang نوشته شده باشه، پشتیبانی میکنه.
  • اکتان از Swoole PHP, سرور برنامه ای با عملکرد بالا (high-performance programmatic server) برای PHP با همگام سازی IO و Fibers، Coroutines پشتیبانی میکنه.
  • Laravel Sail راهی آسون برای شروع کار با Roadrunner و Swoole فراهم میکنه.

حالا میتونید داکیومنت لاراول اکتان رو در سایت لاراول مشاهده کنین.

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

 

Swoole در اکتان

وقتی که از Swoole استفاده کنین ، به درایور حافظه پنهان (cache) اکتان دسترسی دارین:

Cache::store('octane')->put('framework', 'Laravel', 30);

بر اساس readme، کش درایور (cache driver) اکتان با استفاده از جدول Swoole:

سرعت خواندن و نوشتن تا 2 میلیون عملیات در ثانیه رو فراهم میکنه. این کش درایور توسط جداول Swoole تغذیه میشه. تمام داده‌های ذخیره شده در کش درایو در دسترس همه کارگران سرور هستش. با این حال، سرور داده های ذخیره شده در کش درایو رو بعد از ریستارت فلاش (flush) میکنه.

با استفاده از Swoole میتونید از Concurrent Tasks هم استفاده کنین. یعنی میتونین تسک هاتون رو به صورت همزمان از طریق بک گراند بصورت سبک انجام بدین:

use App\User;
use App\Server;
use Laravel\Octane\Facades\Octane;

[$users, $servers] = Octane::concurrently([
    fn () => User::all(),
    fn () => Server::all(),
]);

درنهایت، Swoole مفهوم جداولش رو ارائه میکنه که عملکرد عالی و دسترسی به داده های موجود در این جداول توسط همه کارگران سرور فراهم میشه.

در اینجا مثالی از نحوه تعامل جداول Swoole با استفاده از اکتان رو داریم:

// Octane tables config in config/octane.php
return [
    'tables' => [
        'example:1000' => [
            'name' => 'string:1000',
            'votes' => 'int',
        ],
    ],
];

// Usage example
use Laravel\Octane\Facades\Octane;

Octane::table('example')->set('uuid', [
    'name' => 'Nuno Maduro',
    'votes' => 1000,
]);

Octane::table('example')->get('uuid');

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

composer require laravel/octane
php artisan octane:install

 

منبع: https://laravel-news.com/laravel-octane-1-0-0

مطالب مرتبط پیشنهادی
نظر خود را ارسال کنید

آدرس ایمیل شما منتشر نخواهد شد.

*

code