Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Redis

रेडिस के साथ स्केलेबल डिस्ट्रीब्यूटेड बिजनेस रूल्स इंजन बनाएं - चरण-दर-चरण गाइड

गति और दक्षता आज के तेज़-तर्रार व्यावसायिक वातावरण में उत्कृष्टता की पहचान हैं।

जो संगठन मैनुअल, कठोर प्रक्रियाओं में उलझे हुए हैं, वे एक बोझिल आर्किटेक्चर का भार उठाते हैं और हमेशा फ्लैट-फुटेड रह जाएंगे क्योंकि व्यावसायिक अवसर उनके पास से निकल जाते हैं।

लेकिन जिन लोगों ने अपनी प्रक्रियाओं को स्वचालित किया है, वे अधिक उत्पादक, अधिक चुस्त, और कहीं अधिक संभावना रखते हैं विकास का अनुभव करने की। और इसलिए संगठनों को एक वितरित बिजनेस रूल्स मैनेजमेंट सिस्टम (DBRMS) की आवश्यकता होती है।

व्यावसायिक समुदाय पर प्रभाव डालने की तलाश में, विश्रुत कोहली ने अपना स्वयं का DBRMS, Bonsai बनाया। रेडिस का उपयोग करके, Bonsai उपयोगकर्ताओं को एक ऐसा एप्लिकेशन गारंटी देता है जो रीयल-टाइम में प्रक्रियाओं को स्वचालित कर सकता है, लैग होने की संभावना को कम करके उत्पादकता स्तर को अधिकतम करता है।

आइए देखें कि यह एप्लिकेशन कैसे बनाया गया था। लेकिन इससे पहले कि हम आगे बढ़ें, हम यह बताना चाहेंगे कि हमारे पास रेडिस लॉन्चपैड पर आपके लिए जांच करने के लिए नवीन ऐप्स की एक रोमांचक श्रृंखला भी है।

तो अगर आपको यह पोस्ट पसंद है, तो बाद में ब्राउज़ करना सुनिश्चित करें!

रेडिस का उपयोग करके डिस्ट्रीब्यूटेड बिजनेस रूल्स मैनेजमेंट सिस्टम कैसे बनाएं

  1. आप क्या बनाएंगे?
  2. आपको क्या चाहिए?
  3. आर्किटेक्चर
  4. शुरुआत करना
  5. बैकएंड सेट करना
  6. फ्रंटएंड सेट करना
  7. यह कैसे काम करता है
  8. विभिन्न सुविधाओं को कैसे कार्यान्वित करें

1. आप क्या बनाएंगे?

आप एक वितरित बिजनेस रूल मैनेजमेंट प्लेटफॉर्म बनाएंगे जो व्यवसायों को उद्यम में स्केलेबल बिजनेस रूल्स बनाने, प्रबंधित करने और लागू करने में मदद करेगा। कई व्यावसायिक कार्यों को स्वचालित किया जा सकता है और अतिरिक्त संसाधनों को मुक्त किया जा सकता है जिन्हें व्यवसाय में कहीं और निवेश किया जा सकता है।

यह एप्लिकेशन संगठनों को व्यावसायिक निर्णय नियमों और निर्णय तर्क को निर्दिष्ट, तैनात और प्रबंधित करने में सक्षम करेगा ताकि ऐप्स मानवीय हस्तक्षेप के बिना गति और लगातार बुद्धिमान निर्णय ले सकें।

नीचे हम उन घटकों को हाइलाइट करेंगे जिन्हें आपको इस एप्लिकेशन को जीवन में लाने की आवश्यकता होगी और साथ ही आपको कार्यान्वयन प्रक्रिया के प्रत्येक चरण के माध्यम से मार्गदर्शन करेंगे।

शुरू करने के लिए तैयार हैं?

ठीक है, आइए सीधे इसमें गोता लगाएं।

