سؤال

لدي 1 العملية التي يتلقى الاتصال الوارد من ميناء 1000 في 1 لينكس الملقم.ومع ذلك ، 1 العملية ليست سريعة بما فيه الكفاية للتعامل مع كل واردة الطلب.

كنت ترغب في تشغيل عدة عمليات في الملقم ولكن مع 1 نقطة النهاية.في هذه الطريقة ، فإن العميل سوف نرى فقط 1 نقطة النهاية/عملية متعددة.

لقد راجعت LVS وغيرها من موازنة الحل.هذه الحلول تبدو موجهة نحو خوادم متعددة موازنة التحميل.

أي حل آخر للمساعدة على حالتي ؟


أنا أبحث عن شيء أكثر مثل nginx حيث سوف تحتاج إلى تشغيل نسخ متعددة من التطبيق.

اسمحوا لي أن يحاول هو خارجا.

شكرا للمساعدة.

هل كانت مفيدة؟

المحلول

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

نصائح أخرى

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

وبهذه الطريقة ، فإن العمل الذي يجري القيام به لا يمنع قبول طلبات أكثر.

كما نشير إلى أن مصطلح "موازنة تحميل" يحمل ضمنا من خوادم متعددة - ماذا كنت تريد أن تبحث عن معلومات حول كيفية كتابة لينكس شبكة الخفي.

اثنين kes نظام المكالمات سوف تحتاج إلى أن ننظر إلى ما يسمى شوكة exec.

يبدو أنك تحتاج فقط إلى دمج الخادم الخاص بك مع xinetd.

هذا هو الخادم الذي يستمع على منافذ محددة مسبقا (التي يمكنك التحكم من خلال التكوين) والشوك إيقاف عمليات التعامل مع الاتصالات الفعلية على هذا المنفذ.

تحتاج معالجة متعددة أو خيوط المعالجة المتعددة.لم تكن محددة على تفاصيل الملقم, لذلك أنا لا يمكن أن تعطيك النصائح حول ما يجب القيام به بالضبط.شوكة exec كما مات المقترحة يمكن أن يكون حلا ، ولكن في الحقيقة:أي نوع من بروتوكول/الخادم الذي نتحدث عنه ؟

أنا أفكر في تشغيل عدة تطبيقات مشابهة ypops.

nginx كبيرة ولكن إذا كنت لا يتوهم جديد كليا خادم الويب اباتشي 2.2 مع وكيل وزارة الدفاع موازن سوف تفعل نفس العمل

ربما يمكنك تعديل العميل الخاص بك جولة روبن الموانئ (أقول) 1000-1009 وتشغيل 10 نسخ من هذه العملية ؟

بدلا من ذلك يجب أن تكون هناك طريقة داخليا إعادة بيع ديون عليه.

من الممكن لعدة عمليات الاستماع إلى نفس المقبس مرة من قبل ومن بعد فتحت قبل استدعاء شوكة () ، ولكن (إذا كان TCP socket) بمجرد قبول() ويسمى الناتج المقبس ثم ينتمي إلى أيهما العملية بنجاح قبول الاتصال.

لذلك أساسا يمكن استخدام:

  • Prefork, حيث يمكنك فتح المقبس, شوكة عدد محدد من الأطفال ثم تبادل الحمل
  • بعد شوكة ، حيث لديك واحدة ماستر العملية التي يقبل جميع الاتصالات والشوك الأطفال على التعامل مع الفرد مآخذ
  • المواضيع - يمكنك مشاركة مآخذ في أي بالطريقة التي تريدها مع هؤلاء ، واصفات الملفات غير المستنسخة ، هم فقط متاحة لأي موضوع.
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top