Ruk-Com Cloud PaaS จัดเตรียมการจัดกลุ่มอัตโนมัติตามความต้องการของการจัดการเทมเพลต โดยระบบอัตโนมัติจะช่วยลดความยุ่งยากและเพิ่มความเร็วในการสร้างคลัสเตอร์ที่พร้อมสำหรับการผลิตโปรเจกต์ที่เชื่อถือได้
ในส่วนด้านล่างเราจะอธิบายตามหัวข้อต่อไปนี้:
- การรองรับสแต็ก (สำหรับการคลัสเตอร์โดยเฉพาะ)
- การจัดการคลัสเตอร์อัตโนมัติ
- การใช้ cloud scripting
เทมเพลตที่รองรับการทำคลัสเตอร์อัตโนมัติ
ในปัจจุบัน เทมเพลตต่อไปนี้รองรับฟีเจอร์การทำคลัสเตอร์ที่เพิ่มใหม่ (พร้อมกับสแต็กที่จะเพิ่มในอนาคต):
- Application servers – Tomcat/TomEE, GlassFish, Payara, Jenkins, WildFly
- SQL databases – MySQL, MariaDB, PostgreSQL
- NoSQL database – Couchbase, MongoDB
- Storage server – Shared Storage Container
เคล็ดลับ: ผู้ให้บริการโฮสต์ของคุณสามารถกำหนดค่าและใช้การจัดกลุ่มอัตโนมัติสำหรับสแต็กเพิ่มเติมบางตัวที่ไม่ได้กำหนดไว้ในรายการ
Tomcat/TomEE
Tomcat/TomEE cluster ที่มีความพร้อมใช้งานสูงสามารถปรับ balance load ข้ามการคำนวณโหนดเพื่อเพิ่มประสิทธิภาพและความยืดหยุ่น การจัดเตรียมการจำลองเซสชัน, การจำลองแบบ context attribute, และการปรับใช้ไฟล์ WAR ทั่วทั้งคลัสเตอร์
เพิ่มเติม: ฟีเจอร์ Auto-Clustering สำหรับ Tomcat และ TomEE จะมีให้ใช้งานตั้งแต่สแต็กเวอร์ชันต่อไปนี้
Tomcat – 10.0.5; 9.0.45; 8.5.64; 7.0.108
TomEE – 9.0.0-M3; 8.0.5
เรียนรู้เพิ่มเติมเกี่ยวกับ Tomcat/TomEE >>
GlassFish
การเชื่อมต่อระหว่าง GlassFish เซิร์ฟเวอร์ด้วยการจำลองเซสชันที่กำหนดค่าไว้ล่วงหน้าและการทำโหลดบาลานซ์
เรียนรู้เพิ่มเติมเกี่ยวกับ GlassFish >>
Payara
การเชื่อมต่อระหว่าง Payara เซิร์ฟเวอร์ด้วยการจำลองเซสชันที่กำหนดค่าไว้ล่วงหน้าและการทำโหลดบาลานซ์
เรียนรู้เพิ่มเติมเกี่ยวกับ Payara >>
Jenkins
Master Jenkins node ในโหมด master-slave ที่ปรับขนาดผู้ใช้งาน Java Engine โดยอัตโนมัติและติดตั้งปลั๊กอินล่วงหน้าเพื่อรองรับการสร้างและการ deploy ระบบอัตโนมัติสำหรับการจัดตั้ง continuous integration (CI) และ continuous delivery (CD) pipelines
เรียนรู้เพิ่มเติมเกี่ยวกับ Jenkins >>
WildFly
WildFly nodes ในโหมดโดเมนที่เปิดใช้งานคลัสเตอร์เพื่อให้มีความพร้อมใช้งานสูงและรับประกันประสิทธิภาพอย่างต่อเนื่องของแอปพลิเคชันที่ deploy Java EE
เรียนรู้เพิ่มเติมเกี่ยวกับ WildFly >>
MySQL
การคลัสเตอร์อัตโนมัติจัดเตรียมให้สำหรับ MySQL เวอร์ชัน 5.7.x และ 8.x เท่านั้น
การคลัสเตอร์ database โดยอัตโนมัติด้วยการจำลองแบบกำหนดค่าไว้ล่วงหน้าและการค้นหาโหนดอัตโนมัติ คุณสามารถเลือกแบบแผนต่อไปนี้ได้ตามประเภทที่คุณต้องการ:
- Master-Master กับ Extra Slaves
การจำลองแบบที่กำหนดค่าไว้ล่วงหน้าด้วย master databases 2 ตัวเชื่อมต่อกัน ในระหว่างการปรับขนาดแนวนอนคลัสเตอร์จะขยายด้วย slave nodes เพิ่มเติม
- Master-Slave กับ Extra Slaves
การจำลองแบบที่กำหนดค่าไว้ล่วงหน้าด้วย 1 master และ 1 slave database ในระหว่างการปรับขนาดแนวนอนคลัสเตอร์จะขยายด้วย slave nodes เพิ่มเติม
เรียนรู้เพิ่มเติมเกี่ยวกับ MySQL >>
MariaDB
การคลัสเตอร์อัตโนมัติจัดเตรียมให้สำหรับ MariaDB เวอร์ชัน 10.x เท่านั้น
การคลัสเตอร์ database โดยอัตโนมัติด้วยการจำลองแบบกำหนดค่าไว้ล่วงหน้าและการค้นหาโหนดอัตโนมัติ คุณสามารถเลือกแบบแผนต่อไปนี้ได้ตามประเภทที่คุณต้องการ:
- Master-Master กับ Extra Slaves
การจำลองแบบที่กำหนดค่าไว้ล่วงหน้าด้วย master databases 2 ตัวเชื่อมต่อกัน ในระหว่างการปรับขนาดแนวนอนคลัสเตอร์จะขยายด้วย slave nodes เพิ่มเติม
- Master-Slave กับ Extra Slaves
การจำลองแบบที่กำหนดค่าไว้ล่วงหน้าด้วย 1 master และ 1 slave database ในระหว่างการปรับขนาดแนวนอนคลัสเตอร์จะขยายด้วย slave nodes เพิ่มเติม
- Galera Cluster
เซิร์ฟเวอร์ทั้งหมดสามารถยอมรับการอัปเดตได้แม้ว่าออกพร้อมกัน
เรียนรู้เพิ่มเติมเกี่ยวกับ MariaDB >>
PostgreSQL
PostgreSQL database cluster ที่กำหนดค่าไว้ล่วงหน้าพร้อมการจำลอง master-slave แบบ asynchronous และการเพิ่มโหนดใหม่โดยอัตโนมัติในคลัสเตอร์ (slaves)
เรียนรู้เพิ่มเติมเกี่ยวกับ PostgreSQL >>
Couchbase
Couchbase servers ที่เชื่อมต่ออัตโนมัติพร้อมกับการสเกลอัตโนมัติและการปรับสมดุลใหม่เพื่อให้ระบบจัดเก็บข้อมูลที่มีความพร้อมใช้งานสูงเพียงระบบเดียว
เรียนรู้เพิ่มเติมเกี่ยวกับ Couchbase >>
MongoDB
การกำหนดค่าอัตโนมัติของเซตแบบจำลอง MongoDB ที่มีความพร้อมใช้งานสูงและเชื่อถือได้พร้อมทั้งการค้นหาโหนดใหม่โดยอัตโนมัติ
เรียนรู้เพิ่มเติมเกี่ยวกับ MongoDB >>
Shared Storage Container
คลัสเตอร์การจัดเก็บข้อมูลที่กำหนดค่าโดยอัตโนมัติและเชื่อถือได้ (volume ที่ทำซ้ำ) ขึ้นอยู่กับโซลูชัน Gluster ซึ่งรับประกันความปลอดภัยของข้อมูล ในกรณีที่โหนดเกิดความล้มเหลวโหนดหนึ่งหรือหลายโหนด AutoFS client จะสลับไปยังอินสแตนซ์ที่ทำงานโดยอัตโนมัติ ทำให้พื้นที่จัดเก็บมีความพร้อมใช้งานสูง
เรียนรู้เพิ่มเติมเกี่ยวกับ Shared Storage Container >>
การจัดการคลัสเตอร์อัตโนมัติ
1. ฟีเจอร์ Auto-Clustering สามารถเปิดใช้งานสำหรับกลุ่มโหนดผ่านปุ่มสลับ ON/OFF ที่ส่วนกลางของ topology wizard (หากมีให้สำหรับสแต็กที่เลือก)
- เคล็ดลับ: ตัวเลือกการคลัสเตอร์อัตโนมัติขึ้นอยู่กับการใช้งานโดยเฉพาะ
- คำสั่งเปิดใช้งาน (สำหรับ Couchbase database)
- การตั้งค่าบางอย่างเพิ่มเติม (เช่น cluster scheme และ ProxySQL load balancerสำหรับ MySQL database)
- การจำกัดจำนวนโหนดต่ำสุดและสูงสุดและโหมดการปรับขนาด (เช่น สำหรับประเภท MariaDB Galera)
- คำสั่งเปิดใช้งาน (สำหรับ Couchbase database)
2. ข้อมูลเพิ่มเติมเกี่ยวกับคลัสเตอร์ที่จะสร้าง คุณสามารถวางเมาส์เหนือเครื่องหมายคำถามถัดจาก Auto-Clustering ภายในกรอบป๊อปอัปที่เหมาะสมคุณจะเห็นคำอธิบายสั้นๆซึ่งจะประกอบด้วยแผนผัง topology
เคล็ดลับ: ข้อมูลเพิ่มเติมเกี่ยวกับประเภทของ database cluster สามารถดูได้โดยวางเมาส์เหนือ Scheme ที่เหมาะสม:
3. การตั้งค่าอื่นๆ สามารถกำหนดค่าได้เช่นเดียวกับ environment ทั่วไป
หมายเหตุ: หลังจากกำหนดค่าแล้วการทำคลัสเตอร์อัตโนมัติจะไม่สามารถปิดใช้งานได้จาก topology wizard
คุณสามารถติดตาม logs การกำหนดค่าคลัสเตอร์ผ่านแพลตฟอร์มคอนโซล:
https://app.{platformDomain}/console
การตั้งค่าคลัสเตอร์อัตโนมัติด้วย Cloud Scripting
ในการกำหนดการตั้งค่าคลัสเตอร์อัตโนมัติใน JPS solutions คุณสามารถใช้คุณสมบัติของคลัสเตอร์ใหม่ได้ยกตัวอย่างเช่น:
1. เปิดหรือปิดใช้งานการทำคลัสเตอร์อัตโนมัติสำหรับเลเยอร์เฉพาะ
"nodeGroup": "couchbase",
"cluster": true | false
2. พารามิเตอร์เพิ่มเติมสำหรับการทำคลัสเตอร์อัตโนมัติสามารถระบุได้ด้วยวิธีต่อไปนี้ (ตัวอย่างเช่น เลือก database cluster scheme):
"nodeGroup": "mysql",
"cluster": {
"scheme": "master"
}
3. หากจำเป็น JPS manifest เริ่มต้นมีขั้นตอนการทำคลัสเตอร์ที่สามารถแทนที่ด้วยรายการแบบกำหนดเองได้:
"nodeGroup": "mysql",
"cluster": {
"jps": "http://.../custom-manifest.jps",
"settings": {
"scheme": "master"
}
}
4. ขึ้นอยู่กับความต้องการของการคลัสเตอร์โดยเฉพาะซึ่งอาจจำเป็นต้องมีการจำกัด topology (เช่น จำนวนโหนดต่ำสุด/สูงสุด โหมดการปรับขนาด ฯลฯ) จะดำเนินการผ่านคุณสมบัติการตรวจสอบ
พารามิเตอร์นี้สามารถระบุแพ็คเกจสำหรับ JPS ใดก็ได้ เช่น ตรวจสอบตัวอย่าง YAML ด้านล่าง:
type: install
name: Validation
nodes:
image: alpine
nodeGroup: cp
count: 2
validation:
minCount: 2
maxCount: 3
scalingMode: stateful
เพียงเท่านี้คุณก็สามารถใช้ auto-clustering solutions ที่รองรับโดย Ruk-Com Cloud ได้อย่างง่ายดาย