সংক্ষেপে, চিড়িয়াখানা আপনাকে বিতরণ অ্যাপ্লিকেশনগুলি তৈরি করতে সহায়তা করে।
কিভাবে এটা কাজ করে
আপনি চিড়িয়াখিপারকে চূড়ান্ত ধারাবাহিকতার সাথে একটি প্রতিলিপি সিঙ্ক্রোনাইজেশন পরিষেবা হিসাবে বর্ণনা করতে পারেন। এটি দৃust়, যেহেতু অবিচলিত ডেটা একাধিক নোডের মধ্যে বিতরণ করা হয় (নোডগুলির এই সেটটিকে "এনসেম্বেল" বলা হয়) এবং একটি ক্লায়েন্ট তাদের কোনওটির সাথে সংযুক্ত হয় (যেমন একটি নির্দিষ্ট "সার্ভার"), একটি নোড ব্যর্থ হলে স্থানান্তরিত হয়; যতক্ষণ না কঠোর সংখ্যাগরিষ্ঠ নোড কাজ করে ততক্ষণ জু-কিপ্পার নোডের জুড়িটি জীবিত। বিশেষত, একটি মাস্টার নোড গতিশীলভাবে উপস্থাপকের মধ্যে সম্মতি দ্বারা নির্বাচিত হয়; যদি মাস্টার নোড ব্যর্থ হয় তবে মাস্টারের ভূমিকা অন্য নোডে স্থানান্তরিত হয়।
লেখাগুলি কীভাবে পরিচালিত হয়
মাস্টার লেখার জন্য কর্তৃত্ব: এইভাবে লেখাগুলি যাতে ক্রমাগত স্থির থাকে তার নিশ্চয়তা দেওয়া যেতে পারে, অর্থাৎ লেখাগুলি রৈখিক হয় । প্রতিবার যখন কোনও ক্লায়েন্ট সমবেত হয়ে লিখেন, বেশিরভাগ নোড তথ্য অবিরত করে: এই নোডগুলি ক্লায়েন্টের সার্ভার এবং স্পষ্টতই মাস্টার অন্তর্ভুক্ত করে। এর অর্থ হ'ল প্রতিটি লেখাই সার্ভারকে মাস্টার দিয়ে আপ টু ডেট করে। তবে এর অর্থ এটিও হ'ল আপনার সমবর্তী লেখাগুলি থাকতে পারে না।
রৈখিক লেখার গ্যারান্টি হ'ল চিড়িয়াখানার লেখক-প্রভাবশালী কাজের চাপের জন্য ভাল পারফরম্যান্স না করার কারণ। বিশেষত, এটি বৃহত ডেটা, যেমন মিডিয়া বিনিময়ের জন্য ব্যবহার করা উচিত নয়। আপনার যোগাযোগে যতক্ষণ না ভাগ করা ডেটা জড়িত থাকে ততক্ষণ চিড়িয়াখানা আপনাকে সহায়তা করে। যখন ডেটা একসাথে লেখা যেতে পারে, চিড়িয়াখিপার আসলে পথে আসে, কারণ এটি লেখকদের দৃষ্টিকোণ থেকে কঠোরভাবে প্রয়োজন না হলেও এমনকি পরিচালনার কড়া আদেশ প্রদান করে। এর আদর্শ ব্যবহার হ'ল সমন্বয়ের জন্য, যেখানে ক্লায়েন্টদের মধ্যে বার্তাগুলি বিনিময় হয়।
পাঠগুলি কীভাবে পরিচালনা করা হয়
এখানেই চিড়িয়াখানার ছাড়িয়ে গেছে: ক্লায়েন্টের সাথে সংযোগ স্থাপন করা নির্দিষ্ট সার্ভারের মাধ্যমে সেগুলি পরিবেশন করা হয় reads যাইহোক, এটি চূড়ান্ত সামঞ্জস্যের কারণ: ক্লায়েন্টের "ভিউ" পুরানো হতে পারে, যেহেতু মাস্টার একটি সীমাবদ্ধ তবে অনির্ধারিত বিলম্বের সাথে সংশ্লিষ্ট সার্ভারটি আপডেট করে।
বিস্তারিত
চিড়িয়াখানার অনুলিপি করা ডাটাবেসে জোনোডের একটি গাছ রয়েছে , যা সুনির্দিষ্টভাবে ফাইল সিস্টেম নোডগুলিকে উপস্থাপন করে (এগুলি ডিরেক্টরি হিসাবে মনে করে) as প্রতিটি জোনোড বাইট অ্যারে দ্বারা সমৃদ্ধ হতে পারে, যা ডেটা সঞ্চয় করে। এছাড়াও, প্রতিটি জোনোডের এর অধীনে অন্যান্য জ্নোড থাকতে পারে, কার্যত অভ্যন্তরীণ ডিরেক্টরি সিস্টেম গঠন করে।
সিক্যুয়াল জেনোড odes
মজার বিষয় হল, একটি জোনোডের নামটি অনুক্রমিক হতে পারে , এর অর্থ হ'ল জোনোড তৈরি করার সময় ক্লায়েন্ট যে নামটি দেয় তা কেবল একটি উপসর্গ: পুরো নামটিও এনসেম্বল দ্বারা নির্বাচিত একটি ক্রমিক সংখ্যা দ্বারা দেওয়া হয়। উদাহরণস্বরূপ, সিঙ্ক্রোনাইজেশনের উদ্দেশ্যে এটি দরকারী: একাধিক ক্লায়েন্ট যদি কোনও সংস্থায় একটি লক পেতে চায় তবে তারা প্রত্যেকে একযোগে একটি স্থানে ক্রমিক znode তৈরি করতে পারে: যে সর্বনিম্ন নম্বর পায় সে লকটির অধিকারী হয়।
ইফিমেরাল জোনডস
এছাড়াও, একটি জোনোড ক্ষণস্থায়ী হতে পারে : এর অর্থ এটি তৈরি করা ক্লায়েন্টটি সংযোগ বিচ্ছিন্ন হওয়ার সাথে সাথে এটি ধ্বংস হয়ে যায়। এটি কখন ক্লায়েন্ট ব্যর্থ হয় তা জানার জন্য মূলত কার্যকর, যখন ক্লায়েন্টের নিজের কাছে নতুন ক্লায়েন্টের নেওয়া উচিত এমন দায়িত্বগুলি তখন প্রাসঙ্গিক হতে পারে। লকটির উদাহরণ গ্রহণ করে, ক্লায়েন্টটি লকটি সংযোগ বিচ্ছিন্ন হওয়ার সাথে সাথেই অন্যান্য ক্লায়েন্টরা লকটির অধিকারী কিনা তা পরীক্ষা করতে পারে।
ঘড়ি
ক্লায়েন্টের সংযোগ বিচ্ছিন্নতার সাথে সম্পর্কিত সমস্যাটি যদি সমস্যা হয় তবে আমাদের যদি পর্যায়ক্রমে জেডনডের পরিস্থিতি পোল করার প্রয়োজন হয়। ভাগ্যক্রমে, চিড়িয়াখানার একটি ইভেন্ট সিস্টেম দেয় যেখানে একটি জোনডে একটি ঘড়ি সেট করা যায়। যদি জোনডটি নির্দিষ্টভাবে পরিবর্তন করা হয় বা সরানো হয় বা এর অধীনে নতুন শিশু তৈরি করা হয় তবে এই ঘড়িগুলি কোনও ইভেন্ট ট্রিগার করতে সেট করা যেতে পারে। এটি znodes জন্য ক্রমিক এবং সাময়িক বিকল্পগুলির সাথে সম্মিলিতভাবে স্পষ্টভাবে কার্যকর।
কোথায় এবং কীভাবে এটি ব্যবহার করবেন
চিড়িয়াখানার ব্যবহারের একটি সাধারণ উদাহরণ বিতরণ করা হয় - মেমরি গণনা, যেখানে কিছু ডেটা ক্লায়েন্ট নোডের মধ্যে ভাগ করা হয় এবং সিঙ্ক্রোনাইজেশনের জন্য অ্যাকাউন্ট করার জন্য খুব সতর্কতার সাথে অ্যাক্সেস / আপডেট করতে হবে।
চিড়িয়াখানা আপনার সিঙ্ক্রোনাইজেশন আদিমগুলি নির্মাণের জন্য লাইব্রেরিটি সরবরাহ করে, যখন একটি বিতরণ করা সার্ভার চালানোর ক্ষমতা আপনার কেন্দ্রীভূত (ব্রোকারের মতো) বার্তা সংগ্রহস্থল ব্যবহার করার সময় থাকা একক পয়েন্ট-অফ-ব্যর্থতার সমস্যাটিকে এড়িয়ে চলে।
চিড়িয়াখানা হ'ল বৈশিষ্ট্যযুক্ত, অর্থাত্ নেতৃত্বের নির্বাচন, তালা, বাধা ইত্যাদির মতো প্রক্রিয়া ইতিমধ্যে উপস্থিত নেই, তবে চিড়িয়াখানা চিঠিপত্রের উপরে লেখা যেতে পারে। যদি সি / জাভা API আপনার উদ্দেশ্যে খুব জবরজং হয়, তাহলে আপনি যেমন ZooKeeper নির্মিত লাইব্রেরি উপর নির্ভর করা উচিত নয় খাঁচা এবং বিশেষ করে কিউরেটর ।
কোথায় আরও পড়তে হয়
অফিসিয়াল ডকুমেন্টেশন ছাড়াও, যা বেশ ভাল, আমি হ্যাডোপের অধ্যায় 14 পড়ার পরামর্শ দিই : ডিফিনিটিভ গাইডে ~ 35 পৃষ্ঠা রয়েছে যা জুকিপার কী করে তা মূলত ব্যাখ্যা করে যা একটি কনফিগারেশন পরিষেবার উদাহরণ অনুসরণ করে।