2016-06-17 7 views
5

हाय मैं मार्कलॉगिक और अपाचे के लिए नया हूं। मुझे 3 मशीनों के हमारे मार्कलॉग क्लस्टर के लिए अपाचे को लोडबैंसर के रूप में उपयोग करने का कार्य प्रदान किया गया है। मार्कलॉग क्लस्टर वर्तमान में लिनक्स सर्वर पर चल रहा है।मैं संतुलन लोड करने के लिए अपाचे का उपयोग कैसे कर सकता हूं मार्कलॉग क्लस्टर

हम इसे कैसे प्राप्त कर सकते हैं? इसके बारे में कोई भी जानकारी उपयोगी होगी।

उत्तर

6

आप mod_proxy_balancer इस्तेमाल कर सकते हैं। आप इसे कैसे कॉन्फ़िगर करते हैं यह निर्भर करता है कि आप किस मार्कलॉग क्लाइंट का उपयोग करना चाहते हैं। यदि आप Java Client API का उपयोग करना चाहते हैं, तो चिपचिपा कुकीज़ उत्पन्न करने के लिए अपाचे को अनुमति देने के लिए कृपया दूसरे उदाहरण here का पालन करें। यदि आप एक्ससीसी का उपयोग करना चाहते हैं, तो कृपया इसे एमएल-सर्वर-जेनरेट या बैकएंड-जेनरेट "SessionID" cookie का उपयोग करने के लिए कॉन्फ़िगर करें।

यहाँ अंतर जावा क्लाइंट API REST API का जो राज्यविहीन है पर बनाता है, जबकि कि XCC सत्र का उपयोग करता है, इसलिए वहाँ कोई सत्र हैं। हालांकि, जब आप बहु-अनुरोध लेनदेन का उपयोग करते हैं तो जावा क्लाइंट एपीआई में भी, जो उस लेनदेन की अवधि के लिए राज्य लगाता है, इसलिए लोड बैलेंसर को उस लेनदेन के दौरान मार्कलॉगिक क्लस्टर में सही नोड पर अनुरोधों को रूट करने के लिए एक तरीका चाहिए। चिपचिपा कुकी जावा क्लाइंट एपीआई द्वारा ट्रांज़ेक्शन का उपयोग करने वाले हर अनुरोध के साथ नाराज हो जाएगी, इसलिए लोड बैलेंसर उस लेनदेन से संबंधित अनुरोधों के लिए उस चिपचिपापन को बनाए रख सकता है।

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

+0

Thx यह वास्तव में मदद की :-) –

1

ध्यान दें कि यहां तक ​​कि ग्राहक API (जावा, Node.js) ने अपने हमेशा स्पष्ट नहीं या भाषा एपीआई परत पर स्पष्ट के साथ एक सत्र के कारण हो सकता क्या बनाया जाए। निश्चित रूप से मल्टी कथन लेनदेन तैयार करना निश्चित रूप से होगा, लेकिन अन्य परिचालन भी ऐसा कर सकते हैं। यदि आप यूआई (ब्राउज़र) और एपीआई (आरईएसटी या एक्ससीसी) के लिए एक ही कनेक्शन का उपयोग कर रहे हैं तो ब्राउज़र ऐप सत्र की स्थिति बनाने वाली चीजें करने की संभावना है।

सबसे सुरक्षित है, लेकिन कम से कम flexable विन्यास "टीसीपी सत्र संबंध है।" यदि वे समर्थित हैं तो वे लोड संतुलन से संबंधित अधिकांश चिंताओं को खत्म कर देंगे। कुकी सत्र एफ़िनिटी guarenteeing पर निर्भर करता है कि भार balencer सही कुकी का उपयोग करता है। सभी कोड बराबर नहीं है। मेरे पास ऐसे मामले हैं जहां लोड बैलेंसर हमेशा उपलब्ध कुकी का उपयोग नहीं करता था। "लोड बैलेंसर प्रदान की गई कुकी एफ़िनिटी" को कॉन्फ़िगरेशन को ठीक करने के लिए कॉन्फ़िगर करना। इस के

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

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

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

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