অতীতে যা করেছি তা হ'ল দ্রুত সরবরাহের জন্য অ্যামাজন এস 3 এবং ক্লাউডফ্রন্ট সিডিএন সহ পেপারক্লিপ ব্যবহার করুন । পেপারক্লিপ খুব সুন্দরভাবে বক্সের বাইরে এস 3 স্টোরেজ সমর্থন করে: এস 3 স্টোরেজ কনফিগারেশন বিকল্পগুলির জন্য তাদের ডকুমেন্টেশন দেখুন ।
- আপনার এস 3 বাল্টিতে চিত্রের অনুরোধগুলি এবং আপনার রুবেলকে রেলস অ্যাপ্লিকেশনটিতে স্থিতিশীল সম্পদের জন্য অন্যান্য অনুরোধগুলি ফরোয়ার্ড করার জন্য ক্লাউডফ্রন্ট বিতরণ সেট আপ করুন (বিকল্প হিসাবে, আপনি সেগুলি এস 3 তেও আপলোড করতে পারেন, তবে এটি এই প্রশ্নের আওতার বাইরে)।
- সময় CNAME একটি ডোমেইন আপনার CloudFront বন্টন বিন্দু (যেমন assets.example.com হিসাবে) নিয়ন্ত্রণ করে।
- পেপারক্লিপ কনফিগারেশনে সেট করুন
s3_host_alias: assets.example.com
। এটি আপনার ক্লাউডফ্রন্ট বিতরণ হোস্টটি ব্যবহারের জন্য সংরক্ষিত চিত্রের উত্সগুলিতে উত্পন্ন URL গুলি তৈরি করবে ।
- আপনার রুবি অন রেল কনফিগারেশনে, আপনি এটি করতে পারেন
config.action_controller.asset_host = http://assets.example.com
। রেলগুলির সম্পদ ইউআরএলগুলিতে রুবি তারপরে ক্যাচিং / দ্রুত বিতরণের জন্য আপনার ক্লাউডফ্রন্ট বিতরণটিও ব্যবহার করবে।
এটি বেশ স্কেচি তবে এটি আশাবাদী আপনাকে কিছু দরকারী সংস্থার দিক নির্দেশ করে। অবশ্যই, এটি কেবল একটি সমাধান, তবে এটি এমন একটি যা আমার জন্য এমন পরিস্থিতিতে কাজ করেছে যেখানে আমি ডাটাবেজে কয়েক হাজার ইমেজ সংযুক্তি নিয়ে কাজ করি।
(একটি সম্ভাব্য উন্নত পদক্ষেপ যা আপনার ক্ষেত্রে প্রয়োজনীয় বা দরকারী নাও হতে পারে, আপনি আপনার ক্লাউডফ্রন্ট বিতরণের জন্য একাধিক সিএনএমও সেট আপ করতে পারেন, যেমন assets0.example.com
এবং assets1.example.com
উভয় পেপারক্লিপ s3_host_alias
এবং action_controller.asset_host
এরপরে ল্যাম্বডাস নিতে পারেন যা আপনাকে নির্বিচারে অনুমতি দেবে (এর উপর ভিত্তি করে সম্পদ) ইউআরএলগুলি তৈরি করে যা বিভিন্ন হোস্ট ব্যবহার করে, আরও সমান্তরালতার জন্য যদি আপনি একই পৃষ্ঠায় সেগুলির একটি গুচ্ছ ডাউনলোড করেন তবে ব্রাউজারগুলি একই হোস্টে সর্বাধিক যুগপত সংযোগ সীমাবদ্ধ করবে))