2. आपको क्या चाहिए?

  • Python: एक उच्च-उद्देश्य शक्तिशाली प्रोग्रामिंग भाषा के रूप में उपयोग किया जाता है
  • Redis: एक इन-मेमोरी डेटा स्टोर जो उप-मिलीसेकंड विलंबता के साथ रीयल-टाइम डेटा को अंतर्ग्रहण, प्रसंस्करण और विश्लेषण करता है।
  • RedisJSON: एक मॉड्यूल के रूप में उपयोग किया जाता है जो रेडिस में JSON समर्थन प्रदान करता है
  • RedisTimeSeries: एक मॉड्यूल के रूप में उपयोग किया जाता है जो रेडिस में टाइम सीरीज़ डेटा संरचना जोड़ता है

3. आर्किटेक्चर

रेडिस के साथ स्केलेबल डिस्ट्रीब्यूटेड बिजनेस रूल्स इंजन बनाएं - चरण-दर-चरण गाइड

4. शुरुआत करना

सुनिश्चित करें कि आपके पास रेडिस स्टैक डेटाबेस चालू और चल रहा है:

5. फ्रंट एंड सेट करना

Create React App के साथ शुरुआत करना

इस प्रोजेक्ट को Create React App के साथ बूटस्ट्रैप किया गया था।

चरण 1: फ्रंटएंड रिपॉजिटरी को क्लोन करें

चरण 2: निर्भरताएं इंस्टॉल करें

yarn install

चरण 3: उपलब्ध स्क्रिप्ट का उपयोग करें

प्रोजेक्ट डायरेक्टरी में, आप निम्नलिखित स्क्रिप्ट चला सकते हैं:

yarn start

ऐप को डेवलपमेंट मोड में चलाता है।

इसे ब्राउज़र में देखने के लिए https://localhost:3000 खोलें।

रेडिस के साथ स्केलेबल डिस्ट्रीब्यूटेड बिजनेस रूल्स इंजन बनाएं - चरण-दर-चरण गाइड

यदि आप संपादन करते हैं तो पेज रीलोड हो जाएगा।

आपको कंसोल में कोई लिंट त्रुटियां भी दिखाई देंगी।

yarn test

इंटरैक्टिव वॉच मोड में टेस्ट रनर लॉन्च करता है।

टेस्ट चलाने के बारे में अधिक जानकारी के लिए टेस्ट चलाने के अनुभाग देखें।

yarn build

प्रोडक्शन के लिए ऐप को बिल्ड फोल्डर में बनाता है।

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

बिल्ड मिनिफाइड है और फाइलनाम में हैश शामिल हैं।

आपका ऐप अब तैनात होने के लिए तैयार है।

तैनाती के बारे में अधिक जानकारी के लिए तैनाती अनुभाग देखें।

yarn eject

नोट: यह एक तरफ़ा ऑपरेशन है। एक बार इजेक्ट करने के बाद, आप वापस नहीं जा सकते!

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

इसके बजाय, यह सभी कॉन्फ़िगरेशन फाइलों और ट्रांजिटिव निर्भरताओं (वेबपैक, बेबेल, ESLint, आदि) को सीधे आपके प्रोजेक्ट में कॉपी कर देगा ताकि आप उन पर पूर्ण नियंत्रण रख सकें। इजेक्ट को छोड़कर सभी कमांड अभी भी काम करेंगे, लेकिन वे कॉपी किए गए स्क्रिप्ट को इंगित करेंगे ताकि आप उन्हें調整 कर सकें। इस बिंदु पर, आप अपने दम पर हैं।

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

चरण 4. Bonsai Rule Engine को क्लोन करें

git clone: ​​https://github.com/redis-developer/bonsai

चरण 5. Python निर्भरताएं इंस्टॉल करें

चरण 6. स्क्रिप्ट निष्पादित करें

6. यह कैसे काम करता है

कीवर्ड

  • नेमस्पेस
  • नियम
  • एंटिटी

नेमस्पेस

नियमों का सबसे तार्किक पृथक्करण नेमस्पेस के आधार पर होता है। नेमस्पेस नियमों का एक सेट है जिनका मूल्यांकन डेटा के एक सेट पर किया जाना है। उदाहरण के लिए, इस पोस्ट में बाद में, आप एक लॉयल्टी मैनेजमेंट सिस्टम के लिए एक नेमस्पेस बनाएंगे और उस नेमस्पेस के बारे के सभी नियम उस नेमस्पेस के तहत सहेजे जाएंगे।

  • हमारे डेटा को सहेजने के लिए संरचना है

