আমরা 1 ওয়েবসারভার সেটআপ থেকে দুটি ওয়েবসার্ভার সেটআপে চলেছি এবং আমার দুটি ভারসাম্যপূর্ণ মেশিনের মধ্যে পিএইচপি সেশনগুলি ভাগ করে নেওয়া শুরু করা দরকার। আমরা ইতিমধ্যে ইনস্টল করা ( এবং শুরু ) মেমক্যাচ করেছি এবং তাই আমি খুব ভালভাবেই অগ্রসর হয়েছি যে আমি নতুন সার্ভারের মধ্যে ফাইলের ( সেশন.সভে_হ্যান্ডলার এবং সেশন.সভ_পথ ) মাত্র 3 টি লাইন পরিবর্তন করে নতুন সার্ভারের মধ্যে ভাগ করে নেওয়ার সময়গুলি অর্জন করতে পেরেছি :php.ini
আমি প্রতিস্থাপন করেছি:
session.save_handler = files
সঙ্গে:
session.save_handler = memcache
তারপরে মাস্টার ওয়েবসারভারে আমি session.save_path
লোকালহোস্টের দিকে নির্দেশ করলাম :
session.save_path="tcp://localhost:11211"
এবং স্লেভ ওয়েবসার্ভারে আমি session.save_path
মাস্টারের দিকে নির্দেশ করেছিলাম :
session.save_path="tcp://192.168.0.1:11211"
কাজ শেষ, আমি এটি পরীক্ষা করেছি এবং এটি কাজ করে। কিন্তু ...
স্পষ্টতই মেমক্যাচ ব্যবহার করা মানে সেশনগুলি র্যামে রয়েছে এবং কোনও মেশিন রিবুট করা থাকলে বা মেমক্যাচ ডেমন ক্র্যাশ হয়ে গেলে নষ্ট হয়ে যায় - আমি এ সম্পর্কে কিছুটা উদ্বিগ্ন তবে আমি দুটি ওয়েবসারকের মধ্যে নেটওয়ার্ক ট্র্যাফিক সম্পর্কে কিছুটা বেশি উদ্বিগ্ন (বিশেষত হিসাবে) আমরা স্কেল করেছি) কারণ যখনই কেউ ক্রীতদাস ওয়েবসভারের সাথে ভারসাম্যপূর্ণ হয় তখন তাদের সেশনগুলি মাস্টার ওয়েবসার্ভার থেকে নেটওয়ার্ক জুড়ে নিয়ে আসা হবে। আমি ভাবছিলাম যে আমি দুটি সংজ্ঞায়িত করতে পারি কিনা save_paths
তাই নেটওয়ার্কগুলি ব্যবহারের আগে মেশিনগুলি তাদের নিজস্ব সেশন স্টোরেজটি দেখবে। উদাহরণ স্বরূপ:
মাস্টার:
session.save_path="tcp://localhost:11211, tcp://192.168.0.2:11211"
ক্রীতদাস:
session.save_path="tcp://localhost:11211, tcp://192.168.0.1:11211"
এটি কি সার্ভারগুলিতে সফলভাবে সেশনগুলি ভাগ করে নেবে এবং পারফরম্যান্সে সহায়তা করবে? অর্থ্যাৎ 50% সময় নেটওয়ার্ক ট্র্যাফিক সংরক্ষণ করুন। অথবা এই কৌশলটি কেবল ব্যর্থ ব্যক্তিদের জন্য (উদাহরণস্বরূপ যখন একটি মেমকেচে ডিমনটি না পারা যায়)?
দ্রষ্টব্য : আমি সত্যিই বিশেষভাবে মেমক্যাচের প্রতিলিপি সম্পর্কে জিজ্ঞাসা করছি না - পিএইচপি মেমক্যাচ ক্লায়েন্ট একটি পুলের মধ্যে প্রতিটি মেমক্যাচ ডিমনের ভিতরে শিখতে পারে কিনা সে সম্পর্কে আরও জানতে, সেশনটি পাওয়া যায় এবং যদি এটি খুঁজে না পায় তবে কেবল একটি নতুন সেশন তৈরি করে whether সব দোকানে। আমি যখন এটি লিখছি তখন আমি ভাবছি যে আমি পিএইচপি থেকে কিছু জিজ্ঞাসা করছি, হ্যাঁ ...
ধরে নিন : কোনও স্টিকি-সেশন নয়, রাউন্ড-রবিন লোড ব্যালেন্সিং, এলএএমপি সার্ভার নেই।