2015-10-28 21 views
11

बिल्डिंग माइक्रोस्कोप आर्किटेक्चर मुझे उसी माइक्रोस्कोस के उदाहरणों के बीच डेटा साझा करने की समस्या का सामना करना पड़ा।माइक्रोसर्विसेज: प्रति उदाहरण डेटा या प्रति माइक्रोसॉफ्ट?

मेरे पास माइक्रोस्कोस है, जो बड़े पैमाने पर इसका डेटास्रोत का उपयोग करता है - सेवा अनुरोध के लिए हर अनुरोध डेटाबेस अनुरोध (आमतौर पर डालने) का कारण बनता है। इस सेवा का बहुत उपयोग किया जाएगा और मैं लोड बैलेंसर के पीछे कई उदाहरण छिपाने की योजना बना रहा हूं। और यहां एक सवाल उठता है: क्या ये उदाहरण एक डेटाबेस का उपयोग करेंगे (क्या डेटाबेस एक बाधा होगी?) या बहुपक्षीय (प्रति उदाहरण डेटासेट) है?

उत्तर

6

mSOA वास्तुकला के साथ मेरा अनुभव में, मैं कभी नहीं देखा है

एकाधिक (उदाहरण के प्रति डेटा स्रोत)

प्रयोग की जाने वाली। भले ही आप इसे भारी लोड करने की योजना बना रहे हों, प्रकृति द्वारा सबसे आम डीबी बहु-थ्रेडिंग पहुंच का समर्थन करते हैं। आम तौर पर एक डीबी सिस्टम की बाधा (या सबसे धीमी हिस्सा) डिस्क है। हमें अपने समूहों को कई बार स्केल करना था (यदि आप क्लाउड में हैं तो तुलनात्मक रूप से सस्ते, लेकिन स्केलेबिलिटी भी एक मुद्दा बन सकती है, क्योंकि स्केल किए गए डीबी सिस्टम को प्रबंधित और निष्पादित करने के लिए अधिक थ्रेड की आवश्यकता होगी)। ध्यान रखें कि कुछ आरडीबीएमएस एक अस्थायी डीबी (tempdb) का उपयोग करते हैं जो सॉर्टिंग, हैशिंग, अस्थायी चर आदि के लिए उस उदाहरण पर सभी डीबी द्वारा उपयोग किया जाता है। इस tempdb फ़ाइलों को मल्टीथ्रेडिंग और विभाजित करने के लिए tempdb के थ्रूपुट को बेहतर बनाने के लिए उपयोग किया जा सकता है , जिससे समग्र सर्वर प्रदर्शन में सुधार होता है।

अब से मैं Orchard के साथ काम करता हूं, मुझे कहना है कि कुछ कोने के मामले हैं, जब एक उदाहरण पर आपके कार्य पूरी तरह से (और समय पर) समन्वयित नहीं होते हैं। यह सही प्रमाणीकरण के बाद भी संसाधनों पर पहुंच का कारण बनता है (घटना के पंजीकरण के ठीक बाद)।

मैं लोड बैलेंसर

यह आपके अनुप्रयोग सर्वर के लिए एक उचित डिजाइन है के पीछे कई उदाहरण को छिपाने के लिए है, इसलिए का उपयोग एक डीबी क्लस्टर के रूप में अच्छी तरह से उपयुक्त होना चाहिए की योजना है। पूर्ण उत्तर देने का लक्ष्य - यदि आपके पास बहुत सारी सेवाएं हैं और आप अपने सभी डीबी से कुछ डेटा खनन और विश्लेषण करने में सक्षम होना चाहते हैं, तो आप DWH पर विचार कर सकते हैं।

1

आपके वास्तविक उपयोग के मामले पर बहुत कुछ निर्भर करता है लेकिन मुझे लगता है कि लिखना-पीछे या लिखना-बैक आपके समाधान में से एक हो सकता है। This एह कैश के साथ तकनीक के बारे में लिंक वार्ता, मुझे लगता है कि सुविधा का समर्थन करने वाले अन्य कैश भी हो सकते हैं, आप उस पर थोड़ा सा Google करना चाहेंगे।

5

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

मैं सुझाव देता हूं कि यदि आप एक बाधा के बारे में चिंतित हैं तो आप एक नोएसक्यूएल डेटाबेस में देखेंगे। NoSQL डेटाबेस उच्च थ्रूपुट के लिए बेहतर स्केल करने के लिए डिज़ाइन किए गए हैं और बड़ी मात्रा में डेटा को अच्छी तरह से संभालते हैं। बेशक नकारात्मकता यह है कि वे जटिल डेटा मॉडल को अच्छी तरह से संभाल नहीं पाते हैं।

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