Lotou هو إطار خفيف الوزن لخادم اللعبة الذي تم تنفيذه في Golang. إنه يستخدم الاتصال بين العقد من خلال استخلاص عمليات تبادل الرسائل بحيث يمكن بسهولة تحقيق NODES والخدمات المتعددة بسهولة.
مستوحى من Lotou من الإطار Skynet الذي كتبه Cloudwu. ضمن هذا الإطار ، تنقل جميع الخدمات بعضها البعض عن طريق المراسلة. لا تتعرض الوظائف التي توفرها الخدمات عن طريق استدعاء API. في الإصدار الحالي ، تكون MODULE CORE مسؤولة عن توجيه الرسائل ، وكل خدمة لديها رسالتها الخاصة Chan لتلقيها وإرسالها.
اللوازم الأساسية التواصل بين الخدمات. يتم تسجيل جميع الخدمات في core ، وإرسال رسالة إلى الآخرين بواسطة Core.send.
يقوم binary بتشفير البيانات إلى دفق ثنائي للتواصل بين الخوادم والعملاء. يشبه استخدام هذه الاتفاقية الترميز إلى حد ما استخدام JSON Markalling.
يهدف GOB (وليس GOB في LIB الخاص بـ Golang) GOB إلى الحفاظ على اتصال العقد. يمكن أن يكون التواصل مع الخدمات عبر nodes ، وبالتالي فإن رسائل الترميز في الدفق الثنائي ضروري. لا يحتاج تبديل الرسائل داخل العقد إلى تشفير أداء أفضل.
يمكن تشفير جميع الأنواع البدائية في Golang. يتم دعم أي مجموعة من المعلمات بسهولة طالما أن المرسل ويتوافق المتلقي مع نفس التوقيع
يمكن أيضًا دعم البنية المحددة ذاتياً ، ولكن يجب تسجيل البنية في المتقدم. إذا كانت العقد المختلفة تحتاج إلى استخدام نفس البنية ، فيجب تسجيل تسجيل تلك الهياكل في تسلسل ثابت وفريد.
في الوقت الحاضر ، فإن ترميز العروض للشريحة والخريطة ليس جيدًا. من أجل تشفير نوع []interface{} ، يتم ترميز كل عناصر منها بشكل منفصل. لكي تكون أكثر تحديداً ، يتم تنظيم المعلومات لكل عناصر. لذلك إذا كان هناك عناصر من نفس النوع ، يتم تنظيم المعلومات بشكل متكرر.
يتم تحقيق حشد GOB (LOTOU) من خلال الانعكاس.
وحدة السجل هي طباعة معلومات الأخطاء والخطأ. حاليًا ، يتم مزامنة السجل ، إذا كان لدينا الكثير من السجلات التي تحتاج إلى ملف للملف ، فقد يحظر المنطق الرئيسي. (قد يتم تغييره إلى الوضع غير المتزامن في يوم من الأيام)
تنفذ الشبكة الطرق بين العقد في TCP. أدوار server client تعمل كما يطلق عليها. لم يتم تنفيذ نبضات القلب بعد. يقوم client بإنشاء اتصال server في المرة الأولى لإرسال الرسالة.
تعتمد الخوادم متعددة العقدة على Topoloy. هناك نوعان من العقد في Lotou ويتم تقليص أنواع مختلفة من العقد في نفس الشبكة. داخل شبكة معينة ، لا يوجد سوى عقدة رئيسية واحدة وعقد عبيد الخادم. يمكن تشغيل الخدمات في أي نوع من العقدة وهناك نوعان من الخدمات: الخدمة المحلية والخدمة العالمية. الخدمة المحلية هي تلك الموجودة في نفس العقدة المعروفة لبعضها البعض بالاسم. الخدمة العالمية هي تلك التي تديرها عقد مختلفة وتتعرض لجميع الخدمات من جميع العقد من خلال التسجيل في الماجستير.
إذا كنت مهتمًا بتطوير Lotou ، فلا تتردد في الاتصال بي عبر
QQ 157621271
WeChat ID Daijun_1234.
مجموعة QQ متاحة أيضًا Lotou .
Twitter @sydnash1
يتم الترحيب دائمًا بالتقدمين والمهوسون.
استخدم etcd كما اكتشف الخدمة.
استخدم nats كمخفف رسالة العقدة.