यहां नेमस्पेस है:

tax_system.

नेमस्पेस बनाने के लिए उपयोग की जाने वाली कमांड है:

एंटिटी

एक एंटिटी एक नेमस्पेस के इनपुट को संदर्भित करता है और बदले में उस नेमस्पेस में मौजूद नियमों का मूल्यांकन करने के बाद एक आउटपुट प्रदान करेगा।

नियम

उप कीवर्ड
  • Predicates: इसका अर्थ है आपके नियमों के लिए इनपुट शर्तें।
  • Results: इसका अर्थ है आपके नियमों के लिए आउटपुट शर्तें।
  • Operators: हमारे पास 7 ऑपरेटर हैं:
    – eq जिसका अर्थ है =
    – range जिसका अर्थ है कि मान दी गई रेंज के बीच होना चाहिए (ऊपरी सीमा शामिल नहीं)
    – contains जिसका अर्थ है कि स्ट्रिंग में दिए गए इनपुट मान होना चाहिए।
    – gt जिसका अर्थ है अधिक than या >
    – gte जिसका अर्थ है अधिक than या बराबर >=
    – lt जिसका अर्थ है कम than <
    – lte जिसका अर्थ है कम than या बराबर <=

मान लीजिए हम एक नियम बनाना चाहते थे जो ओंटारियो प्रांत में रहने वाले और टोरंटो शहर के नागरिक के टैक्स मूल्य को निर्धारित करता है। इसके अलावा, यह व्यक्ति 35% आयकर का भुगतान करता है। तो हमारे पास दो वेरिएबल हैं - प्रांत और शहर लेकिन एक आउटपुट tax_rate।

तो इस मामले में, प्रांत ओंटारियो का एक उदाहरण प्रेडिकेट (इनपुट) 4 भागों से मिलकर बन सकता है:

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

ओंटारियो और शहर टोरंटो है तो टैक्स दर 35 होगी। 

यह नियम ऑब्जेक्ट है:

यहां नेमस्पेस है:

loyalty_system
और rule_id है:
123456.

नेमस्पेस में नियम को अपडेट करने के लिए उपयोग की जाने वाली कमांड:

नेमस्पेस में सभी नियम प्राप्त करने के लिए उपयोग की जाने वाली कमांड:

rule_id द्वारा नेमस्पेस में एक नियम प्राप्त करने के लिए उपयोग की जाने वाली कमांड:

7. विभिन्न सुविधाओं को कैसे कार्यान्वित करें

नियम कैसे बनाएं

रेडिस के साथ स्केलेबल डिस्ट्रीब्यूटेड बिजनेस रूल्स इंजन बनाएं - चरण-दर-चरण गाइड

होम स्क्रीन पर 'Create' पर क्लिक करें।

रेडिस के साथ स्केलेबल डिस्ट्रीब्यूटेड बिजनेस रूल्स इंजन बनाएं - चरण-दर-चरण गाइड

अगला, नियम बनाने को पूरा करने के लिए विभिन्न फ़ील्ड भरें।

नियम विज़ुअलाइज़ेशन

रेडिस के साथ स्केलेबल डिस्ट्रीब्यूटेड बिजनेस रूल्स इंजन बनाएं - चरण-दर-चरण गाइड

नियम बनाने के बाद, आप उन्हें फ्लोचार्ट के रूप में आसानी से विज़ुअलाइज़ कर पाएंगे।

नियम मूल्यांकन

रेडिस के साथ स्केलेबल डिस्ट्रीब्यूटेड बिजनेस रूल्स इंजन बनाएं - चरण-दर-चरण गाइड

मूल्यांकन प्रवाह में वे सभी विशेषताएं होती हैं जिनका उपयोग नियम बनाने के लिए किया गया है। एप्लिकेशन में एक कोड होता है जो पैटर्न मिलान एल्गोरिदम का उपयोग यह देखने के लिए करता है कि कौन सा नियम एंटिटी के लिए सबसे उपयुक्त है साथ ही नियमों के निष्पादन के क्रम को उत्सर्जित करता है।

