ศูนย์คู่มือ Ruk-Com PaaS

คู่มือการพัฒนา Deploy และดูแล Application บนแพลตฟอร์ม

RUK-COM PAAS / JAVA

คู่มือ Tomcat/TomEE Cluster สำหรับ Java

คู่มือนี้เรียบเรียงสำหรับ Ruk-Com PaaS หน้าจอและตัวเลือกอาจแตกต่างตามเวอร์ชันและสิทธิ์ของบัญชี

ตรวจสอบ Environment, Region, สิทธิ์บัญชี และสำรองค่าปัจจุบันก่อนดำเนินการกับระบบจริง

คู่มือภาษาไทย

คำสั่ง ชื่อเมนู พารามิเตอร์ และค่าตัวอย่างในกรอบ Code คงรูปแบบตามระบบเพื่อให้คัดลอกและตรวจสอบได้ถูกต้อง

อาปาเช่แมวตัวผู้เป็นเซิร์ฟเวอร์แอปพลิเคชันโอเพ่นซอร์สที่ดูแลโดยชุมชน Apache เป็นหนึ่งในโซลูชันยอดนิยมสำหรับการโฮสต์แอปพลิเคชัน Java เนื่องจากใช้งานง่ายและมีน้ำหนักเบาแต่ยังมีฟังก์ชันการใช้งานที่หลากหลายอย่างไรก็ตามหากคุณดำเนินโครงการตามจาการ์ตา EE8 (หรือสูงกว่า) คุณอาจสนใจที่จะใช้ทอมอีเซิร์ฟเวอร์ที่มีเทคโนโลยีระดับองค์กรที่จำเป็นในตัวซึ่งไม่พบใน Tomcat

เนื่องจากสแต็กเหล่านี้ได้รับความนิยมอย่างมากทั่วโลกและโดยเฉพาะอย่างยิ่งภายใน Ruk-Com PaaS เราจึงได้ตัดสินใจแบ่งปันเคล็ดลับเกี่ยวกับวิธีการติดตั้งเซิร์ฟเวอร์ Tomcat และ TomEE ที่คลัสเตอร์โดยอัตโนมัติเพื่อให้ได้โซลูชันที่มีความพร้อมใช้งานสูงสามารถรองรับผู้ใช้จำนวนมากได้อย่างมีประสิทธิภาพประมวลผลปริมาณข้อมูลสูงและเชื่อถือได้

ก่อนที่จะเริ่มการพัฒนาแพ็คเกจการทำงานอัตโนมัติของคลัสเตอร์ Tomcat ทีมของเราได้รวบรวมข้อกำหนดที่โซลูชันนี้ควรบรรลุหรือที่เราเรียกกันว่าความท้าทาย:

  • การประมวลผลคำขอจำนวนมากอย่างมีประสิทธิภาพ (ประสิทธิภาพ)
  • รองรับการปรับขยายแนวนอนในกรณีที่มีการเติบโตของปริมาณงาน
  • เวลาหยุดทำงานเป็นศูนย์ในกรณีที่เกิดความล้มเหลว (ความทนทานต่อข้อผิดพลาด)

เมื่อคำนึงถึงเป้าหมายเหล่านี้แล้วเราได้วิเคราะห์ตัวอย่างที่ประสบความสำเร็จมากมายทางอินเทอร์เน็ตเพื่อสร้างโซลูชันที่สามารถรวมเข้ากับแพลตฟอร์มได้อย่างราบรื่น

คุณสามารถดูข้อมูลเพิ่มเติมเกี่ยวกับการ Deploy การทำคลัสเตอร์อัตโนมัติ Tomcat และ TomEE ใน Ruk-Com PaaS ได้ที่ด้านล่างนี้รวมถึงวิธีทำให้คลัสเตอร์เหล่านี้พร้อมใช้งาน

การติดตั้งคลัสเตอร์อัตโนมัติ Tomcat/TomEE

