2011-06-28 9 views
15

मैं एक नई परियोजना के आर्किटेक्चर के एक खंड के लिए रेडिस पर विचार कर रहा हूं। इसमें बहुत से क्लाइंट होंगे (node.js कनेक्शन) एक प्रक्रिया के साथ विशेष कुंजी को सब्सक्राइब करना आवश्यकतानुसार उन चाबियों को प्रकाशित करना।रेडिस पब्लिश/सब्सक्राइब सीमा

मैं प्रकाशित/सदस्यता आदेशों की सीमाओं और उन लोगों को कम करने के बारे में उत्सुक हूं। एक स्पष्ट सीमा यह है कि रेडिस के साथ मशीन पर फ़ाइल डिस्क्रिप्टरों की मात्रा खुली है, इसलिए किसी बिंदु पर मुझे कई रेडिस उदाहरणों में मास्टर-स्लेव या लगातार हैशिंग को लागू करने की आवश्यकता होगी।

क्या किसी के पास Redis 'PubSub के साथ इस आर्किटेक्चर को स्केल करने के बारे में कोई समाधान है?

उत्तर

22

मास्टर/स्लेव प्रतिकृति स्वचालित रूप से सभी दासों को प्रकाशित होने के बाद से रेडिस पबसब स्केल वास्तव में आसानी से स्केल करता है।

उदाहरण के लिए हैड्रोक्सी के साथ कनेक्शन को संतुलन लोड करना सबसे आसान तरीका है, प्रत्येक वेबसर्वर पर रेडिस दास चलाएं जो संदेशों को प्रकाशित करने वाले एक मास्टर के साथ समन्वयित करता है।

मैं आपको सटीक संख्या नहीं दे सकता क्योंकि यह अंतर्निहित प्रणाली पर निर्भर करता है, लेकिन यह बहुत अच्छी तरह से स्केल करना चाहिए। और आपको क्लाइंट को प्रबंधित करने की आवश्यकता नहीं है और वे कौन से सर्वर मैन्युअल रूप से कनेक्ट होते हैं। आपको स्पष्ट रूप से सत्र स्थिति को संभालने के लिए कुछ तरीके की आवश्यकता है, इसलिए आपको वैसे भी ऐसा करने की आवश्यकता हो सकती है, लेकिन आपके आवेदन के मुकाबले लोड बैलेंसर में करना बहुत आसान है।