কেন get.php এবং / অথবা `কোর / ফাইল_স্টোরেজ_ড্যাটাবেস তৈরি করা হয়েছিল?


12

1.5 বা 1.6 সংস্করণ হিসাবে, ম্যাগেন্টো'র নামের মূল ফোল্ডারে একটি ফাইল ছিল get.php। এই ফাইলটি, core/file_storage_dataমডেলটি ব্যবহার করে , ম্যাজেন্টো সিস্টেমের মালিকদের তাদের সিস্টেমে মিডিয়া ফাইলগুলি ফাইল সিস্টেমে কোনও ইমেজ ফাইল ছাড়াই ডাটাবেসে ব্লব কলাম থেকে সরাসরি পরিবেশন করতে দেয় । পিএইচপি ফাইল প্রেরণ পরিচালনা করে

#File: get.php
function sendFile($file)
{
    if (file_exists($file) || is_readable($file)) {
        $transfer = new Varien_File_Transfer_Adapter_Http();
        $transfer->send($file);
        exit;
    }
}

এটি ম্যাজেন্টো ইতিহাসের অঞ্চলে প্রবেশ করছে তবে এই বৈশিষ্ট্যটি কেন বিকশিত হয়েছিল? মনে হচ্ছে - কিছুটা উন্মাদ। পিএইচপি কোনও ফাইল পরিবেশন করার সবচেয়ে কার্যকর উপায় নয়, মাইএসকিউএল এর ব্লব স্টোরেজটি অস্থির হওয়ার ইতিহাস রয়েছে এবং এমনকি একটি স্থিতিশীল ডাটাবেস ব্লব প্রয়োগের সাথে কাজ করার পিছনে ব্যথা এবং আমি যা দেখতে পাচ্ছি Varien_File_Transfer_Adapter_Httpতাতে যোগ হয় না এই ফাইলগুলিতে কোনও ক্যাচিং শিরোনাম।

কেউ কি জানেন যে ম্যাগেন্টো কেন এই বৈশিষ্ট্যটি বিকাশ করেছিল? এটি সমাধানের জন্য নির্ধারিত যে কোনও লক্ষ্য / সমস্যাটি কি আসলেই সম্পাদন করে? কেউ কি এটি ব্যবহার করছে?

উত্তর:


12

আমি আসলে এই বৈশিষ্ট্যের জন্য মূল এসআরএস পেয়েছি এবং এটি এখানে historicতিহাসিক উদ্দেশ্যে ভাগ করে নিতে পারি:

বর্তমানে মিডিয়া সঞ্চয় করার জন্য অন্য কোনও বিকল্প নেই, তবে ওয়েব সার্ভারের ফাইল সিস্টেমে। সিস্টেমটি চলার কেবলমাত্র একটি উদাহরণ রয়েছে এবং সিস্টেম সার্ভারে ডাটাবেস একই সার্ভারে অবস্থিত হলে এই পদ্ধতিটি যথেষ্ট।

তবে, সিস্টেম মোতায়েনের সবচেয়ে সম্ভাব্য উপায় এক নয়। গ্রাহকদের বিভিন্ন সার্ভারে স্থাপন করা সিস্টেমের একাধিক উদাহরণ রয়েছে, যার জন্য সিঙ্ক্রোনাইজেশন প্রয়োজন require এ কারণেই, চিত্র সংরক্ষণের দুটি পৃথক বিকল্পকে বিকল্প হিসাবে বিকাশ করতে হবে: ডেটাবেস এবং সিডিএন (সামগ্রী বিতরণ নেটওয়ার্ক)।

বিকল্প মিডিয়া স্টোরেজ হিসাবে সিডিএন কেবলমাত্র একটি বিকল্প সিডিএন (গুলি) এর সাথে সম্পূর্ণ সংহতকরণ হিসাবে নয়, কেবল সমর্থন বিকল্প হিসাবে সিস্টেমে প্রয়োগ করা হবে। অ্যাডমিনকে সিডিএন নিজেই বেছে নিতে ও কনফিগার করতে হবে এবং সিস্টেম কনফিগারেশনে সামান্য পরিবর্তন করতে হবে।

আমি ব্যবহারের কেসগুলি পেস্ট করব না তবে সিডিএন এর জন্য এটি কেবল চিত্র / স্কিনের জন্য সিডিএন ইউআরএল-এর বেস ইউআরএলগুলি পরিবর্তন করার উল্লেখ করেছে (আমি ধরে নিলাম এটির জন্য সিডিএন দরকার)


3

আমি এটিকে ব্যাপকভাবে পরীক্ষা করে দেখিনি, বা উত্পাদনে এটি ব্যবহার করি নি, তবে এটি আমার ইলাস্টিক বিয়ানস্টালক + ম্যাজেন্টো গাইডের জন্য ব্যবহার করেছি । উপকারটি শেয়ার-কিছুই নেই ওয়েব নোড ক্লাস্টারের জন্য - অ্যাডমিনের মাধ্যমে আপলোড করার সময় চিত্র ফাইলগুলি ডিবি ব্যাকএন্ডে জমা হয় এবং তারপরে প্রথমে সেখান থেকে পরিবেশন করা হয় (এবং তারপরে সিডিএন থেকে আদর্শভাবে)। এর অর্থ আপনি মিডিয়া ভাগ করে নেওয়ার জন্য এনএফএস এড়াতে পারবেন।


2

এখানে আমার অনুমান এটি ক্লাস্টার পরিবেশের জন্য উদ্দিষ্ট intended 1 ডিবি নোড সহ একাধিক ওয়েবনোড। যদি সেশন / ক্যাশে এছাড়াও ডিবিতে থাকে (বা অন্য নোড) আপনার ওয়েবনোড কেবল পঠিত হবে এবং আপনি কোনও নতুন ওয়েবনোড আনার সময় মিডিয়া সিঙ্ক করতে হবে না।

সামগ্রিকভাবে আমি একমত যে এটি কোনও ইঞ্জিনিয়ারড সমাধানের মতো দেখতে সমস্যাটি সমাধান করার জন্য খুঁজছেন।


2

আমি ব্যক্তিগতভাবে ম্যাজেন্টোর মধ্যে এটি দেখতে পেরে আনন্দিত হয়েছিল, কারণ (অন্যরা যেমন উল্লেখ করছেন) এটি এনএফএস মাউন্টগুলি মোকাবেলা না করেই একাধিক ওয়েব নোড সহ স্ট্যাকের জন্য চিত্রগুলির একক অনুমোদনের উত্স সরবরাহ করে।

আপনি যদি আমার মতো হন এবং লোড ব্যালেন্সারের ভিতরে এবং বাইরে ওয়েব নোডগুলি প্রতিস্থাপন করে চালনা করেন (যেমন এডাব্লুএস লঞ্চ কনফিগারেশন / অটো স্কেলিং গ্রুপগুলি ব্যবহার করে) এটি আসলে বেশ বুদ্ধিমান।

সাধারণত আপনি বিভিন্ন কারণে ডিবিতে চিত্র স্থাপন করা এড়াতে চান তবে এই প্রক্রিয়াটি (মূলত) যেভাবে কাজ করে তা হ'ল চিত্রটি ডিবি থেকে স্থানীয় ফাইল সিস্টেমে টানা হয় এবং তারপরে পরবর্তী অনুরোধগুলির জন্য সেখান থেকে পরিবেশন করা হয় ।

যদি আপনি এটিকে আরও একধাপ এগিয়ে নিয়ে যেতে পারেন (সুতরাং ফাইল সিস্টেম থেকে চিত্রগুলি নীচে / রেফারেন্সে টানতে আরও কম অনুরোধ রয়েছে) আমি সিডিএন ব্যবহার এবং আপনার ওয়েবসাইটটিকে উত্স হিসাবে সেট করার এবং অন্যের বর্ণিত মিডিয়া ইউআরএল পরিবর্তন করার পরামর্শ দিচ্ছি।

সাইড নোটে, বেশিরভাগ মাইএসকিউএল কনফিগারেশনে খুব কম "ম্যাক্স_গ্ল্যাড_প্যাককেট" মান থাকবে যা আপনার ডিবিতে অনুমোদিত ডেটা ট্রান্সফারের আকারকে সীমিত করে। আপনি যদি ডিবিতে চিত্রগুলি সঞ্চয় করার পরিকল্পনা করছেন, আপনি এটি পরীক্ষা করতে চান যাতে আপনি নিজেকে পায়ে গুলি না করেন।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.