नियम विश्लेषण

रेडिस के साथ स्केलेबल डिस्ट्रीब्यूटेड बिजनेस रूल्स इंजन बनाएं - चरण-दर-चरण गाइड

RedisTimeSeries आपको सभी मेट्रिक्स को विज़ुअलाइज़ करने और उनके नेमस्पेस में सभी नियमों के प्रदर्शन के आधार पर डेटा-संचालित निर्णय लेने में मदद करता है।

टाइम सीरीज़ डेटा को उजागर करने के लिए उपयोग की जाने वाली कमांड:

TS.ADD ruleId * 1

निष्कर्ष: एक DBRMS प्लेटफॉर्म बनाने के लिए रीयल-टाइम डेटा का उपयोग करना जो दक्षता बढ़ाता है

DBRMS प्लेटफॉर्म कर्मचारियों और व्यवसायों को उन समय लेने वाले, थकाऊ कार्यों को करने से मुक्त कर सकते हैं जो संगठन के लिए आवश्यक हैं। DBRMS प्लेटफॉर्म के माध्यम से इन कार्यों को स्वचालित करना प्रत्येक कर्मचारी का ध्यान कम मेनियल कार्यों की ओर निर्देशित करके एक संगठन को पूरी तरह से पुनर्जीवित कर सकता है।

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

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

यदि आप Bonsai कैसे बनाया गया था, इसके बारे में अधिक जानना चाहते हैं तो विश्रुत के YouTube वीडियो को यहां देखना सुनिश्चित करें। लेकिन यह सब नहीं है... हमारे पास रेडिस लॉन्चपैड पर आपके लिए जांच करने के लिए नवीन अनुप्रयोगों की एक पूरी श्रृंखला भी है।

दुनिया भर के प्रोग्रामर रेडिस के जादू का उपयोग रोजमर्रा की जिंदगी पर प्रभाव डालने के लिए कर रहे हैं।

आइए आगे बढ़ें। प्रेरित हों। और रेडिस के साथ मज़े करें।

रेडिस के साथ स्केलेबल डिस्ट्रीब्यूटेड बिजनेस रूल्स इंजन बनाएं - चरण-दर-चरण गाइड

ऐप किसने बनाया?

विश्रुत कोहली

रेडिस के साथ स्केलेबल डिस्ट्रीब्यूटेड बिजनेस रूल्स इंजन बनाएं - चरण-दर-चरण गाइड

विश्रुत एक फुल-स्टैक डेवलपर और डेटा उत्साही हैं जो Python, MATLAB/Octave, और मशीन लर्निंग एल्गोरिदम में कुशल हैं। यदि आप उनकी सभी परियोजनाओं के साथ अपडेट रहना चाहते हैं तो GitHub पर उनका अनुसरण करना सुनिश्चित करें।


  1. Redis के साथ रियल-टाइम ब्लड डोनेशन मैचिंग ऐप बनाना Redis के साथ रियल-टाइम ब्लड डोनेशन मैचिंग ऐप बनाना

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

  1. Jedis के साथ Redis Pub/Sub कार्यान्वित करें: चरण-दर-चरण गाइड Jedis के साथ Redis Pub/Sub कार्यान्वित करें: चरण-दर-चरण गाइड

    Jedis लाइब्रेरी Jedis Redis डेटास्टोर के लिए एक Java क्लाइंट लाइब्रेरी है। यह छोटी और उपयोग में बहुत आसान है, और Redis 2.8.x, 3.x.x और उससे ऊपर के डेटास्टोर के साथ पूरी तरह से संगत है। Redis Pub/Sub सिस्टम Redis पब्लिश/सब्सक्राइब मैसेजिंग पैराडाइम को लागू करता है। इस मैसेजिंग पैराडाइम के अनुसार, मै

  1. SwiftUI के साथ एक मजबूत डिजाइन सिस्टम बनाना: एक पूर्ण गाइड SwiftUI के साथ एक मजबूत डिजाइन सिस्टम बनाना: एक पूर्ण गाइड

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