มีบทช่วยสอนมากมายเกี่ยวกับวิธีตั้งค่าคลัสเตอร์ Tomcat แต่การกำหนดค่าค่อนข้างซับซ้อนและมีการกำหนดค่ามากมายซึ่งทำให้ดูเหมือนเป็นจำนวนมากอย่างไรก็ตามด้วยการจัดกลุ่มอัตโนมัติคุณลักษณะนี้เราได้ดำเนินการเพิ่มเติมและทำให้กระบวนการทั้งหมดเป็นแบบอัตโนมัติทำให้ง่ายเพียงแค่พลิกสวิตช์

  1. เข้าสู่ระบบบัญชี Ruk-Com PaaS ของคุณแล้วคลิกEnvironment ใหม่ที่ด้านบน

Image 38: new environment button2. ในที่โล่งตัวช่วยสร้างโทโพโลยี, เลือกแมวตัวผู้หรือทอมอีจากชวาแอปพลิเคชันเซิร์ฟเวอร์และเปิดใช้งานการจัดกลุ่มอัตโนมัติตัวสลับทำการปรับเปลี่ยนที่จำเป็นอื่นๆแล้วคลิกสร้าง.

Image 39: Tomcat auto-clustering topology3. ภายในไม่กี่นาทีคลัสเตอร์ Tomcat ของคุณจะปรากฏภายในแดชบอร์ด

Image 40: Tomcat cluster created

โทโพโลยีคลัสเตอร์ Tomcat/TomEE และข้อมูลเฉพาะ

โทโพโลยีของคลัสเตอร์ Tomcat ที่พร้อมใช้งานสูงนั้นตรงไปตรงมาและมีประสิทธิภาพโดยไม่มีองค์ประกอบที่ไม่จำเป็นเพื่อทำให้ซับซ้อนหรือลดประสิทธิภาพโทโพโลยีคลัสเตอร์เริ่มต้นมีลักษณะดังนี้:

Image 42: Tomcat TomEE cluster schemeโทโพโลยีดังกล่าวช่วยให้แน่ใจว่าเป็นไปตามข้อกำหนดด้านประสิทธิภาพและความทนทานต่อข้อผิดพลาดโหลดบาลานเซอร์ NGINXด้านหน้าคลัสเตอร์จะจัดการการกระจายปริมาณงานนอกจากนี้ยังลงทะเบียนการเปลี่ยนแปลงใดๆในคลัสเตอร์โดยอัตโนมัติโดยตอบสนองต่อการเพิ่มการลบหรือความล้มเหลวของ Node คอมพิวเตอร์คุณสามารถติดตามเราได้การทดสอบการปรับสมดุลโหลดบทช่วยสอนเพื่อรับการประเมินการกระจายภาระงาน

โดยทั่วไปแล้วการจัดกลุ่มอัตโนมัติสร้างคลัสเตอร์ TCP แบบง่ายซึ่งเชื่อมต่อเซิร์ฟเวอร์ Tomcat หลายตัวผ่านโปรโตคอล TCP ในการกำหนดค่าของเราเราจะค้นพบการเปลี่ยนแปลงเซสชันโดยอัตโนมัติและถ่ายโอนการเปลี่ยนแปลงเหล่านี้ไปยังอินสแตนซ์ Tomcat อื่นๆในคลัสเตอร์เมื่อ Node เชื่อมต่อถึงกัน Node จะสร้างชุดช่องซ็อกเก็ตผู้ส่งและผู้รับข้อมูลการจำลองเซสชันจะถูกถ่ายโอนโดยใช้ช่องทางเหล่านี้การใช้งานจัดให้มีการจำลองเซสชันการจำลองแอตทริบิวต์บริบทและการ Deploy ไฟล์ WAR ทั่วทั้งคลัสเตอร์นอกจากนี้ยังมีตัวดักหลายตัวที่กำหนดค่าให้ดักรับการถ่ายโอนข้อมูล

คุณสามารถดูเอกสารอย่างเป็นทางการสำหรับข้อมูลทั่วไปได้ที่การทำคลัสเตอร์ Tomcat และการจำลองเซสชัน. ในตัวเราการจัดกลุ่มอัตโนมัติการใช้งานการเปลี่ยนแปลงและการเพิ่มประสิทธิภาพเฉพาะคลัสเตอร์ทั้งหมดจะถูกรวบรวมไว้ในส่วนเฉพาะ/opt/tomcat/conf/tomcat-cluster.xmlไฟล์การกำหนดค่าเพื่อความสะดวก:

