English | العربية | বাংলা | Bosanski | Deutsch | Español | Français | हिन्दी | Italiano | 日本語 | 한국어 | मराठी | Português | Русский | Kiswahili | தமிழ் | తెలుగు | Türkçe | اردو | Tiếng Việt | 中文
লারাভেল SQS এক্সটেনডেড
সূচনা
লারাভেল SQS এক্সটেনডেড হল একটি লারাভেল কিউ ড্রাইভার যা AWS SQS পে-লোড আকারের সীমা ঘিরে কাজ করার জন্য ডিজাইন করা হয়েছে। এই কিউ ড্রাইভারটি স্বয়ংক্রিয়ভাবে বড় পে-লোডগুলিকে একটি ডিস্কে (সাধারণত S3) সিরিয়ালাইজ করে এবং পরে রান টাইমে ইনসিরিয়ালাইজ করে। এই প্যাকেজটি থেকে উৎসাহিত হয়েছে এখানে।
সহজ SQS এক্সটেনডেড ক্লায়েন্ট থেকে স্থানান্তর
- আপনার প্রকল্প থেকে
simplesoftwareio/simple-sqs-extended-clientপ্যাকেজটি মুছে ফেলুন। defectivecode/laravel-sqs-extendedপ্যাকেজটি ইনস্টল করুন।
পুরোনো কনফিগারেশনটি নতুন প্যাকেজের সাথে পিছনের দিকে সামঞ্জস্যপূর্ণ। একমাত্র পরিবর্তন হল প্যাকেজের নাম।
ইনস্টলেশন
- প্রথমে একটি বাকেট তৈরি করুন যাতে আপনার সমস্ত বড় SQS পে-লোডগুলি রাখা হবে।
SQS পে-লোডগুলি সংরক্ষণ করার সময় আমরা অত্যন্ত_private_ বাকেট ব্যবহার করার সুপারিশ করছি। পে-লোডগুলি संवेदनশীল তথ্য ধারণ করতে পারে এবং কখনওই জনসাধারণের সাথে শেয়ার করা উচিৎ নয়।
-
কিউ ড্রাইভার ইনস্টল করতে
composer require defectivecode/laravel-sqs-extendedচালান। -
তারপর, আপনার
queue.phpফাইলে নিম্নলিখিত ডিফল্ট কিউ সেটিংসগুলি যোগ করুন।
লারাভেল ভ্যাপার ব্যবহারকারীদের অবশ্যই সংযোগের নাম
sqsসেট করতে হবে।sqsসংযোগটি ভ্যাপার কোরের মধ্যে খোঁজা হয় এবং আপনি যদি আলাদা সংযোগের নাম ব্যবহার করেন তবে এই লাইব্রেরিটি প্রত্যাশা অনুযায়ী কাজ করবে না।
/*|--------------------------------------------------------------------------| SQS ডিস্ক কিউ কনফিগারেশন|--------------------------------------------------------------------------|| এখানে আপনি SQS ডিস্ক কিউ ড্রাইভার কনফিগার করতে পারেন। এটি বিল্ট-ইন লারাভেল SQS কিউ ড্রাইভারের সমস্ত কনফিগারেশন বিকল্প হোক। একমাত্র যোগ করা| বিকল্প হল `disk_options` যা নিচে ব্যাখ্যা করা হয়েছে।|| always_store: এটি নির্ধারণ করে যে সমস্ত পে-লোডগুলি কিউর আকারের সীমা নির্বিশেষে একটি ডিস্কে সংরক্ষণ করা উচিত কিনা।| cleanup: এটি নির্ধারণ করে যে কাজ প্রক্রিয়া করার পরে কি পে-লোড ফাইলগুলি ডিস্ক থেকে সরানো উচিত। ফাইলগুলি পিছনে ফেলে রাখা ডিবাগিংয়ের কারণে পরে কিউ কাজ পুনরায় চালানোর জন্য উপকারী হতে পারে।| disk: SQS পে-লোডগুলি সংরক্ষণ করার জন্য ডিস্ক। এই ডিস্কটি আপনার লারাভেল ফাইলসিস্টেমস.php কনফিগারেশন ফাইলে কনফিগার করা উচিত।| max_size: ঐচ্ছিক। অফলোড থ্রেশহোল্ডকে একটি নির্দিষ্ট বিট সংখ্যা সেট করে। বাদ রাখা হলে, থ্রেশহোল্ডটি| কিউ থেকে পড়া হয়। নিচে "পে-লোড আকার থ্রেশহোল্ড" দেখুন।| prefix পে-লোডগুলি সংরক্ষণের জন্য প্রিফিক্স (ফোল্ডার)। এটি তখন উপকারী যখন আপনি অন্যান্য SQS কিউগুলির সাথে ডিস্কটি শেয়ার করছেন।| একটি প্রিফিক্স ব্যবহার করলে কিউ:clear কমান্ডটি অন্যান্য sqs-disk ব্যাকড কিউগুলির থেকে আলাদাভাবে ফাইলগুলি ধ্বংস করতে দেয়| একই ডিস্ক শেয়ার করছে।|*/'sqs' => [ 'driver' => 'sqs-disk', 'key' => env('AWS_ACCESS_KEY_ID'), 'secret' => env('AWS_SECRET_ACCESS_KEY'), 'prefix' => env('SQS_PREFIX', 'https://sqs.us-east-1.amazonaws.com/your-account-id'), 'queue' => env('SQS_QUEUE', 'default'), 'suffix' => env('SQS_SUFFIX'), 'region' => env('AWS_DEFAULT_REGION', 'us-east-1'), 'after_commit' => false, 'disk_options' => [ 'always_store' => false, 'cleanup' => false, 'disk' => env('SQS_DISK'), 'prefix' => 'bucket-prefix', ],],
- আপনার কিউগুলি বুটআপ করুন এবং SQS-এর পে-লোড সীমার বিষয়ে চিন্তা না করেই লাভবান হন 🥳
পে-লোড আকার থ্রেশহোল্ড
AWS আগস্ট 2025-এ সর্বাধিক SQS পে-লোড 256 KiB থেকে 1 MiB এ বাড়িয়েছে, কিন্তু MaximumMessageSize হল একটি পের-কিউ অ্যাট্রিবিউট — যে কিউগুলি ঐ পরিবর্তনের আগে সৃষ্টি করা হয় সেগুলি পুরনো 262144 বাইট মান রাখে যতক্ষণ না আপনি এটি বাড়ান। যে কোনও সীমা ধরে নেওয়ার পরিবর্তে, এই প্যাকেজটি কিউ থেকে অ্যাট্রিবিউটটি পড়ে এবং কেবলমাত্র যা সত্যিকার অর্থেই ফিট হবে তা অফলোড করে।
থ্রেশহোল্ড নিম্নলিখিতভাবে সমাধান হয়, এবং প্রথম মেলাঙ্কার বিজয়ী। একটি পে-লোড ডিস্কে সংরক্ষণ করা হয় যখন এর দৈর্ঘ্য সমিধান করা থ্রেশহোল্ডের সমান বা বড় হয়।
| শর্ত | থ্রেশহোল্ড | কিউ অ্যাট্রিবিউট পড়ে |
|---|---|---|
always_store হল true |
প্রতিটি পে-লোড সংরক্ষিত হয় | না |
max_size সেট করা |
কনফিগার করা মান | না |
কিউ 262144 রিপোর্ট করে (2025 এর আগে ডিফল্ট) |
250000 | হ্যাঁ |
কিউ 1048576 রিপোর্ট করে (সর্বাধিকে বাড়ানো) |
1036432 | হ্যাঁ |
| অ্যাট্রিবিউট পড়া যাবে না | 250000 | একবার চেষ্টা করা হয়েছে |
12144 বাইটের রিজার্ভড হেডরুমটি প্রতি-বার্তা ওভারহেড কভার করে, এবং আকার সেইভাবে করা হয়েছে যাতে 262144 বাইট ডিফল্টে থাকা একটি কিউ 250000 বাইটের থ্রেশহোল্ডে সমাধান হয় যা এই প্যাকেজের পুরনো সংস্করণগুলির দ্বারা ব্যবহার করা হয়। আপগ্রেড করা কিউয়ের নিজস্ব সীমা বাড়ানো না হওয়া পর্যন্ত আচরণ পরিবর্তন করে না।
অনুমতি
অ্যাট্রিবিউটটি পড়ার জন্য sqs:GetQueueAttributes প্রয়োজন। ফলাফলটি প্রতি কিউতে মেমরিতে ক্যাশে করা হয়, তাই এটি প্রসেসের জীবনের জন্য প্রতি কিউয়ে একটি কল খরচ করে, প্রতিটি কাজের জন্য একটি কল নয়।
যদি অ্যাট্রিবিউটটি পড়া না যায় — একটি সংকীর্ণ IAM নীতি, বা একটি SQS ইমুলেটর যা এটি বাস্তবায়ন করে না — ড্রাইভারটি 250000 বাইট থ্রেশহোল্ডে ফিরে আসে এবং প্রেরণ চালিয়ে যায়। আপনি যদি অনুমতি না দেওয়ার জন্য বরং সম্পূর্ণরূপে অনুসন্ধানটি বাদ দিতে চান তবে max_size সেট করুন।
একটি কিউর সীমা বাড়ানো
aws sqs set-queue-attributes \ --queue-url https://sqs.us-east-1.amazonaws.com/your-account-id/your-queue \ --attributes MaximumMessageSize=1048576
এতে লক্ষ্য করুন যে SQS 64 KB টুকরোতে ব্যবহারের মিটার করে, তাই একটি একক 1 MiB বার্তা 16টি অনুরোধ হিসাবে বিল হয়। ডিস্কে বড় পে-লোডগুলি সংরক্ষণ করা প্রায়ই এখনও সস্তা পথ।
সমর্থন নির্দেশিকা
আমাদের ওপেন সোর্স প্যাকেজটি নির্বাচন করার জন্য ধন্যবাদ! দয়া করে এই সমর্থন নির্দেশিকাগুলি অন্বেষণ করতে একটি মুহূর্ত নিন। এগুলি আপনাকে আমাদের প্রকল্প থেকে সর্বাধিক উপকার পেতে সহায়তা করবে।
সম্প্রদায়ের দ্বারা পরিচালিত সমর্থন
আমাদের ওপেন-সোর্স প্রকল্পটি আমাদের অসাধারণ সম্প্রদায় দ্বারা চালিত। আপনার যদি প্রশ্ন থাকে অথবা সহায়তার প্রয়োজন হয়, StackOverflow এবং অন্যান্য অনলাইন সম্পদ আপনার জন্য সেরা।
ত্রুটি এবং বৈশিষ্ট্য অগ্রাধিকার
একটি ওপেন-সোর্স প্রকল্প পরিচালনার বাস্তবতা মানে আমরা প্রতিবেদন করা প্রতিটি ত্রুটি বা বৈশিষ্ট্য অনুরোধ অবিলম্বে সমাধান করতে পারি না। আমরা সমস্যা সমাধানে নিম্নলিখিত ক্রমে অগ্রাধিকার দিই:
১. আমাদের অর্থপ্রদান করা পণ্যগুলি প্রভাবিতকারী ত্রুটি
যে ত্রুটিগুলি আমাদের অর্থপ্রদান করা পণ্যে প্রভাব ফেলে সেগুলি সর্বদা আমাদের শীর্ষ অগ্রাধিকার। কিছু ক্ষেত্রে, আমরা শুধু সেই ত্রুটিগুলি সমাধান করতে পারি যা আমাদের সরাসরি প্রভাবিত করে।
২. সম্প্রদায়ের পুল রিকুইস্ট
যদি আপনি একটি ত্রুটি সনাক্ত করেছেন এবং তার সমাধান আছে, তাহলে দয়া করে একটি পুল রিকুইস্ট জমা দিন। আমাদের পণ্যগুলিকে প্রভাবিতকারী সমস্যাগুলোর পরে, আমরা এই সম্প্রদায়-চালিত সমাধানগুলিতে পরবর্তী সর্বাধিক অগ্রাধিকার দিই। একবার পর্যালোচনা করে অনুমোদিত হলে, আমরা আপনার সমাধানটি একত্রিত করবো এবং আপনার অবদানের জন্য কৃতিত্ব দেবো।
৩. আর্থিক সমর্থন
উল্লেখিত বিভাগগুলির বাইরের সমস্যার জন্য, আপনি তাদের সমাধানের জন্য অর্থায়ন করতে পারেন। প্রতিটি ওপেন ইস্যু একটি অর্ডার ফরমের সাথে সংযুক্ত, যেখানে আপনি আর্থিকভাবে অবদান রাখতে পারেন। আমরা প্রদত্ত অর্থায়ন পরিমাণ অনুযায়ী এই সমস্যাগুলিতে অগ্রাধিকার দিই।
সম্প্রদায়ের অবদান
ওপেন সোর্স তখনই পুষ্টি পায় যখন এর সম্প্রদায় সক্রিয় থাকে। আপনি যদি ত্রুটি সমাধান না-ও করেন, তবুও কোড উন্নয়ন, ডকুমেন্টেশন আপডেট, টিউটোরিয়াল, অথবা সম্প্রদায়ের চ্যানেলে অন্যদের সহায়তা করার মাধ্যমে অবদান রাখার কথা বিবেচনা করুন। আমরা সবাইকে, একটি সম্প্রদায় হিসেবে, ওপেন-সোর্স কাজ সমর্থনে সহায়তা করতে তীব্রভাবে উৎসাহিত করি।
আবার উল্লেখ করতে, DefectiveCode আমাদের অর্থপ্রদান করা পণ্যগুলিতে ত্রুটিগুলির প্রভাব, সম্প্রদায়ের পুল রিকুইস্ট এবং সমস্যার জন্য প্রাপ্ত আর্থিক সমর্থনের ভিত্তিতে ত্রুটিগুলিকে অগ্রাধিকার দেবে.
লাইসেন্স - MIT লাইসেন্স
কপিরাইট © Defective Code, LLC। সকল অধিকার সংরক্ষিত
এই সফ্টওয়্যার এবং সংশ্লিষ্ট ডকুমেন্টেশন ফাইল (যাকে "সফ্টওয়্যার" বলা হয়) এর একটি কপি প্রাপ্ত যেকোনো ব্যক্তিকে বিনা শর্তে, বিনামূল্যে, সফ্টওয়্যারটি ব্যবহার, কপি, পরিবর্তন, মিশ্রণ, প্রকাশ, বিতরণ, উপলাইসেন্স এবং/অথবা সফ্টওয়্যার-এর কপি বিক্রি করার অধিকার দেওয়া হয়, এবং যাদের কাছে সফ্টওয়্যারটি প্রদান করা হয় তাদের এটি করতে অনুমতি দেওয়া হয়, নিম্নলিখিত শর্তাবলীর অধীনে:
উপরে উল্লিখিত কপিরাইট নোটিস এবং এই অনুমতি নোটিস সমস্ত কপি বা সফ্টওয়্যার-এর গুরুত্বপূর্ণ অংশে অন্তর্ভুক্ত করা হবে।
সফ্টওয়্যারটি "যেমন আছে" প্রদান করা হয়, কোন প্রকারের গ্যারান্টি ছাড়া, স্পষ্ট বা অভ্যাসগত, যার মধ্যে আছে কিন্তু সীমিত নয় বাণিজ্যযোগ্যতা, নির্দিষ্ট উদ্দেশ্যের জন্য উপযুক্ততা এবং অধিকার লঙ্ঘনের গ্যারান্টি। কোনো পরিস্থিতিতেই লেখক বা কপিরাইট অধিকারীরা সফ্টওয়্যার বা সফ্টওয়্যার ব্যবহারের সাথে সংশ্লিষ্ট যেকোনো দাবি, ক্ষতি বা অন্যান্য দায়বদ্ধতার জন্য দায়ী থাকবে না, তা চুক্তির একটি পদক্ষেপ, অপ্রীতিকর বা অন্যথায় হোক।