بعض التعلم والتفكير رديس الموزعة قفل توزيع مبدأ قفل، قفل حارس الحديقة توزيعها

وزعت لأول مرة قفل وقفل المبدأ نحن عادة تحدث عن نفسها أساسا، والغرض من ذلك هو ضمان أنه عندما مواضيع متعددة في وقت واحد، موضوع واحد فقط في نفس اللحظة العملية أو أساليب العمل، والمتغيرات.

في عملية واحدة، وهو JVM أو التطبيق، فإنه من السهل التحكم في العمليات، وجدك لم تقدم عقد java.util لنا لقفل هذه الأساليب، مثل تزامن مفتاح قفل أو القفل، يمكنك المعالجة.

لكننا بصدد نشر الآن الطلب إذا ملقم واحد فقط، وهذا التزامن والفقراء، وإذا كان لديك الآلاف من طلبات في نفس الوقت فمن المرجح أن يسبب خادم للضغوط، والشلل.

هل تعتقد مزدوج 31 وعشرة فرع مساء سيناريوهات حزمة فو Baohong الأعمال التجارية، والحاجة الطبيعية لاستخدام خوادم متعددة في وقت واحد إلى التعامل مع هذه الخدمات، قد تكون هذه الخدمات المئات من المعالجة في وقت واحد،

ولكن هل نحن نفكر في ذلك، إذا كان هناك 100 الملقمات لمعالجة حزمة مكافأة الأعمال الآن تحمل 100 مليون المغلفات إلى 10 مليون نقطة الفردية، ومقدار عشوائي، ثم وهذا سيناريو العمل ليس من الضروري ضمان 10000000 مبلغ المغلف الأحمر يساوي مجموع نقاط الفردية الماضية 100 مليون دولار.

إذا لم يتم التعامل معها بشكل صحيح ~~ تعيين كل واحد مليون نسمة، وتشير التقديرات إلى أن السنة الجديدة يوم ما يا أبي، عليك أن الإفلاس تعلن ~~

1، وقفل التقليدية تسبب ماذا؟

نتحدث أولا عن السبب في أننا الانخراط في مجموعات وبسيطة لفهم، والطلب (طلب التزامن) لتصبح أكبر، وقوة المعالجة محدودة من العمال، فإنه توظيف المزيد من العمال للتعامل مع عدد.

يتم توزيع 10 ملايين طلبات افتراض بالتساوي عبر ملقمات 100، يتلقى كل خادم على طلب و10W (والذي هو ليس طلبا إلى 10W في نفس الثانية، قد يكون في 1،2 ساعة، يمكن أن نفكر في ثلاثة 22:00 المغلفات مفتوحة لتبدأ حتى 10.20، وبعض الناس طار مفتوحة، وبعض الناس لا أن تنتظر حتى 12:00، وعلينا التفكير في الأمر ~)

وإذا حدث ذلك، طلب في المتوسط كل ثانية منه أقل من ألف، وهذا الضغط هو عموما الخادم أو يمكن تحمله.

بعد وصول الطلب الأول، والحاجة ليست هناك لمنحه 100 مليون في جزء فرعي من المال، وكمية عشوائي، على افتراض أن الشخص الأول المعين إلى 100، فإنه ليس إلى ناقص 100 في هذه 100 مليون دولار، ما تبقى من 99999900 ~

المستخدم الثاني الساعات المقبلة، ومقدار من عشوائية، وشبه 200، فإنه ليس على ضرورة طرح 20099999900 المتبقية في ما تبقى من 99999700.

10W لانتظار المستخدم الأول، فضلا عن 1000W نظرة، 1000W وأن هذا كله في بلده.

كل بمثابة الخادم إلى 100 مليون دقيقة، وهو المستخدمين دون 10W مليار و آخر ما مجموعه 100 خوادم، إلى 10 مليار دقيقة.

إذا كنت حقا مثل ذلك، وعلى الرغم من أن ما أبي لن تفلس (ما وفقا لأحدث الإحصاءات أن هناك 230 مليار يوان)، وأن فريق تطوير حزمة مكافأة، ومديري المنتجات، ويمكن للGG ~

هيكل مبسط كما يلي:

2، وزعت قفل كيفية التعامل معها؟

وذلك من أجل حل هذه المشكلة، وذلك فقط 10 مليون مستخدم 100 مليون دقيقة، بدلا من 10 مليار دولار، وهذه المرة توزيع القفل لطرحه للاستخدام.

