জাভাতে কীভাবে অতি স্কেলযোগ্য ওয়েব পরিষেবাদি ডিজাইন করবেন?


15

আমি এমন কিছু ওয়েব পরিষেবাদি তৈরি করছি যা ২০০০ সহবর্তী ব্যবহারকারী থাকবে। পরিষেবাগুলি নিখরচায় দেওয়া হয় এবং সেহেতু একটি বৃহত ব্যবহারকারীর বেস পাওয়ার আশা করা যায়। ভবিষ্যতে এটি 50,000 ব্যবহারকারী পর্যন্ত স্কেল করা প্রয়োজন হতে পারে।

ইতিমধ্যে আরও কয়েকটি প্রশ্ন রয়েছে যা এই সমস্যাটিকে সম্বোধন করে - /programming/2567254/building-highly-scalable-web-services

তবে আমার প্রয়োজনীয়তা উপরের প্রশ্ন থেকে পৃথক।

উদাহরণস্বরূপ - আমার অ্যাপ্লিকেশনটির কোনও ব্যবহারকারী ইন্টারফেস নেই, তাই চিত্র, সিএসএস, জাভাস্ক্রিপ্ট কোনও সমস্যা নয়। এটি জাভাতে তাই পিএইচপি স্থানীয় ভাষায় অনুবাদ করার জন্য হিপহপ ব্যবহার করার মতো পরামর্শগুলি অকেজো।

তাই আমি আমার প্রশ্নটি আলাদাভাবে জিজ্ঞাসা করার সিদ্ধান্ত নিয়েছি।

এটি আমার প্রকল্পের সেটআপ -

  1. অ্যাপাচি সিএক্সএফ ব্যবহার করে বিশ্রাম ভিত্তিক ওয়েব পরিষেবাদি
  2. হাইবারনেট 3.0 (আলস্য লোডিং এবং টিউন আপের জন্য কাস্টম এইচকিউএল এর মতো প্রাসঙ্গিক অপ্টিমাইজেশান সহ)
  3. টমক্যাট 6.0
  4. মাই এসকিএল 5.5

একটি জাভা ভিত্তিক অ্যাপ্লিকেশনকে মাপশালী করার জন্য মেনে চলার সর্বোত্তম অনুশীলনগুলি কী কী?


আপনি যদি কোনও আরইএসটি পরিষেবা উন্মোচন করে থাকেন তবে বার্নিশের মতো বিপরীত প্রক্সি ব্যবহার করা এক বিরাট চুক্তিতে সহায়তা করবে। ডেটা কতটা তাজা হওয়া দরকার? আপনি কি নিশ্চিত যে আপনার একটি সম্পর্কিত ডেটাবেস প্রয়োজন? আপনি কি ডেটা পার্টিশন করতে পারবেন? যে প্রযুক্তি স্ট্যাকটি আপনি বর্ণনা করছেন তার সাথে আমি যতটা সম্ভব অনুরোধগুলি আসলে আপনার শেষ পয়েন্টে পৌঁছেছে তা নিশ্চিত করার দিকে মনোনিবেশ করব। আপনি কি হ্যাজেল কাস্ট / গিগাস্পেস ইত্যাদি সমাধান সহ এই মেমরিটি করতে দেখেছেন?
ইব্যাক্সট

@ebaxt আপনার পরামর্শের জন্য ধন্যবাদ। গিগা স্পেসগুলি ওপেনসোর্স বলে মনে হচ্ছে। তবে হ্যাজেল castালাই আকর্ষণীয় দেখাচ্ছে।
ক্ষিতাইজ শর্মা

1
@ebaxt "আপনি কি নিশ্চিত যে আপনার একটি সম্পর্কিত ডেটাবেস প্রয়োজন?" নোএসকিএল গ্রহণের ক্ষেত্রে অ্যাপ্লিকেশন আর্কিটেকচারে কঠোর পরিবর্তন হবে। আমরা জটিলতা সর্বনিম্ন রাখার চেষ্টা করছি। ব্যয় যদিও আমাদের জন্য একটি বিষয় নয়। সুতরাং আমরা আপেক্ষিক পদ্ধতির সাথে থাকব।
ক্ষিতাইজ শর্মা

