मैं एक वितरित प्रणाली का निर्माण कर रहा हूं जिसमें संभावित रूप से लाखों क्लाइंट शामिल हैं जिन्हें सर्वर से कमांड की प्रतीक्षा करने के लिए सभी को खुले (प्राथमिक रूप से HTTP) कनेक्शन रखने की आवश्यकता है (जो कहीं और चल रहा है) । संदेश/कमांड का भार बहुत अधिक नहीं होगा, शायद एक संदेश/सेकंड/1000 क्लाइंट जिसका अर्थ है कि यह 1000 संदेश/सेकंड @ 1 मिलियन क्लाइंट होगा। => यह मूल रूप से समवर्ती कनेक्शन के बारे में है।लाखों समवर्ती कनेक्शनों के लिए सर्वर पुश
आवश्यकताएं भी सरल हैं। एक तरफ मैसेजिंग (सर्वर-> क्लाइंट), प्रति चैनल केवल 1 क्लाइंट "।
मैं प्रौद्योगिकी के संदर्भ में बहुत खुला हूं (xmpp/websockets/धूमकेतु/...)। मैं सर्वर के रूप में Google App Engine का उपयोग कर रहा हूं, लेकिन दुर्भाग्यवश (बहुत कम कोटा और कोई जावा क्लाइंट नहीं) उनके "चैनल" मेरे लिए काम नहीं करेंगे। एक्सएमपीपी एक विकल्प था लेकिन काफी महंगा है। अब तक मैं यूआरएल Fetch & पबनब का उपयोग कर रहा था, लेकिन उन्होंने कनेक्शन (बड़े समय) के लिए चार्ज करना शुरू कर दिया।
तो:
किसी को भी वहाँ बाहर एक सेवा एक किफायती तरीके से ऐसा कर सकते हैं कि मेरे लिए के बारे में पता है? अधिकांश मुझे कनेक्शन के लिए प्रतिबंधित या भारी शुल्क मिला है।
ऐसे सर्वर को लागू करने के साथ कोई अनुभव स्वयं? मैंने वास्तव में पहले से ही ऐसा किया है और यह बहुत अच्छी तरह से काम करता है (टॉमकैट & एनआईओ पर आधारित) लेकिन मेरे पास अभी तक एक बड़ा भार परीक्षण वातावरण स्थापित करने का समय नहीं है (आंशिक रूप से क्योंकि यह अभी भी एक फॉलबैक समाधान है, मैं पसंद करूंगा एक युद्ध कठोर संदेश सर्वर)। आपको प्रति जीबी कितने उपयोगकर्ता मिलते हैं इसका कोई अनुभव? कोई कठोर सीमा?
मेरे वास्तुकला भी संदेश सर्वर खंड के लिए अनुमति देता है, लेकिन मैं समवर्ती कनेक्शन अधिकतम करने के लिए क्योंकि संदेश प्रसंस्करण सीपीयू भूमि के ऊपर कम है चाहते हैं।
यह स्वीकार करने के लिए एक कठिन है। क्या आपने यूडीपी जैसे कनेक्शन रहित प्रोटोकॉल को माना है? आपको अपना खुद का एक प्रोटोकॉल लिखना होगा लेकिन फिर आपको कनेक्शन बनाए रखना नहीं होगा और आपको कनेक्शन ओवरहेड नहीं लेना होगा। मैंने कुछ बहुत ही उच्च थ्रूपुट वितरित सर्वर लिखे हैं लेकिन ग्राहक का सामना नहीं करना है। – Gray
एफवाईआई, मैंने इस बीच नेटटी का उपयोग करके इसे लागू किया है (नीचे उत्तर देखें)। – Daniel
कूल @ डैनियल। मुझे इसे देखना होगा। मैंने नेटी के बारे में अच्छी बातें सुनी हैं लेकिन कभी इसका इस्तेमाल नहीं किया। – Gray