وزعت قفل يمكن أن تضع سيتم اعتبار الكتلة بالكامل كتطبيق على المقبض، ثم انها تحتاج القفل لتكون مستقلة عن كل خدمة، وليس في داخل الخدمة.

بعد نفترض أن يتلقى الخادم الأول طلب المستخدم هو 1، ثم هذا الوقت، وقال انه لم يكن فقط في تطبيقها لتحديد مقدار المال يمكن تقسيمها، والحاجة إلى إدارة طلبات الخارجية المسؤولة عن 100 مليون شخص المغلف الأحمر (الخدمة)، وطلبت منه: مهلا، أنا هنا لنقاط 100، 100 بالنسبة لي.

إدارة شقيقة الأحمر (خدمة) نظرة، هناك مليون حسنا، لتعطيك 100، ثم ما تبقى من 99999900.

بعد وصول الطلب الثاني، وتستحوذ على الخادم 2، والاستمرار في طرح وإدارة شقيقة الأحمر، جانبي إلى 10 نقطة، وإدارة شقيقة الأحمر التحقق أولا تحت الانقاض 99999900، قال: حسنا، لتعطيك 10 كتلة. أن يترك 99999890

بعد وصول أول حتى 1000W الطلب، طلب الخادم 100 للحصول على، والاستمرار في طرح وإدارة شقيقة الأحمر، لديك إلى 100، شقيقة توالت عينيه وقال لك، لدينا واحدة فقط، والحب ليفعل ذلك هذه المرة وأستطيع أن أعطي لكم فقط ما يصل (أيضا من المال، وشراء الشريط الساخن أو يمكن الجذر).

هذه الطلبات لا تمثل تسلسل أرقام 1 و 2 و اعدموا تحت المشهد الرسمي، يجب أن يكون 100 خادم كل خادم يحمل طلبا لزيارة شقيقة المسؤول عن إدارة مظروف أحمر (خدمة)، وهذا الأنبوب في نفس الوقت سيكون هناك شقيقة المغلف الأحمر وتلقت 100 طلب، هذه الحاجة الوقت في الشقيقة المسؤول عن مظاريف حمراء هناك بالإضافة إلى تأمين على ذلك (رمي الكوبية)، وتحصل على الخادم 100 الذي قفل (انتزاع كوبية)، الذي سيأتي في والحديث بالنسبة لي، أعطي المزيد من النقاط، والبعض الآخر ينتظر للذهاب

بعد العلاج من قفل توزيع أعلاه، أعفي ما الده، قرر فريق لتقديم مظاريف حمراء للشخص الواحد بالإضافة إلى الساق الدجاج.

هيكل مبسط كما يلي:

3، لتحقيق قفل الموزعة ماذا؟

عندما يتعلق الأمر بتنفيذ أقفال الموزعة، لا يزال هناك الكثير، هناك قاعدة بيانات الطريق، وهناك رديس توزيع قفل، وهناك حارس الحديقة قفل توزيع الخ

وإذا استخدمنا رديس كما قفل الموزعة، ثم الصورة أعلاه سلبية "مظاريف حمراء شقيقة مسؤولة (خدمة)"، يمكنك استبدال رديس، وتشكل الدماغ الخاصة بك.

3.1 لماذا رديس توزيع قفل يمكن أن يتحقق؟

رديس الأولى هي ترابط واحد، واحد الخيوط هنا يشير إلى الشبكة باستخدام وحدة نمطية طلب موضوع (حتى الأمان دون النظر في التزامن)، أي خيط للتعامل مع جميع طلبات الشبكة، لا تزال وحدات أخرى مع تعدد المواضيع.

في التشغيل الفعلي، والعملية عموما مثل هذا:

1 مظاريف حمراء الخادم الذهاب لزيارة أختي، وهذا هو، رديس، ثم قال انه سوف كتبها رديس في "setnx مفتاح قيمة" مجموعة العمل إلى مفتاح، قيمة ليست مهمة المهم هو أن يكون المفتاح، الذي هو علامة وJiaosha Jiaosha رئيسيا تحب، طالما أن المفتاح هو نفس كل إعدادات الخادم يمكن أن يكون.

لنفترض أن لدينا مجموعة، كما في الشكل.

