कैमुंडा बीपीएम एक ओपन-सोर्स वर्कफ्लो और डिसीजन ऑटोमेशन प्लेटफॉर्म है। कैमुंडा बीपीएम वर्कफ़्लो और निर्णय मॉडल बनाने, उत्पादन में परिनियोजित मॉडल को संचालित करने और उपयोगकर्ताओं को उन्हें सौंपे गए वर्कफ़्लो कार्यों को निष्पादित करने की अनुमति देने के लिए उपकरणों के साथ जहाज करता है।
डिफ़ॉल्ट रूप से, कैमुंडा H2 नामक एक एम्बेडेड डेटाबेस के साथ आता है, जो अपेक्षाकृत छोटे मेमोरी फ़ुटप्रिंट के साथ जावा वातावरण में बहुत शालीनता से काम करता है। हालांकि, जब स्केलिंग और उच्च उपलब्धता की बात आती है, तो अन्य डेटाबेस बैकएंड होते हैं जो अधिक उपयुक्त हो सकते हैं।
इस ब्लॉग पोस्ट में, हम लिनक्स पर कैमुंडा बीपीएम 7.10 सामुदायिक संस्करण को तैनात करने जा रहे हैं, जिसमें डेटाबेस उच्च उपलब्धता प्राप्त करने पर ध्यान केंद्रित किया जाएगा। कैमुंडा JDBC ड्राइवरों के माध्यम से प्रमुख डेटाबेस का समर्थन करता है, जैसे कि Oracle, DB2, MySQL, MariaDB और PostgreSQL। यह ब्लॉग केवल MySQL और मारियाडीबी गैलेरा क्लस्टर पर केंद्रित है, प्रत्येक पर अलग-अलग कार्यान्वयन के साथ - एक प्रॉक्सीएसक्यूएल के साथ डेटाबेस लोड बैलेंसर के रूप में, और दूसरा जेडीबीसी ड्राइवर का उपयोग कई डेटाबेस इंस्टेंस से कनेक्ट करने के लिए करता है। ध्यान दें कि यह लेख कैमुंडा एप्लिकेशन के लिए उच्च उपलब्धता पर ही कवर नहीं करता है।
पूर्वापेक्षा
कैमुंडा बीपीएम जावा पर चलता है। हमारे CentOS 7 बॉक्स में, हमें JDK स्थापित करना होगा और सबसे अच्छा विकल्प Oracle से एक का उपयोग करना है, और रिपॉजिटरी में दिए गए OpenJDK पैकेजों का उपयोग करना छोड़ना है। एप्लिकेशन सर्वर पर जहां कैमुंडा चलाना चाहिए, ओरेकल से नवीनतम जावा एसई डेवलपमेंट किट (जेडीके) को स्वीकृति कुकी भेजकर डाउनलोड करें:
$ wget --header "Cookie: oraclelicense=accept-securebackup-cookie" https://download.oracle.com/otn-pub/java/jdk/12+33/312335d836a34c7c8bba9d963e26dc23/jdk-12_linux-x64_bin.rpm
इसे होस्ट पर इंस्टॉल करें:
$ yum localinstall jdk-12_linux-x64_bin.rpm
इसके साथ सत्यापित करें:
$ java --version
java 12 2019-03-19
Java(TM) SE Runtime Environment (build 12+33)
Java HotSpot(TM) 64-Bit Server VM (build 12+33, mixed mode, sharing)
एक नई निर्देशिका बनाएं और आधिकारिक डाउनलोड पृष्ठ से अपाचे टॉमकैट के लिए कैमुंडा समुदाय डाउनलोड करें:
$ mkdir ~/camunda
$ cd ~/camunda
$ wget --content-disposition 'https://camunda.org/release/camunda-bpm/tomcat/7.10/camunda-bpm-tomcat-7.10.0.tar.gz'
इसे निकालें:
$ tar -xzf camunda-bpm-tomcat-7.10.0.tar.gz
कैमुंडा वेब एप्लिकेशन शुरू करने से पहले हमें कई निर्भरताएं कॉन्फ़िगर करनी होंगी। यह डेटास्टोर कॉन्फ़िगरेशन, डेटाबेस कनेक्टर और क्लासस्पैट वातावरण जैसे चुने हुए डेटाबेस प्लेटफॉर्म पर निर्भर करता है। अगले खंड MySQL Galera (Percona XtraDB क्लस्टर का उपयोग करके) और MariaDB Galera क्लस्टर के लिए आवश्यक चरणों की व्याख्या करते हैं।
ध्यान दें कि इस ब्लॉग में दिखाए गए कॉन्फ़िगरेशन अपाचे टॉमकैट पर्यावरण पर आधारित हैं। यदि आप JBOSS या Wildfly का उपयोग कर रहे हैं, तो डेटास्टोर कॉन्फ़िगरेशन थोड़ा अलग होगा। विवरण के लिए कैमुंडा दस्तावेज़ीकरण देखें।
MySQL गैलेरा क्लस्टर (ProxySQL और Keepalived के साथ)
हम Percona XtraDB क्लस्टर के साथ MySQL-आधारित Galera क्लस्टर को परिनियोजित करने के लिए ClusterControl का उपयोग करेंगे। गैलेरा बहु-लेखक संघर्ष प्रबंधन और इनो डीबी अलगाव स्तर के आसपास केमुंडा दस्तावेज़ों में वर्णित कुछ गैलेरा-संबंधित सीमाएं हैं। यदि आप इनसे प्रभावित हैं, तो सबसे सुरक्षित तरीका एकल-लेखक दृष्टिकोण का उपयोग करना है, जो ProxySQL होस्टग्रुप कॉन्फ़िगरेशन के साथ प्राप्त करने योग्य है। विफलता का कोई एकल-बिंदु प्रदान करने के लिए, हम दो ProxySQL इंस्टेंसेस को परिनियोजित करेंगे और उन्हें Keepalived द्वारा एक वर्चुअल IP पते से जोड़ेंगे।
निम्नलिखित आरेख हमारी अंतिम वास्तुकला को दर्शाता है:
सबसे पहले, तीन-नोड Percona XtraDB क्लस्टर 5.7 तैनात करें। ClusterControl स्थापित करें, SSH कुंजी उत्पन्न करें और ClusterControl होस्ट से सभी नोड्स (ProxySQL सहित) में पासवर्ड रहित SSH सेटअप करें। ClusterControl नोड पर, करें:
$ whoami
root
$ ssh-keygen -t rsa
$ for i in 192.168.0.21 192.168.0.22 192.168.0.23 192.168.0.11 192.168.0.12; do ssh-copy-id $i; done
अपने क्लस्टर को परिनियोजित करने से पहले, हमें MySQL कॉन्फ़िगरेशन टेम्प्लेट फ़ाइल को संशोधित करना होगा जिसका उपयोग ClusterControl MySQL सर्वर स्थापित करते समय करेगा। टेम्पलेट फ़ाइल का नाम my57.cnf.galera है और ClusterControl होस्ट पर /usr/share/cmon/templates/ के अंतर्गत स्थित है। सुनिश्चित करें कि निम्नलिखित पंक्तियाँ [mysqld] अनुभाग के अंतर्गत मौजूद हैं:
[mysqld]
...
transaction-isolation=READ-COMMITTED
wsrep_sync_wait=7
...
फ़ाइल सहेजें और हम जाने के लिए तैयार हैं। जैसा कि कैमुंडा डॉक्स में कहा गया है, उपरोक्त आवश्यकताएं हैं, विशेष रूप से गैलेरा के लिए समर्थित लेनदेन अलगाव पर। वेरिएबल wsrep_sync_wait को रीड (चयन, शो, और BEGIN या START TRANSACTION सहित), UPDATE, DELETE, INSERT, और REPLACE स्टेटमेंट के लिए क्लस्टर-वाइड करणीय जांच करने के लिए 7 पर सेट किया गया है, यह सुनिश्चित करते हुए कि स्टेटमेंट पूरी तरह से सिंक किए गए नोड पर निष्पादित होता है। ध्यान रखें कि 0 के अलावा अन्य मान के परिणामस्वरूप विलंबता बढ़ सकती है।
ClusterControl -> परिनियोजन -> MySQL गैलेरा . पर जाएं और निम्नलिखित विवरण निर्दिष्ट करें (यदि उल्लेख नहीं किया गया है, तो डिफ़ॉल्ट मान का उपयोग करें):
- एसएसएच उपयोगकर्ता:रूट
- एसएसएच कुंजी पथ:/root/.ssh/id_rsa
- क्लस्टर का नाम:Percona XtraDB क्लस्टर 5.7
- विक्रेता:पेरकोना
- संस्करण:5.7
- व्यवस्थापक/रूट पासवर्ड:{एक पासवर्ड निर्दिष्ट करें}
- नोड जोड़ें:192.168.0.21 (एंटर दबाएं), 192.168.0.22 (एंटर दबाएं), 192.168.0.23 (एंटर दबाएं)
सुनिश्चित करें कि आपको सभी हरे रंग के टिक मिले हैं, यह दर्शाता है कि ClusterControl नोड से पासवर्ड रहित रूप से कनेक्ट होने में सक्षम है। परिनियोजन प्रारंभ करने के लिए "तैनाती" पर क्लिक करें।
डेटाबेस नोड्स में से किसी एक पर डेटाबेस, MySQL उपयोगकर्ता और पासवर्ड बनाएँ:
mysql> CREATE DATABASE camunda;
mysql> CREATE USER [email protected]'%' IDENTIFIED BY 'passw0rd';
mysql> GRANT ALL PRIVILEGES ON camunda.* TO [email protected]'%';
या ClusterControl इंटरफ़ेस से, आप प्रबंधित करें -> स्कीमा और उपयोगकर्ता . का उपयोग कर सकते हैं इसके बजाय:
एक बार क्लस्टर परिनियोजित हो जाने पर, ClusterControl -> प्रबंधित करें -> लोड बैलेंसर -> ProxySQL -> ProxySQL तैनात करें पर जाकर ProxySQL स्थापित करें। और निम्नलिखित विवरण दर्ज करें:
- सर्वर पता:192.168.0.11
- प्रशासन पासवर्ड:
- पासवर्ड की निगरानी करें:
- डीबी उपयोगकर्ता:कैमुंडा
- डीबी पासवर्ड:passw0rd
- क्या आप निहित लेनदेन का उपयोग कर रहे हैं?:हाँ
सर्वर पता को बदलकर, दूसरी ProxySQL आवृत्ति के लिए ProxySQL परिनियोजन चरण को दोहराएँ 192.168.0.12 का मान। Keepalived द्वारा प्रदान किए गए वर्चुअल IP पते के लिए कम से कम दो ProxySQL इंस्टेंस को तैनात और चलाने की आवश्यकता होती है। अंत में, ClusterControl -> प्रबंधित करें -> लोड बैलेंसर -> Keepalived पर जाकर वर्चुअल IP पता परिनियोजित करें और दोनों ProxySQL नोड्स चुनें और VIP को सुनने के लिए वर्चुअल IP पता और नेटवर्क इंटरफ़ेस निर्दिष्ट करें:
हमारा डेटाबेस बैकएंड अब पूरा हो गया है। इसके बाद, SQL फ़ाइलों को बनाए गए MySQL उपयोगकर्ता के रूप में Galera क्लस्टर में आयात करें। एप्लिकेशन सर्वर पर, "एसक्यूएल" निर्देशिका पर जाएं और उन्हें गैलेरा नोड्स में से एक में आयात करें (हम 192.168.0.21 चुनते हैं):
$ cd ~/camunda/sql/create
$ yum install mysql #install mysql client
$ mysql -ucamunda -p -h192.168.0.21 camunda < mysql_engine_7.10.0.sql
$ mysql -ucamunda -p -h192.168.0.21 camunda < mysql_identity_7.10.0.sql
कैमुंडा जावा के लिए MySQL कनेक्टर प्रदान नहीं करता है क्योंकि इसका डिफ़ॉल्ट डेटाबेस H2 है। एप्लिकेशन सर्वर पर, MySQL Connector/J को MySQL डाउनलोड पेज से डाउनलोड करें और JAR फाइल को Apache Tomcat bin डायरेक्टरी में कॉपी करें:
$ wget https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-8.0.15.tar.gz
$ tar -xzf mysql-connector-java-8.0.15.tar.gz
$ cd mysql-connector-java-8.0.15
$ cp mysql-connector-java-8.0.15.jar ~/camunda/server/apache-tomcat-9.0.12/bin/
फिर, डेटाबेस कनेक्टर को शामिल करने के लिए CLASSPATH पर्यावरण चर सेट करें। पाठ संपादक का उपयोग करके setenv.sh खोलें:
$ vim ~/camunda/server/apache-tomcat-9.0.12/bin/setenv.sh
और निम्न पंक्ति जोड़ें:
export CLASSPATH=$CLASSPATH:$CATALINA_HOME/bin/mysql-connector-java-8.0.15.jar
~/camunda/server/apache-tomcat-9.0.12/conf/server.xml खोलें और डेटास्टोर से संबंधित लाइनों को बदलें। प्रॉक्सीएसक्यूएल पोर्ट 6033 के साथ कनेक्शन स्ट्रिंग में वर्चुअल आईपी एड्रेस को MySQL होस्ट के रूप में निर्दिष्ट करें:
<Resource name="jdbc/ProcessEngine"
...
driverClassName="com.mysql.jdbc.Driver"
defaultTransactionIsolation="READ_COMMITTED"
url="jdbc:mysql://192.168.0.10:6033/camunda"
username="camunda"
password="passw0rd"
...
/>
अंत में, हम start-camunda.sh . को क्रियान्वित करके कैमुंडा सेवा शुरू कर सकते हैं स्क्रिप्ट:
$ cd ~/camunda
$ ./start-camunda.sh
starting camunda BPM platform on Tomcat Application Server
Using CATALINA_BASE: ./server/apache-tomcat-9.0.12
Using CATALINA_HOME: ./server/apache-tomcat-9.0.12
Using CATALINA_TMPDIR: ./server/apache-tomcat-9.0.12/temp
Using JRE_HOME: /
Using CLASSPATH: :./server/apache-tomcat-9.0.12/bin/mysql-connector-java-8.0.15.jar:./server/apache-tomcat-9.0.12/bin/bootstrap.jar:./server/apache-tomcat-9.0.12/bin/tomcat-juli.jar
Tomcat started.
सुनिश्चित करें कि आउटपुट में दिखाए गए क्लासस्पैट में MySQL कनेक्टर/J JAR फ़ाइल का पथ शामिल है। इनिशियलाइज़ेशन पूरा होने के बाद, आप http://192.168.0.8:8080/camunda/ पर पोर्ट 8080 पर कैमुंडा वेबएप्स एक्सेस कर सकते हैं। . डिफ़ॉल्ट उपयोगकर्ता नाम 'डेमो' पासवर्ड के साथ डेमो है:
फिर आप नोड्स -> प्रॉक्सीएसक्यूएल -> शीर्ष क्वेरी . से डाइजेस्ट कैप्चर क्वेरी देख सकते हैं , यह दर्शाता है कि एप्लिकेशन गैलेरा क्लस्टर के साथ सही ढंग से इंटरैक्ट कर रहा है:
ProxySQL के लिए कोई पठन-लेखन विभाजन कॉन्फ़िगर नहीं किया गया है। कैमुंडा लेन-देन को आरंभ करने के लिए प्रत्येक SQL कथन पर "SET autocommit=0" का उपयोग करता है और लक्ष्य होस्टग्रुप के समान बैकएंड सर्वर पर सभी प्रश्नों को भेजकर ProxySQL के लिए इसे संभालने का सबसे अच्छा तरीका है। बेहतर उपलब्धता के साथ-साथ यह सबसे सुरक्षित तरीका है। हालांकि, सभी कनेक्शन एक ही सर्वर तक पहुंच सकते हैं, इसलिए लोड संतुलन नहीं है।
मारियाडीबी गैलेरा
मारियाडीबी कनेक्टर/जे विभिन्न प्रकार के कनेक्शन मोड - फेलओवर, अनुक्रमिक, प्रतिकृति और ऑरोरा को संभालने में सक्षम है - लेकिन कैमुंडा केवल विफलता और अनुक्रमिक का समर्थन करता है। मारियाडीबी कनेक्टर/जे दस्तावेज से लिया गया:
मोड | <थ>विवरण|
---|---|
अनुक्रमिक (1.3.0 से उपलब्ध) | यह मोड मारियाडीबी गैलेरा क्लस्टर जैसे बहु-मास्टर वातावरण में कनेक्शन विफलता का समर्थन करता है। यह मोड गुलामों पर लोड-बैलेंसिंग रीडिंग का समर्थन नहीं करता है। कनेक्टर होस्ट से उस क्रम में कनेक्ट होने का प्रयास करेगा जिसमें उन्हें कनेक्शन URL में घोषित किया गया था, इसलिए सभी प्रश्नों के लिए पहले उपलब्ध होस्ट का उपयोग किया जाता है। उदाहरण के लिए, मान लें कि कनेक्शन URL निम्नलिखित है: जब कनेक्टर कनेक्ट करने का प्रयास करता है, तो यह हमेशा पहले host1 का प्रयास करेगा। यदि वह होस्ट उपलब्ध नहीं है, तो वह host2 का प्रयास करेगा। आदि। जब कोई होस्ट विफल हो जाता है, तो कनेक्टर उसी क्रम में होस्ट से पुनः कनेक्ट करने का प्रयास करेगा। |
विफलता (1.2.0 से उपलब्ध) | यह मोड मारियाडीबी गैलेरा क्लस्टर जैसे बहु-मास्टर वातावरण में कनेक्शन विफलता का समर्थन करता है। यह मोड गुलामों पर लोड-बैलेंसिंग रीडिंग का समर्थन नहीं करता है। कनेक्टर प्रत्येक कनेक्शन के लिए कनेक्शन URL से बेतरतीब ढंग से एक होस्ट चुनकर सभी प्रश्नों के लिए लोड-बैलेंसिंग करता है, इसलिए सभी होस्टों में बेतरतीब ढंग से वितरित होने वाले कनेक्शन के परिणामस्वरूप क्वेरी लोड-बैलेंस हो जाएंगी। |
"विफलता" मोड का उपयोग करने से गतिरोध का एक उच्च संभावित जोखिम होता है, क्योंकि लेखन सभी बैकएंड सर्वरों को लगभग समान रूप से वितरित किया जाएगा। एकल-लेखक दृष्टिकोण चलाने का एक सुरक्षित तरीका है, जिसका अर्थ है कि अनुक्रमिक मोड का उपयोग करके काम बहुत अच्छी तरह से करना चाहिए। आप आर्किटेक्चर में लोड-बैलेंसर टियर को भी छोड़ सकते हैं। इसलिए मारियाडीबी जावा कनेक्टर के साथ, हम अपने आर्किटेक्चर को नीचे की तरह सरल तरीके से तैनात कर सकते हैं:
इससे पहले कि हम अपना क्लस्टर परिनियोजित करें, मारियाडीबी कॉन्फ़िगरेशन टेम्प्लेट फ़ाइल को संशोधित करें जिसका उपयोग क्लस्टरकंट्रोल मारियाडीबी सर्वर स्थापित करते समय करेगा। टेम्पलेट फ़ाइल का नाम my.cnf.galera है और ClusterControl होस्ट पर /usr/share/cmon/templates/ के अंतर्गत स्थित है। सुनिश्चित करें कि निम्नलिखित पंक्तियाँ [mysqld] अनुभाग के अंतर्गत मौजूद हैं:
[mysqld]
...
transaction-isolation=READ-COMMITTED
wsrep_sync_wait=7
performance_schema = ON
...
फ़ाइल सहेजें और हम जाने के लिए तैयार हैं। थोड़ा सा स्पष्टीकरण, उपरोक्त सूची आवश्यकताएँ हैं जैसा कि कैमुंडा डॉक्स में कहा गया है, विशेष रूप से गैलेरा के लिए समर्थित लेनदेन अलगाव पर। वेरिएबल wsrep_sync_wait को रीड (चयन, शो, और BEGIN या START TRANSACTION सहित), UPDATE, DELETE, INSERT, और REPLACE स्टेटमेंट के लिए क्लस्टर-वाइड करणीय जांच करने के लिए 7 पर सेट किया गया है, यह सुनिश्चित करते हुए कि स्टेटमेंट पूरी तरह से सिंक किए गए नोड पर निष्पादित होता है। ध्यान रखें कि 0 के अलावा अन्य मान के परिणामस्वरूप विलंबता बढ़ सकती है। प्रदर्शन स्कीमा को सक्षम करना ClusterControl क्वेरी निगरानी सुविधा के लिए वैकल्पिक है।
अब हम क्लस्टर परिनियोजन प्रक्रिया शुरू कर सकते हैं। ClusterControl स्थापित करें, SSH कुंजी उत्पन्न करें और ClusterControl होस्ट से सभी गैलेरा नोड्स में पासवर्ड रहित SSH सेटअप करें। ClusterControl नोड पर, करें:
$ whoami
root
$ ssh-keygen -t rsa
$ for i in 192.168.0.41 192.168.0.42 192.168.0.43; do ssh-copy-id $i; done
ClusterControl -> परिनियोजन -> MySQL गैलेरा . पर जाएं और निम्नलिखित विवरण निर्दिष्ट करें (यदि उल्लेख नहीं किया गया है, तो डिफ़ॉल्ट मान का उपयोग करें):
- एसएसएच उपयोगकर्ता:रूट
- एसएसएच कुंजी पथ:/root/.ssh/id_rsa
- क्लस्टर का नाम:मारियाडीबी गैलेरा 10.3
- विक्रेता:मारियाडीबी
- संस्करण:10.3
- व्यवस्थापक/रूट पासवर्ड:{एक पासवर्ड निर्दिष्ट करें}
- नोड जोड़ें:192.168.0.41 (एंटर दबाएं), 192.168.0.42 (एंटर दबाएं), 192.168.0.43 (एंटर दबाएं)
सुनिश्चित करें कि नोड्स जोड़ते समय आपको सभी हरे रंग के टिक मिले हैं, यह दर्शाता है कि ClusterControl नोड से पासवर्ड रहित रूप से कनेक्ट होने में सक्षम है। परिनियोजन प्रारंभ करने के लिए "तैनाती" पर क्लिक करें।
गैलेरा नोड्स में से किसी एक पर डेटाबेस, मारियाडीबी उपयोगकर्ता और पासवर्ड बनाएं:
mysql> CREATE DATABASE camunda;
mysql> CREATE USER [email protected]'%' IDENTIFIED BY 'passw0rd';
mysql> GRANT ALL PRIVILEGES ON camunda.* TO [email protected]'%';
ClusterControl उपयोगकर्ता के लिए, आप ClusterControl -> प्रबंधित करें -> स्कीमा और उपयोगकर्ता . का उपयोग कर सकते हैं इसके बजाय:
हमारा डेटाबेस क्लस्टर परिनियोजन अब पूरा हो गया है। इसके बाद, SQL फ़ाइलों को MariaDB क्लस्टर में आयात करें। एप्लिकेशन सर्वर पर, "एसक्यूएल" निर्देशिका पर जाएं और उन्हें मारियाडीबी नोड्स में से एक में आयात करें (हमने 192.168.0.41 को चुना):
$ cd ~/camunda/sql/create
$ yum install mysql #install mariadb client
$ mysql -ucamunda -p -h192.168.0.41 camunda < mariadb_engine_7.10.0.sql
$ mysql -ucamunda -p -h192.168.0.41 camunda < mariadb_identity_7.10.0.sql
कैमुंडा जावा के लिए मारियाडीबी कनेक्टर प्रदान नहीं करता है क्योंकि इसका डिफ़ॉल्ट डेटाबेस एच 2 है। एप्लिकेशन सर्वर पर, मारियाडीबी कनेक्टर/जे को मारियाडीबी डाउनलोड पेज से डाउनलोड करें और जेएआर फाइल को अपाचे टॉमकैट बिन डायरेक्टरी में कॉपी करें:
$ wget https://downloads.mariadb.com/Connectors/java/connector-java-2.4.1/mariadb-java-client-2.4.1.jar
$ cp mariadb-java-client-2.4.1.jar ~/camunda/server/apache-tomcat-9.0.12/bin/
फिर, डेटाबेस कनेक्टर को शामिल करने के लिए CLASSPATH पर्यावरण चर सेट करें। पाठ संपादक के माध्यम से setenv.sh खोलें:
$ vim ~/camunda/server/apache-tomcat-9.0.12/bin/setenv.sh
और निम्न पंक्ति जोड़ें:
export CLASSPATH=$CLASSPATH:$CATALINA_HOME/bin/mariadb-java-client-2.4.1.jar
~/camunda/server/apache-tomcat-9.0.12/conf/server.xml खोलें और डेटास्टोर से संबंधित लाइनों को बदलें। अनुक्रमिक कनेक्शन प्रोटोकॉल का उपयोग करें और कनेक्शन स्ट्रिंग में अल्पविराम द्वारा अलग किए गए सभी गैलेरा नोड्स को सूचीबद्ध करें:
<Resource name="jdbc/ProcessEngine"
...
driverClassName="org.mariadb.jdbc.Driver"
defaultTransactionIsolation="READ_COMMITTED"
url="jdbc:mariadb:sequential://192.168.0.41:3306,192.168.0.42:3306,192.168.0.43:3306/camunda"
username="camunda"
password="passw0rd"
...
/>
अंत में, हम start-camunda.sh . को क्रियान्वित करके कैमुंडा सेवा शुरू कर सकते हैं स्क्रिप्ट:
$ cd ~/camunda
$ ./start-camunda.sh
starting camunda BPM platform on Tomcat Application Server
Using CATALINA_BASE: ./server/apache-tomcat-9.0.12
Using CATALINA_HOME: ./server/apache-tomcat-9.0.12
Using CATALINA_TMPDIR: ./server/apache-tomcat-9.0.12/temp
Using JRE_HOME: /
Using CLASSPATH: :./server/apache-tomcat-9.0.12/bin/mariadb-java-client-2.4.1.jar:./server/apache-tomcat-9.0.12/bin/bootstrap.jar:./server/apache-tomcat-9.0.12/bin/tomcat-juli.jar
Tomcat started.
सुनिश्चित करें कि आउटपुट में दिखाए गए क्लासस्पैट में मारियाडीबी जावा क्लाइंट जेएआर फ़ाइल का पथ शामिल है। इनिशियलाइज़ेशन पूरा होने के बाद, आप http://192.168.0.8:8080/camunda/ पर पोर्ट 8080 पर कैमुंडा वेबएप्स एक्सेस कर सकते हैं। . डिफ़ॉल्ट उपयोगकर्ता नाम 'डेमो' पासवर्ड के साथ डेमो है:
आप डाइजेस्ट कैप्चर क्वेरीज़ को ClusterControl -> Query Monitor -> Top queries . से देख सकते हैं , यह दर्शाता है कि एप्लिकेशन मारियाडीबी क्लस्टर के साथ सही ढंग से इंटरैक्ट कर रहा है:
मारियाडीबी कनेक्टर/जे के साथ, हमें लोड बैलेंसर टियर की आवश्यकता नहीं है जो हमारे समग्र आर्किटेक्चर को सरल बनाता है। अनुक्रमिक कनेक्शन मोड को बहु-लेखक गतिरोध से बचने के लिए चाल चलनी चाहिए - जो गैलेरा में हो सकती है। यह सेटअप MySQL या MariaDB नोड्स के क्लस्टर तक पहुँचने के लिए JDBC के साथ कॉन्फ़िगर किए गए प्रत्येक Camunda इंस्टेंस के साथ उच्च उपलब्धता प्रदान करता है। गैलेरा वास्तविक समय में डेटाबेस इंस्टेंस के बीच डेटा को सिंक्रोनाइज़ करने का ध्यान रखता है।