1
আপনি পোস্টগ্রিস, মাইএসকিউএল বা যা যা ব্যবহার করতে পারেন। আপনার অবকাঠামো সম্পর্কে কি? আপনি কি ডিস্ক-অ্যারে ব্যবহার করতে পারেন? সার্ভারগুলি কি একই স্থানে হোস্ট করা আছে? আপনি কি আপনার ক্লাস্টারকে হার্টবিট ইত্যাদির সাথে সংযুক্ত করতে পারবেন? আপনি কি তাদের একই সাবনেটে রাখতে পারেন?
এজেড করুন

1
আমিও একজন প্রোগ্রামার। তবে যদি আপনার সম্পর্কিত ডেটাবেস বাধা হয় তবে আপনি এই প্রশ্নগুলি শেষ করতে পারেন। বাজারে এমন কিছু ডাটাবেস রয়েছে যা কিছু পরিস্থিতিতে অন্যের চেয়ে ভাল সম্পাদন করে। তবে তারা ভিন্ন ভিন্ন ডিফল্ট লেনদেনের বিচ্ছিন্নতা স্তর এবং আশাবাদী
কনকুরન્સી

উত্তর:


8

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

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

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

এছাড়াও আপনাকে অবশ্যই বুঝতে হবে কোন 2000 সহবর্তী ব্যবহারকারী - এর অর্থ কি এই যে 2000 ব্যবহারকারী আপনার সার্ভারটি একবারে অ্যাক্সেস করছে, বা তারা কি আপনার সিস্টেমটি ব্যবহার করছে? যেখানে 2000 জন ব্যবহারকারী আপনার সার্ভারে একটি সকেট খোলার চেষ্টা করে এবং ক্লায়েন্টের পক্ষ থেকে ইনপুট পূরণের ক্ষেত্রে বর্তমানে 500 জন এবং 1500 ফলাফলের দিকে তাকিয়ে রয়েছে তার মধ্যে পার্থক্য করুন ish

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

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

যদি সম্ভব হয় তবে ক্লায়েন্টের সাইড ক্যাচিং এবং বৈধতা বিবেচনা করুন, সার্ভারে কলগুলি সংরক্ষণ করার চেষ্টা করুন এবং একই প্যারামিটারের সাথে অনুরোধের জন্য আপনার প্রতিক্রিয়াটির বেশিরভাগ পরিবর্তন না হয় সে ক্ষেত্রে কেবলমাত্র ডেটার পার্থক্য প্রেরণ করুন।
উদাহরণস্বরূপ, oVirt ওপেন সোর্স প্রকল্পে আমরা প্রদত্ত ভার্চুয়াল মেশিনের পরিসংখ্যান পাওয়ার জন্য অনুরোধ করছি। ভিএম এর কিছু ডেটা খুব কমই পরিবর্তিত হয়, সুতরাং আমরা কেবল তার MD5 প্রেরণ করি, যদি ডেটা পরিবর্তিত হয় MD5 এর মানটিও পরিবর্তন করা হয়, আমরা কেবল MD5 নয়, সম্পূর্ণ ডেটা পাওয়ার জন্য একটি অনুরোধ সম্পাদন করি।

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

আপনার ডাটাবেসটি বুদ্ধিমানের সাথে সূচক করুন এবং সঠিক ডিবি স্কিম ব্যবহার করুন। স্টোরেজ পদ্ধতিগুলির একটি স্তর ব্যবহার করার কথা বিবেচনা করুন কারণ সেগুলি পূর্বনির্ধারিত এবং অনুকূলিত হয়েছে

