คำนำ:
สถาปัตยกรรม microservice ที่ใช้สปริงคลาวด์ไมโครเซอริกทั้งหมดจำเป็นต้องลงทะเบียนกับรีจิสทรี หากรีจิสทรีถูกบล็อกหรือขัดข้องระบบทั้งหมดจะไม่สามารถให้บริการได้ตามปกติ ดังนั้นรีจิสทรีจะต้องมีการจัดกลุ่มที่นี่ในคำอื่น ๆ คือความพร้อมใช้งานสูง (ฮ่า)
หลักฐาน:
อ่านและกรอกโครงการของรีจิสทรีแรกโดยไม่ต้องเปลี่ยนสภาพแวดล้อม บทความนี้เป็นการจำลองความพร้อมใช้งานสูงและสามารถคัดลอกโครงการในศูนย์รีจิสทรีสองแห่งเพื่อปรับเปลี่ยนไฟล์การกำหนดค่าที่เกี่ยวข้องแยกต่างหากเพื่อให้ได้เอฟเฟกต์เดียวกัน
แก้ไขโฮสต์และเพิ่มสองบรรทัดในตอนท้ายของไฟล์ดังนี้:
127.0.0.1 peer1127.0.0.1 peer2
ขอแนะนำให้ใช้ Notepad ++ หากเป็น Win10 มันจะเตือนให้คุณให้สิทธิ์ยืนยันแล้วบันทึกไว้
การก่อสร้างโครงการ:
เปิดโครงการใน Registry Center และสร้าง Application-Peer1.Properties ภายใต้ SRC/Resources
#แอปพลิเคชันชื่อ Spring.Application.Name = Eureka-Server#ระบุพอร์ตบริการ 1111Server.port = 1111#ชื่อโดเมนที่ให้บริการ ที่นี่เราแก้ไข Eureka.Instance.hostName = peer1#ลงทะเบียนด้วยตัวเองด้วยศูนย์การลงทะเบียนที่สอง Eureka.client.service-url.defaultzone = http: // peer2: 1112/eureka/
สร้าง Application-Peer2.Properties ภายใต้ SRC/Resources
#ชื่อแอปพลิเคชันเหมือนกับรีจิสทรีแรก Spring.application.Name = Eureka-Server#ให้บริการพอร์ต 1112Server.port = 1112#ชื่อโดเมนที่ให้บริการ ที่นี่เราแก้ไข Eureka.Instance.hostName = peer2#ลงทะเบียนด้วยตัวเองด้วยรีจิสทรีแรก Eureka.client.service-url.defaultzone = http: // peer1: 1111/eureka/
บทความนี้ใช้แนวคิดสำหรับการทดสอบ ก่อนอื่นคุณต้องทำให้โครงการนี้เป็นแพ็คเกจ JAR เนื่องจากเครื่องมือรวบรวม Maven และเครื่องมือบรรจุภัณฑ์ได้รับการแนะนำใน POM.XML และรูปแบบบรรจุภัณฑ์ถูกระบุเป็นแพ็คเกจ JAR สิ่งนี้ทำโดยตรงที่นี่ที่ด้านขวาบนของหน้าจอ
บรรจุภัณฑ์เสร็จสมบูรณ์แพ็คเกจ JAR จะอยู่ในโฟลเดอร์เป้าหมายดังที่แสดงในรูป
เปิดเทอร์มินัลดังแสดงในภาพที่ด้านล่างของหน้าจอ
หลังจากเปิดเทอร์มินัลเนื่องจากแพ็คเกจ JAR อยู่ในไดเรกทอรีเป้าหมายและไดเรกทอรีปัจจุบันคือไดเรกทอรีโครงการซีดีแรกไปยังไดเรกทอรีเป้าหมายจากนั้นป้อนคำสั่งต่อไปนี้:
เคล็ดลับ: เพื่อป้องกันไม่ให้ชื่อไฟล์ผิดเมื่อป้อนคำสั่งคุณสามารถป้อนตัวอักษรสองสามตัวแรกของชื่อไฟล์จากนั้นใช้ปุ่มแท็บเพื่อกรอกข้อมูลโดยอัตโนมัติ
คัดลอกรหัสดังต่อไปนี้: Java -Jar Eurekaserverdemo-0.0.1-snapshot.jar ---spring.profiles.active = peer1
หลังจากป้อนคำสั่งนี้โครงการของไฟล์การกำหนดค่า Peer1 จะเริ่มขึ้นดังที่แสดงในรูป
ต่อไปเราเริ่มโครงการที่สองที่นี่เราต้องเปิดเทอร์มินัลอื่นซีดีไปยังไดเรกทอรีเป้าหมาย
หมายเหตุ: เรากำลังใช้โครงการเดียวกันที่นี่ ผู้อ่านสามารถใช้สองโครงการสำหรับการทดสอบ เป็นสิ่งสำคัญที่จะต้องทราบว่าพอร์ตไม่ขัดแย้ง
คัดลอกรหัสดังต่อไปนี้: Java -Jar Eurekaserverdemo-0.0.1-snapshot.jar ---spring.profiles.active = peer2
รอให้โครงการเริ่มต้นและเสร็จสิ้นเพื่อดูว่ามีการรายงานข้อผิดพลาดหรือไม่
ทดสอบ:
อินพุตเบราว์เซอร์: localhost: 1112 สำหรับการดูหรือคุณสามารถป้อน localhost: 1111 สำหรับการดู
บทสรุป:
หลังจากตั้งค่าศูนย์ลงทะเบียนแบบหลายโหนดแล้วความพร้อมใช้งานสูงจะประสบความสำเร็จ แต่ในเวลานี้แอปพลิเคชัน Microservice ของเราลงทะเบียนกับบริการนี้เท่านั้นดังนั้นเราจึงจำเป็นต้องจัดสรรเส้นทางบริการลงทะเบียนของโหนดใหม่ไปยังแอปพลิเคชัน Microservice
ใช้ "," เพื่อแยกหลายโหนดดังแสดงในรูป
ด้วยวิธีนี้หลังจากผู้ให้บริการ microservice ตัดการเชื่อมต่อจากสถานที่แห่งใดแห่งหนึ่งมันยังสามารถให้บริการได้เนื่องจากมีการลงทะเบียนในโหนดอื่น หากคุณไม่ต้องการใช้ชื่อโฮสต์เพื่อเข้าถึงศูนย์ลงทะเบียนคุณยังสามารถใช้ IP ได้ แต่คุณต้องเพิ่มการกำหนดค่าก่อนซึ่งค่าเริ่มต้นเป็นเท็จ
Eureka.instance.prefer-ip-address = true
ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้ ฉันหวังว่ามันจะเป็นประโยชน์ต่อการเรียนรู้ของทุกคนและฉันหวังว่าทุกคนจะสนับสนุน wulin.com มากขึ้น