यह दस्तावेज़ AI द्वारा अनुवादित किया गया है। किसी भी अशुद्धि के लिए, कृपया अंग्रेजी संस्करण देखें
आमतौर पर, एक NocoBase एप्लिकेशन की सभी सेवाएँ एक ही Node.js इंस्टेंस में चलती हैं। जैसे-जैसे व्यवसाय के साथ एप्लिकेशन की कार्यक्षमता जटिल होती जाती है, कुछ समय लेने वाली सेवाएँ समग्र प्रदर्शन को प्रभावित कर सकती हैं।
एप्लिकेशन के प्रदर्शन को बेहतर बनाने के लिए, NocoBase क्लस्टर मोड में एप्लिकेशन की सेवाओं को अलग-अलग नोड्स पर चलाने का समर्थन करता है। यह किसी एक सेवा की प्रदर्शन समस्याओं को पूरे एप्लिकेशन को प्रभावित करने से रोकता है, जिससे उपयोगकर्ता के अनुरोधों का ठीक से जवाब देने में कोई बाधा नहीं आती।
दूसरी ओर, यह कुछ विशिष्ट सेवाओं के लिए लक्षित हॉरिजॉन्टल स्केलिंग की भी अनुमति देता है, जिससे क्लस्टर के संसाधन उपयोग को बेहतर बनाया जा सकता है।
क्लस्टर में NocoBase को डिप्लॉय करते समय, विभिन्न सेवाओं को अलग-अलग नोड्स पर विभाजित करके डिप्लॉय किया जा सकता है। नीचे दिया गया आरेख विभाजन संरचना को दर्शाता है:

सर्विस KEY: workflow:process
अतुल्यकालिक मोड में वर्कफ़्लो, ट्रिगर होने के बाद, निष्पादन के लिए कतार में लग जाएंगे। इन वर्कफ़्लो को बैकग्राउंड टास्क माना जा सकता है, और आमतौर पर उपयोगकर्ताओं को परिणाम वापस आने का इंतजार करने की आवश्यकता नहीं होती है। विशेष रूप से जटिल और समय लेने वाली प्रक्रियाओं के लिए, जब ट्रिगर की संख्या भी अधिक हो, तो उन्हें स्वतंत्र नोड्स पर चलाने के लिए विभाजित करने की सलाह दी जाती है।
सर्विस KEY: async-task:process
इसमें अतुल्यकालिक आयात (import) और निर्यात (export) जैसे उपयोगकर्ता कार्यों द्वारा बनाए गए कार्य शामिल हैं। बड़े डेटा वॉल्यूम या उच्च समवर्ती (concurrency) के मामलों में, उन्हें स्वतंत्र नोड्स पर चलाने के लिए विभाजित करने की सलाह दी जाती है।
विभिन्न सेवाओं को अलग-अलग नोड्स में विभाजित करने के लिए WORKER_MODE एनवायरनमेंट वेरिएबल को कॉन्फ़िगर करना होगा। इस एनवायरनमेंट वेरिएबल को निम्नलिखित नियमों के अनुसार कॉन्फ़िगर किया जा सकता है:
WORKER_MODE=<खाली>: जब कॉन्फ़िगर नहीं किया गया हो, या खाली कॉन्फ़िगर किया गया हो, तो वर्कर मोड वर्तमान सिंगल-इंस्टेंस मोड के समान होता है, सभी अनुरोधों को स्वीकार करता है और सभी कार्यों को भी संसाधित करता है। यह उन एप्लिकेशनों के साथ संगत है जो पहले कॉन्फ़िगर नहीं किए गए थे।WORKER_MODE=!: वर्कर मोड केवल अनुरोधों को संसाधित करता है और कोई कार्य संसाधित नहीं करता है।WORKER_MODE=workflow:process,async-task:process: एक या अधिक सर्विस आइडेंटिफ़ायर (अंग्रेजी अल्पविराम से अलग किए गए) के साथ कॉन्फ़िगर किया गया हो, तो वर्कर मोड केवल उन आइडेंटिफ़ायर के कार्यों को संसाधित करता है और अनुरोधों को संसाधित नहीं करता है।WORKER_MODE=*: वर्कर मोड सभी बैकग्राउंड कार्यों को संसाधित करता है, चाहे वे किसी भी मॉड्यूल के हों, लेकिन अनुरोधों को संसाधित नहीं करता है।WORKER_MODE=!,workflow:process: वर्कर मोड अनुरोधों को संसाधित करता है और साथ ही किसी विशिष्ट आइडेंटिफ़ायर के कार्यों को भी संसाधित करता है।WORKER_MODE=-: वर्कर मोड किसी भी अनुरोध या कार्य को संसाधित नहीं करता है (यह मोड वर्कर प्रोसेस के भीतर आवश्यक है)।उदाहरण के लिए, K8S वातावरण में, विभाजन कार्यक्षमता वाले समान नोड्स को एक ही एनवायरनमेंट वेरिएबल कॉन्फ़िगरेशन का उपयोग करके कॉन्फ़िगर किया जा सकता है, जिससे किसी विशिष्ट प्रकार की सेवा के लिए हॉरिजॉन्टल स्केलिंग करना आसान हो जाता है।
मान लीजिए तीन नोड्स हैं, जो node1, node2 और node3 हैं, उन्हें इस प्रकार कॉन्फ़िगर किया जा सकता है:
node1: केवल उपयोगकर्ता UI अनुरोधों को संसाधित करता है, WORKER_MODE=! कॉन्फ़िगर करें।node2: केवल वर्कफ़्लो कार्यों को संसाधित करता है, WORKER_MODE=workflow:process कॉन्फ़िगर करें।node3: केवल अतुल्यकालिक कार्यों को संसाधित करता है, WORKER_MODE=async-task:process कॉन्फ़िगर करें।मान लीजिए चार नोड्स हैं, जो node1, node2, node3 और node4 हैं, उन्हें इस प्रकार कॉन्फ़िगर किया जा सकता है:
node1 और node2: सभी सामान्य अनुरोधों को संसाधित करते हैं, WORKER_MODE=! कॉन्फ़िगर करें, और एक लोड बैलेंसर द्वारा स्वचालित रूप से अनुरोधों को इन दोनों नोड्स पर वितरित किया जाता है।node3 और node4: अन्य सभी बैकग्राउंड कार्यों को संसाधित करते हैं, WORKER_MODE=* कॉन्फ़िगर करें।बिजनेस प्लगइन विकसित करते समय, आप आवश्यकतानुसार अधिक संसाधन खपत वाली सेवाओं को विभाजित कर सकते हैं। इसे निम्नलिखित तरीकों से प्राप्त किया जा सकता है:
my-plugin:process, जो एनवायरनमेंट वेरिएबल कॉन्फ़िगरेशन के लिए उपयोग किया जाएगा, और इसके लिए दस्तावेज़ प्रदान करें।app.serving() इंटरफ़ेस का उपयोग करके वातावरण की जाँच करें, यह तय करने के लिए कि क्या एनवायरनमेंट वेरिएबल वर्तमान नोड द्वारा किसी विशिष्ट सेवा के प्रावधान को नियंत्रित करता है।