আমি বলতে চাই যে অতীতে, আমি মাইএসকিএল-তে একটি সিস্টেমের (একক নোড) (বেশিরভাগই কেবল পঠনযোগ্য অ্যাক্সেস) jboss 4.2.1 এর সাথে ডিল করেছি এবং 2000 সহবর্তী ব্যবহারকারীদের কাছে পৌঁছাতে সক্ষম হয়েছি
(2000 সকেটগুলির বিপরীতে একবারে অ্যাক্সেস না করা) আমাদের সার্ভার), তবে আমাদের সিস্টেমটি ব্যবহার / ব্রাউজ করা, জেবস ক্যাশে ব্যবহার করে এবং ক্যাশে প্রাইসলোড করা সর্বাধিক অ্যাক্সেসিত ডেটা বা আমরা যে ডেটা বুঝতে পেরেছিলাম তা "হট এবং জনপ্রিয়" হতে চলেছে তবে আমাদের সমাধানটি আমাদের আর্কিটেকচার এবং আমাদের প্রবাহের জন্য ভাল ছিল was ,
সুতরাং আমি এই ক্ষেত্রে যেমন বলেছি -
আরও টিপস এবং কৌশল রয়েছে তবে এটি সত্যই আপনার আর্কিটেকচারের উপর নির্ভর করে এবং আপনার সিস্টেমে আপনার কী প্রবাহের প্রয়োজন। শুভকামনা!


আমি সঞ্চিত প্রকল্পগুলি বাদে সম্মত, সঞ্চিত প্রকল্পগুলি ব্যবহার করবেন না। এবং থ্রেডসেফ তৈরি করতে আপনি একযোগে হ্যাশম্যাপ এবং পারমাণবিক মান ব্যবহার করতে পারেন
নিমচিম্পস্কি

3

ভাল প্রশ্ন. কোনটি সর্বোত্তম পদ্ধতির তা সম্ভবত বলা শক্ত, তবে আমার অভিজ্ঞতা থেকে চেষ্টা করবে।

জাভা ভিত্তিক ওয়েব অ্যাপ্লিকেশন স্কেল করার সর্বোত্তম উপায় হ'ল এটিকে যতটা সম্ভব রাষ্ট্রবিহীন লিখিত (যদি আপনি পারতেন)। এটি আপনাকে অনুভূমিকভাবে অ্যাপ্লিকেশনটি স্কেল করতে দেয়, যেখানে আরও সহবর্তী ব্যবহারকারী থাকলে আপনি টমক্যাট সার্ভার যুক্ত করতে পারেন।

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

 Are there faster alternatives to Mysql?

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

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

মাল্টি সার্ভার পরিবেশে লোড বিতরণ সম্পর্কিত, আমি আপনাকে লোড ব্যালেন্সিংয়ের জন্য অ্যাপাচি ব্যবহার করার চেয়ে লোড ব্যালেন্সার ব্যবহার করার পরামর্শ দেব।


"আমি আপনাকে ভার ভারসাম্যের জন্য অ্যাপাচি ব্যবহার করার চেয়ে লোড ব্যালেন্সার ব্যবহার করার পরামর্শ দিচ্ছি" অ্যাপাচি না হলে আপনি কোন পদ্ধতির / সফ্টওয়্যারটির পরামর্শ দিবেন?
ক্ষিতাইজ শর্মা

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

আমরা একই কাজ করতে httpd সহ একটি ডেডিকেটেড সার্ভার ব্যবহার করছি। হার্ডওয়্যার একটি সমস্যা নয়।
ক্ষিতাইজ শর্মা

আমি সঠিকভাবে মনে রাখলে আপনি httpd এবং mod_cluster ব্যবহার করতে পারেন। আমি সাবধানে mod_cluster "Overkill" হার্ডওয়্যার পাউণ্ড, সমাধান পরীক্ষণ আগে httpd 'র এবং যাবার আগে বিবেচনা করবে

@ জাস্কে - আপনি সম্ভবত ঠিক বলেছেন যে হার্ডওয়্যার লোড ব্যালান্সার সম্ভবত ওভারকিল। তবে আপনার যদি স্কেল করা দরকার, তবে আরও সার্ভার যুক্ত করে এটি করা সহজ।