لذلك يمكننا أن نرى أن سيعود 1، لأنها تمثل نجاحا.

إذا طلب لضبط مرة أخرى نفس المفتاح، كما هو مبين أدناه:

هذه المرة سيعود 0، فإنه يمثل الفشل.

ثم يمكننا أن نذهب من خلال هذه العملية لا يتم الحكم على التيار يمكن الحصول على تأمين، أو كان الوصول إلى "مظاريف حمراء شقيقة مسؤولة،" اذا عاد 1، ثم بدأت في تنفيذ وراء المنطق، إذا فإنها ترجع 0، ثم وأوضح أنه تم المحتلة، سأستمر في الانتظار.

عندما يكون الملقم للحصول على قفل، اكتمال عملية تجارية، تحتاج أيضا إلى تحرير القفل، كما هو مبين أدناه:

حذف يعود بنجاح 1، ثم الملقم الآخر يمكن أن تستمر في تكرار الخطوات السابقة لتعيين هذا المفتاح، من أجل تحقيق الغرض من الحصول على القفل.

وبطبيعة الحال، ويتم العملية المذكورة أعلاه بشكل مباشر في العميل رديس، من خلال برنامج يسمى، ثم بالتأكيد لا يمكنك إرسال حتى، مثل jedis جافا الحاجة إلى دعوة، ولكن العملية برمتها هو نفس المنطق الأساسي

، ويبدو من خلال الطريقة المذكورة أعلاه علينا أن حل مشكلة القفل توزيعها، ولكن أعتقد أن هناك أي مشكلة؟ ؟

نعم، فإن المشكلة لا تزال هناك، قد يكون هناك تحدث حالة توقف تام، مثل بعد إعداد الملقم 1، بعد الحصول على قفل، وقعت فجأة التوقف.

ومن شأن ذلك أن عملية المتابعة لا تكون قادرة على أداء مفتاح الحذف، فإن هذا المفتاح موجودا دائما في رديس، والآخر للتحقق الخادم في كل مرة، سيعود 0، فإنها تعتقد أن أحدا ما يستخدم قفل، ولست بحاجة للانتظار.

لحل هذه المشكلة الجمود، نحن بحاجة إلى تعيين مفتاح صالح.

هناك طريقتان لتعيين

1، يتم الانتهاء من المجموعة الأولى بعد المفتاح، مفتاح مباشرة صالحة "تنتهي المهلة الأساسية"، وتحديد مهلة للمفتاح، هو وحدة ثانية، وأكثر من هذا الوقت سوف تطلق تلقائيا قفل، إلى طريق مسدود تجنب.

وبهذه الطريقة، أي ما يعادل عقدت أقفال صالحة، سلمت إلى رديس السيطرة. إذا كان الوقت هو ما يصل، لا تعطيني مفتاح الحذف، ثم رديس حذف ستعطي لكم مباشرة، لا يمكن للملقم آخر يواصل اكتساب setnx القفل.

2، والطريقة الثانية هي لحذف حق المفتاح إلى ملقم آخر، فإن هذا الوقت تحتاج إلى استخدام القيمة قيمة،

على سبيل المثال، والخادم 1، يتم تعيين القيمة إلى الوقت الحالي + 1 المهلة الثانية، وهذه المرة من خادم 2 الحصول جدت الوقت قد تجاوز الوقت النظام الحالي، فإنه يدل على الخادم 1 لا يعفي القفل، والخادم 1 قد يكون هناك مشكلة،

2 الخادم بدأت عملية مفتاح الحذف، وتستمر لإجراء العملية setnx.

ولكن هذا لديه مشكلة، وهذا هو، وليس فقط قد تجد أن الملقم 21 الخادم مهلة، الملقم 3 قد تجد أيضا، إذا فقط، والخادم 2، عملية setnx كاملة، سيقوم الملقم ثم حذف 3، هو أيضا ليس على الملقم 3 setnx تكون ناجحة؟

وسيكون بمثابة 2 Server و 3 خادم وقد حصلت يحبس، بل هو مشكلة كبيرة. هذه المرة كيف نفعل ذلك؟

هذا وقت الحاجة لاستخدام الأوامر "GETSET قيمة المفتاح". هذا الأمر الوسائل التي للحصول على قيمة المفتاح الحالي، وتعيين القيمة الجديدة.

