আমি একটি ওয়েব-ভিত্তিক সাস সমাধান তৈরি করার চেষ্টা করছি, এবং আমি এমন একটি রাস্তায় আঘাত করেছি যেখানে আমি বহু ভাড়াটে বা বহু উদাহরণ ব্যবহার করার বিষয়ে নিশ্চিত নই। আমি কী অর্জন করতে চাইছি এবং প্রতিটি পদ্ধতির সুবিধা এবং অসুবিধাগুলি (আমার মতামত, আমি যা পড়েছি তার অনুসারে) বর্ণনা করার চেষ্টা করব। আমি অন্যগুলির মধ্যে একটি পদ্ধতির কোনও কিছু মিস না করায় দয়া করে আপনার পরামর্শগুলি অন্তর্ভুক্ত করুন।
আমি যে অ্যাপ্লিকেশনটি তৈরি করতে চাইছি সেটি হল, যেমন আমি উল্লেখ করেছি, একটি সাআস সমাধান যেখানে সংস্থাগুলি তাদের অ্যাকাউন্ট তৈরি করতে পারে এবং প্রতিটি অ্যাকাউন্ট / সংস্থার নিজস্ব ব্যবহারকারী, গ্রাহক, পণ্য, পরিষেবা ... ইত্যাদি রয়েছে। প্রতিটি ব্যবহারকারী; কে একজন কোম্পানির কর্মচারী; একটি অ্যাকাউন্ট / সংস্থার সাথে সম্পর্কিত কেবল তার / তার সংস্থার গ্রাহক, পণ্য এবং পরিষেবাগুলিতে অ্যাক্সেস পাবে। সংস্থাগুলিতে সীমাহীন সংখ্যক গ্রাহক, পণ্য এবং পরিষেবা থাকতে পারে, সুতরাং প্রতিটি সংস্থার নিজস্ব ডেটা সেন্টার থাকা উচিত।
তার জন্য আমি একটি শেয়ার্ড ডাটাবেস (লগইন উদ্দেশ্যে সমস্ত ব্যবহারকারীর শংসাপত্র সংরক্ষণ করে) এবং একাধিক ডাটাবেস ভাগ করে নেওয়া স্কিমা (একাউন্ট / সংস্থা প্রতি ডাটাবেস) তৈরি করার সিদ্ধান্ত নিয়েছি। মূলত, বহু ভাড়াটে ।
তারপরে কেউ তার পরিবর্তে মাল্টি ইনস্ট্যান্স ব্যবহার করার পরামর্শ দিয়েছিলেন , যেখানে প্রতিটি সংস্থার নিজের নিজস্ব অ্যাপ্লিকেশনটির উদাহরণ থাকবে (যেমন কোড, লাইব্রেরি, ডাটাবেস, ফ্রেমওয়ার্ক ... ইত্যাদি) অন্য সংস্থাগুলি থেকে সম্পূর্ণ পৃথক হয়ে গেছে। এটি আরও ভাল শোনায় যেহেতু আমাকে কোনও অতিরিক্ত স্তরের যত্ন নিতে হবে না যেখানে আমাকে নিশ্চিত করা দরকার যে প্রতিটি ভাড়াটে ব্যবহারকারীকে কেবল তাদের সংস্থার ডেটাতে অ্যাক্সেস রয়েছে। আমি মনে করি এটি উল্লেখ করা ভাল যে আমি এই পদ্ধতির অর্জনের জন্য ডকারের উপর নির্ভর করছি (আমি এটি আগে কখনও ব্যবহার করি নি) তবে আমি মনে করি এটির বৈশিষ্ট্যগুলির অভাব রয়েছে (পরবর্তীকালে এর চেয়ে আরও বেশি) ভবিষ্যতে আমার প্রয়োজন হবে (কমপক্ষে আমি করিনি) কিছুটা অনুসন্ধান করে সেগুলি খুঁজে পাবে না)।
যাইহোক, প্রতিটি পদ্ধতির উপকারিতা এবং কনস দিয়ে আসে, তাই কোন পদ্ধতির সাথে যেতে হবে তা আমি সিদ্ধান্ত নিতে পারিনি। এখানে একটি তালিকা রয়েছে, তবে আমার সাথে এই দু'জনেরই জ্ঞানের অভাব রয়েছে, তাই আমি এমন কিছু জিনিস থাকতে পারি যা সম্পর্কে আমি অবগত নই, বা ওয়েবে আমি পাইনি এমন সমস্যার সমাধান হতে পারে: [প্রতিটি পদ্ধতির রয়েছে একটি আদেশযুক্ত তালিকা যা আমি একে একে তুলনা করে অনুসরণ করেছি]
বহু ভাড়াটে :
- ভাগ করা হোস্ট / হার্ডওয়্যার, ভাগ করা কোড এবং একাধিক ডাটাবেস।
- এটা সহজ কোড এবং ফিক্স বাগ কার্যকারিতা (ভাগ কোড) প্রসারিত করতে।
- এটা কঠিন হার্ডওয়্যার (ক মেঘ পরিষেবা ব্যবহার করতে পারে) প্রসারিত বা কোড পরিবর্তন না করে অন্য সিস্টেমে পৃথক ভাড়াটিয়া ডাটাবেস সরাতে।
- সর্বাধিক গুরুত্বপূর্ণ, যেমনটি আমি আগেও বলেছি, ব্যবহারকারীকে প্রকৃতপক্ষে তার প্রতিষ্ঠানের মালিকানাধীন, এবং অন্য সংস্থার তথ্য অ্যাক্সেস না করে তা নিশ্চিত করতে আমার সিস্টেমে একটি অতিরিক্ত স্তর যুক্ত করা দরকার।
মাল্টি ইনস্ট্যান্স :
- ভাগ বা ভাগ করা হোস্ট / হার্ডওয়্যার, প্রতি কোড কোড এবং উদাহরণস্বরূপ ডাটাবেস।
- এটা কঠিন কার্যকারিতা বা ফিক্স বাগ প্রসারিত করতে (আমি নিশ্চিত Docker মধ্যে এটা করতে যেখানে আপনি এক উদাহরণ হিসেবে বলা যায় বা Docker ধারক কার্যকারিতা / বৈশিষ্ট্য যোগ করতে পারেন, এবং অন্যদের এটি স্থাপন একটি উপায় না থাকলে নই)।
- এটা সহজ একটি ভিন্ন হোস্ট / হার্ডওয়্যারে পুরো উদাহরণস্বরূপ সরাতে।
- উদাহরণস্বরূপ, আমার সেই স্তরটির যত্ন নেওয়ার দরকার নেই কারণ প্রতিটি উদাহরণের নিজস্ব ডাটাবেস থাকবে।
আমি ম্যানুয়ালি কিছু করতে চাইলে সমস্ত সুবিধা এবং অসুবিধাগুলি অপ্রয়োজনীয় (ম্যানুয়ালি প্রতিটি ভাড়াটে লোকের জন্য উদাহরণ তৈরি করা), এবং সে কারণেই আমি ডকার সমাধানটিকে সন্দেহ করি, যদি না এর সমাধানের উপায় না থাকে, যা সম্ভবত প্রধান প্রশ্নের কারণ। আমি যদি সমস্যার সমাধানগুলির রেফারেন্স সহ প্রশ্নের উত্তর দিয়ে থাকি এবং আপনি কেন এই পদ্ধতিকে অন্যের চেয়ে ভাল বলে মনে করেন তবে আমি এটির প্রশংসা করব।
ক্ষেত্রে যে সাহায্য করবে (হয়তো?), আমরা ব্যবহার করছি সালে Laravel ব্যাক এন্ড (সমস্ত RESTfully) জন্য প্রধান কাঠামো হিসেবে।