Image 43: Tomcat cluster configหากจำเป็นคุณสามารถตรวจสอบและปรับการตั้งค่าคลัสเตอร์ผ่านทางบิวท์อินได้ตัวจัดการไฟล์การกำหนดค่า.

  • ใช้ตัวเลือกคลัสเตอร์ TCP อย่างง่ายกับchannelSendOptions=“6”(channelSendOptions=“ซิงค์,use_ack”) พารามิเตอร์ผู้ส่งจะบล็อกการดำเนินการตามคำขอปัจจุบันจนเสร็จสิ้นจนกว่า Node รับทั้งหมดจะรับทราบว่าตนได้รับและประมวลผลข้อความแล้ว
  • การเป็นสมาชิกแบบคงที่ใช้สำหรับการค้นหาเพียร์คลัสเตอร์ - รายการทั้งหมดที่แน่นอนของสมาชิกคลัสเตอร์ทั้งหมดจะแสดงรายการอยู่บนทุก Node สมาชิกจะถูกเพิ่มในการกำหนดค่าโดย IP และรหัสเฉพาะของตน

Image 44: Tomcat cluster members* การเชื่อมต่อโครงข่ายทำได้ผ่านทางพอร์ต4004ใช้โปรโตคอล TCP - มีการเพิ่มกฎที่เหมาะสมลงในไฟร์วอลล์ระหว่างการกำหนดค่าคลัสเตอร์ * ใน/opt/tomcat/conf/context.xmlไฟล์คอนฟิกูเรชัน,org.apache.catalina.ha.context.ReplicatedContextคลาสใช้สำหรับการนำบริบทไปใช้เพื่อให้การจำลองแบบ

Image 45: context configuration fileการตั้งค่าทั้งหมดเหล่านี้ดำเนินการโดยอัตโนมัติในระหว่างการสร้างและไม่จำเป็นต้องบำรุงรักษาด้วยตนเองในระหว่างวงจรการใช้งานคลัสเตอร์

การปรับขนาดแนวนอนคลัสเตอร์ Tomcat/TomEE

เห็นได้ชัดว่าแอปพลิเคชันเกือบทุกชนิดต้องการความพร้อมใช้งานสูงดังนั้นจึงเป็นประโยชน์อย่างมากที่คุณสามารถเพิ่ม/ลบ Node คลัสเตอร์โดยอัตโนมัติตามทริกเกอร์การปรับขนาดที่กำหนดค่าได้เพื่อให้ตรงกับโหลดของตัวแปร

  1. ไปที่การตั้งค่า > มาตราส่วนแนวนอนอัตโนมัติสำหรับ Environment คลัสเตอร์ Tomcat / TomEE ของคุณ

Image 47: auto horizontal scaling2. ตั้งค่าทริกเกอร์การปรับขนาดสำหรับทรัพยากรที่ต้องการ (RAM, CPU, เครือข่าย, ดิสก์)

บันทึก:โปรดทราบว่าจำนวน Node ผู้ปฏิบัติงานขั้นต่ำในคลัสเตอร์คือ2ดังนั้นให้ตั้งค่ามาตราส่วนเป็นขีดจำกัดตามลำดับ (ดังภาพด้านบน)

ดังนั้นหากคุณกำลังมองหาโฮสติ้ง Tomcat ที่เชื่อถือได้เพื่อให้โปรเจ็กต์ของคุณปรับขนาดได้และมีความพร้อมใช้งานสูงการทำคลัสเตอร์อัตโนมัติ Ruk-Com PaaS ถือเป็นโซลูชั่นที่ยอดเยี่ยมที่ให้คุณใช้งานได้อย่างง่ายดายไม่จำเป็นต้องดิ้นรนกับงานประจำและการกำหนดค่าที่ซับซ้อนเพียงแค่ให้รักคอมจัดการทั้งหมดให้คุณและรับประกันผลลัพธ์ภายในไม่กี่นาที