على افتراض انتهاء يجد مفتاح الخادم 2، بدأ يدعو قيادة getset، ثم الوقت الذي يستغرقه لتحديد ما إذا تنتهي، إذا كان اكتساب الوقت ما زال متاحا منتهية الصلاحية، فإنه يظهر أن حصلت على تأمين.

إن لم يكن، ثم قبل تنفيذ خدمة getset 2 و 3 قد تجد أيضا صلاحية قفل الخادم، وتنفيذ عمليات getset قبل خادم 2، إعادة تعيين وقت انتهاء الصلاحية.

سيقوم الملقم 2 تحتاج إلى التخلي عن العمليات اللاحقة، واصل الانتظار 3 الخادم للافراج عن قفل أو مفتاح لمراقبة صحة قد انتهت صلاحيتها.

في الواقع، هناك قطعة صغيرة من المشكلة هو أن الملقم 3 نقحت تاريخ انتهائها، تحصل بعد الأقفال، 2 الخادم، تعديل تاريخ انتهاء الصلاحية، ولكن لم تحصل على القفل، ولكن هذه الفترة من الزمن كان هناك أساس لملقم 3 إضافة بعض، ولكن هذا التأثير هو في الواقع صغيرة جدا، تكاد لا تذكر.

3.2 لماذا حارس الحديقة قفل وزعت يمكن تحقيقه؟

وهكذا وصف بايدو ويكيبيديا: حارس الحديقة هي خدمة التنسيق مفتوح المصدر وزعت التطبيقات الموزعة، السمين جوجل هو تنفيذ المصدر المفتوح، هو عنصر هام من عناصر Hadoop وHbase.

للمرة الأولى أن الناس ونحن نعرف، يمكن أن يفهم على أنه حارس الحديقة مثل نظام الملفات جهاز الكمبيوتر الخاص بنا، ونحن يمكن أن تخلق مجلد في القرص د، ويمكن أن تستمر لإنشاء مجلدات A1، A2 في مجلد.

هذا النظام ملفنا ما هي خصائصها؟ ؟ التي لا يمكن تكرار نفس اسم الملف في دليل، وينطبق الشيء نفسه على حارس الحديقة.

في كل عقد حارس الحديقة، وهو مجلد يسمى Znode، وهذه العقدة Znode التي يمكن تخزين البيانات.

نحن يمكن إنشاؤها بواسطة "إنشاء / zkjjj لطيفة" عقدة، يقول الأمر، وخلق عقدة في zkjjj مع الدليل، والقيمة هي لطيفة. نفس القيمة هنا، وقلت رديس السابقة في معنى كما يمكنك التحدث.

وبالإضافة إلى ذلك يمكن أن حارس الحديقة إنشاء أربعة أنواع من العقد، وهما:

1، والعقدة مستمرة

2، من اجل العقد الثبات

3، عقدة مؤقتة

4، أمر مؤقت من العقد

أولا، أن الفرق بين العقدة المقبل والعقد مؤقتة الثابتة، العقدة المستمرة التي طالما قمت بإنشائه العقدة، ثم لا يهم ما إذا كنت يتم قطع العميل حارس الحديقة، خادم حارس الحديقة سوف يسجل هذه العقدة.

عقدة مؤقتة هي عكس ذلك تماما، بمجرد قطع العميل حارس الحديقة، ذلك الملقم حارس الحديقة سوف لم يعد حفظ هذه العقدة.

وعلاوة على ذلك بأمر من العقد، وبأمر من وسائل عقدة عند إنشاء العقد، حارس الحديقة تلقائيا إلى عدد عقدة، مثل 0000001، 0000002 هذه.

وقال أخيرا، حارس الحديقة لديها آلية الاستشعار عن بعد، سجلات العميل المستمع عقدة الدليل، فإنها تشعر بالقلق عندما تغير الدليل عقدة (يتم حذف البيانات تغيير أو حذف الزيادات عقدة الدليل الفرعي) وغيرها، حارس الحديقة سوف يخطر العميل.

نحن هنا لمواصلة الجمع لدينا أعلى مكافأة المشهد الحزمة، يصف كيفية جني في حارس الحديقة.

على افتراض خادم 1، خلق عقدة / zkjjj، بنجاح، أن الملقم 1 إلى الحصول على قفل، والخادم 2 مرة أخرى تخلق نفس القفل، ثم خسر هو، وهذه المرة انه يمكن رصد التغيرات في العقدة فقط.