2

আমি বর্তমানে একটি অনুরূপ সিস্টেম স্থাপন করছি (পেশাদার পর্যায়ে) এবং এটি আমি বেছে নিয়েছি এমন নকশা:

  • দুটি এনগিনেক্স লোডবালেন্সার (উভয় সক্রিয়, অন্যটির জন্য উভয়ই ব্যর্থতা, ডিএনএস রাউন্ড রবিনের সাথে ভারসাম্যপূর্ণ)
  • মাস্টার মাস্টার প্রতিলিপি মোডে দুটি মাইএসকিউএল ডেটাবেস
  • টমক্যাট ক্লাস্টার হিসাবে দুটি টমকেট দৃষ্টান্ত
  • টমক্যাট ক্লাস্টারের জন্য ক্যাচিং এবং সেশনের স্থিতি ভাগ করে নেওয়ার জন্য দুটি মেমক্যাচড দৃষ্টান্ত

এটি একটি নিরর্থক, উচ্চ প্রাপ্যতা, স্কেলযোগ্য সমাধান অর্জন করবে।

লোডবালেন্সারগুলি (শালীন হার্ডওয়্যারে) সহজেই প্রতিটি একটি স্যাচুরেটেড 1 গিগাবাইট লাইন লোডবালেন্স করবে। এটি এসএসএল অফলোডিংয়ের জন্যও দুর্দান্ত জায়গা।

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

টমক্যাট ক্লাস্টারিংয়ে মেমক্যাচড ব্যবহার না করে রিয়েল টাইমে ক্লাস্টারের মধ্যে সেশন তথ্য ভাগ করে নেওয়ার বিকল্প রয়েছে। যদিও আমি পারফরম্যান্স বুদ্ধিমান মনে করি, মেমক্যাচড ব্যবহার করা আরও ভাল হবে।

আপনার যদি এই অ্যাপ্লিকেশনগুলির কোনওটিতে আরও পাওয়ার প্রয়োজন হয়:

  • এনগিনেক্স: আরও লোডবালেন্সার যুক্ত করুন, যদিও আমি মনে করি না যে খুব শীঘ্রই এটি অচল হয়ে যাবে।
  • টমক্যাট: আপনি সহজেই টমক্যাট ক্লাস্টারের আকার বাড়াতে বা আরও ক্লাস্টার যুক্ত করতে পারেন
  • মাইএসকিএল: কিছু পঠনযোগ্য কেবল ক্রীতদাস যুক্ত করুন বা ক্লাস্টারের আকার বাড়ান (আপনার প্রয়োগের উপর নির্ভর করে তবে আপনি যেহেতু একটি রেস্ট-ভিত্তিক অ্যাপ্লিকেশন লিখেছেন তাই সমস্যা হওয়া উচিত নয়)
  • মেমক্যাচড: আরও নোড যুক্ত করুন, মেমক্যাচড স্কেলগুলি আমি বিশ্বাস করি well

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

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

যদি আপনি এই প্রক্রিয়া চলাকালীন একই পারফরম্যান্স পরীক্ষা চালিয়ে যান, আপনি নিজের জন্য দেখতে পারেন যে যদি আপনার সেটআপে ওয়াই ব্যবহার করার চেয়ে এক্স ব্যবহার করা ভাল হয় , বা ক্যাশিংয়ের কী প্রভাব ফেলবে ইত্যাদি using

শেষ অবধি, এর মতো একটি সেটআপ আপনার অ্যাপ্লিকেশন এবং এর ক্লায়েন্টগুলির প্রয়োজনীয়তার উপর নির্ভর করে, সবকিছু তার নিজস্ব শক্তি এবং দুর্বলতাগুলির সাথে বিভিন্ন উপায়ে করা যায়।

আর কোন প্রশ্ন?

শুভকামনা!

ওয়েসলি



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