5

समस्या: मैं उपयोगकर्ता की जानकारी को कैश करना चाहता हूं जैसे कि मेरे सभी एप्लिकेशन डेटा को जल्दी से पढ़ सकते हैं, लेकिन मैं केवल एक विशिष्ट एप्लिकेशन को इस कैश में लिखने में सक्षम होना चाहता हूं।एक सुरक्षित वितरित कैश के लिए समाधान

मैं एडब्लूएस पर हूं, इसलिए मेरे लिए एक समाधान दो बंदरगाहों के साथ memcached का एक संस्करण था: एक बंदरगाह केवल पढ़ने के आदेश स्वीकार करता है और जो पढ़ता है और लिखता है। मैं तब पहुंच नियंत्रण को नियंत्रित करने के लिए सुरक्षा समूहों का उपयोग कर सकता था।

चूंकि मैं एडब्ल्यूएस पर हूं, अगर ऐसे समाधान हैं जो बॉक्स मेमकैच या रेडिस के बाहर का उपयोग करते हैं, तो यह बहुत अच्छा होगा।

उत्तर

3

मेरा सुझाव है कि आप 11211 (Memcached) पर एक खुले बंदरगाह के साथ ElastiCache का उपयोग करें, फिर एक ईसी 2 उदाहरण बनाएं, अपना सुरक्षा समूह सेट करें ताकि केवल यह सर्वर आपके एलिस्टी कैश क्लस्टर तक पहुंच सके। अपने अनुप्रयोगों को फ़िल्टर करने के लिए इस सर्वर का उपयोग करें, इसलिए केवल एक विशिष्ट एप्लिकेशन इसे लिख सकता है। आप सुरक्षा समूह, स्क्रिप्ट या आईपटेबल के साथ पहुंच को नियंत्रित करते हैं। यदि आप वीपीसी का उपयोग नहीं कर रहे हैं, तो आप cache security group का उपयोग कर सकते हैं।

+0

वैसे तो यह वितरित नहीं हुआ: इसमें विफलता का एक बिंदु है - वह एक एक्सेस सर्वर है। – jamie

+1

ऑटोस्केलिंग और लोड बैलेंसर का उपयोग करें, समस्या हल हो गई है। – Kevin

+0

ठीक है, अगर मैं ऑटोस्केलिंग सेट अप करने जा रहा हूं, एक लोड बैलेंसर और एक एप्लीकेशन बना सकता हूं, तो मैं भी memcache भाग को छोड़ सकता हूं और पूरी चीज खुद को बना सकता हूं, हालांकि उस बिंदु पर, इसे डायनेमो में चिपकाकर बहुत अच्छा लग रहा है। गति एक मुद्दा है: एपीपी-> मेमकेचे बनाम एपीपी-> ईएलबी-> एसवीसी-> मेमकेचे। – jamie

1

मेरा मानना ​​है कि आप इसे Redis (Memcached के बजाय) का उपयोग करके पूरा कर सकते हैं जो ElastiCache के माध्यम से भी उपलब्ध है। एक बार इंस्टेंस बनने के बाद, आप एक प्रतिकृति समूह बनाना चाहते हैं और इसे पहले से लॉन्च किए गए कैश क्लस्टर से जोड़ना चाहते हैं।

फिर आप प्रतिकृति समूह में उदाहरण जोड़ सकते हैं। प्रतिकृति समूह के भीतर के उदाहरणों को बस मास्टर कैश क्लस्टर (सिंगल रेडिस इंस्टेंस) से दोहराया जाता है और इसलिए केवल (डिफ़ॉल्ट रूप से) केवल पढ़ने के लिए होते हैं।

तो, इस सेटअप में, आपके पास एक मास्टर नोड (सिंगल एंडपॉइंट) है जिसे आप लिख सकते हैं और जितना चाहें उतने पढ़े नोड्स (एकाधिक एंडपॉइंट्स)।

आप सुरक्षा को एक कदम आगे ले सकते हैं और प्रतिकृति समूह (वीपीसी के माध्यम से) के लिए विभिन्न रूटिंग नियम असाइन कर सकते हैं ताकि डेटा पढ़ने वाले अनुप्रयोगों में मास्टर नोड (केवल डेटा जो डेटा लिख ​​सकता है) तक पहुंच न हो।

+0

तकनीकी रूप से अभी भी विफलता का एक बिंदु (मास्टर), लेकिन एक साफ विचार है। – jamie

+0

इसके अलावा, यह एक समस्या हो सकती है: "इस समय, ElastiCache एकल-नोड रेडिस कैश क्लस्टर का समर्थन करता है।" – jamie

संबंधित मुद्दे