الانتظار حتى بعد الخادم 1، مع الانتهاء من الأعمال التجارية، وحذف عقدة، وقال انه سوف يكون على علم، وبعد ذلك لخلق نفس العقدة، للحصول على تجهيز الأعمال القفل، ثم عقد الحذف والمتابعة من 100 ملقمات مع تشبه

علما بأن الخادم 100 ليس واحدا تلو الآخر لإجراء عملية لإنشاء العقد أعلاه، ولكن بالتزامن، عند إنشاء الملقم بنجاح، و99 المتبقية سيتم تسجيل لمراقبة العقدة، مثل الإخطارات، وهلم جرا.

ولكن لم تلاحظوا، لا تزال هناك مشكلة، أو لن يكون هناك وجود حالة توقف تام، أليس كذلك؟

عندما عقدة خادم 1 يخلق التعلق، لم أكن حذف هذا خوادم أخرى كان يمكن أن يكون 99 إخطارات من هذا القبيل، حيث أنه أنهى. . .

هذا الوقت لذلك، تحتاج إلى استخدام عقدة مؤقتة، وقلنا في وقت سابق، وخصائص عقدة مؤقتة هو العميل بمجرد فصله، وأنها سوف تضيع، وهذا هو، عندما يكون الملقم 1 يخلق عقدة، إذا ما يصل معلق.

ثم سيتم حذف هذه العقدة تلقائيا، بحيث ملقم إضافية لاحقا، يمكنك الاستمرار في إنشاء العقد، تخوض الوصول.

ولكننا قد تريد أيضا أن نلاحظ أن النقطة الهادرة تأثير القطيع: إعطاء مثال بسيط جدا، عند رمي قطعة من المواد الغذائية لمجموعة من الحمام المتوسطة، على الرغم من أن في نهاية المطاف سوى الطعام حمامة الاستيلاء، ولكن سوف يتم تنبيهك عن الحمام للقتال، لا الاستيلاء على ..

عندما يكون الملقم التغييرات عقدة، فإنه سيتم إبلاغ بقية الملقمات 99، ولكن في النهاية سيتم إنشاء ملقم واحد فقط، لذلك 98 لا تزال بحاجة إلى الانتظار للاستماع، ثم من أجل التعامل مع هذا الوضع، نحن بحاجة إلى استخدام أمر مؤقت من العقد

يعني تقريبا، قبل كافة ملقمات 99 الاستماع على عقدة، كل خادم يستمع الآن على عقدة أمام نفسه.

على افتراض 100 الخوادم في الوقت نفسه أرسلت طلبا، وهذه المرة خلق 100 أمر مؤقت من عقدة / zkjjj / 000000001 و/ zkjjj عقدة، / zkjjj / 000000002، حتى / zkjjj / 000000100، سيكون بمثابة أعطت هذا العدد منهم مجموعة ترتيب الحصول على القفل.

أصحاب جيا ليست قادرة على سيرا على الأقدام؟ ! كل من الأردن الهواء 3 للبيع للعديد نادرة رهيبة!

استنادا التمهيد الربيع jseckill الكهرباء المورد نظام ارتفاع

رجل عجوز مريض لنتطلع إلى العام الجديد فقط للأطفال في العودة الى الوطن

"يان شى غزاة" بطولة نوبة الجماعة، TVB "قصة الجانب" خاتمة تخريبية

كيا K5 PHEV السعر المدعوم من 18،98-20680000، أو محض الكهربائية التحمل 75km

Jingdong العقارات هنا! بعد إيداع الإيجار المجاني، والمالك يمكن أن تعطي التهديف، في وقت لاحق تستخدم أيضا لشرائه؟

لم إلين ميلاده أمس لا تنتظر "خادمة" نعمة ولكن حتى هذه الصورة

2018 تشنغدو للسيارات: جيب جراند شيروكي Trailhawk

الربيع والصيف العليا سلسلة بيعت العد التنازلي! وحصل على عدد قليل من الاستيلاء على منتج واحد المتبقي؟

بعض التعلم والتفكير رديس الموزعة قفل توزيع مبدأ قفل، قفل حارس الحديقة توزيعها

هذه الليلة، قبل TVB الدراما من هذه التحية المهنية لك!

الفا روميو جوليا 349800 من بيع طبعة محدودة