บทความนี้แนะนำศูนย์การกำหนดค่า SpringCloud + Zookeeper Complection และแบ่งปันกับทุกคนด้วยสิ่งต่อไปนี้:
ใช้สถานการณ์
ทำไมต้องใช้ Zookeeper
ในฐานะที่เป็นกรอบการบริการแบบกระจายส่วนใหญ่ผู้ดูแลรักษาส่วนใหญ่จะใช้เพื่อแก้ปัญหาความสอดคล้องของระบบแอปพลิเคชันในกลุ่มกระจาย มันสามารถให้การจัดเก็บข้อมูลตามวิธีทรีโหนดไดเรกทอรีคล้ายกับระบบไฟล์ ฟังก์ชั่นของ Zookeeper ส่วนใหญ่ใช้เพื่อรักษาและตรวจสอบการเปลี่ยนแปลงสถานะของข้อมูลที่เก็บไว้และโดยการตรวจสอบการเปลี่ยนแปลงในสถานะข้อมูลเหล่านี้สามารถบรรลุการจัดการคลัสเตอร์ตามข้อมูล
วิธีใช้
1. pom ไฟล์
<!-จัดเตรียมแพ็คเกจการรวม Zookeeper-> <การพึ่งพา> <roupId> org.springframework.cloud </groupId> <ratifactid> Spring-Cloud-Starter-Zookeeper-Config </artifactid> </การพึ่งพา> <! <ArtIfactId> Spring-Boot-Starter-ACTUATOR </ArtIfactId> </deperency>
2. bootstrap.properties ไฟล์
เคล็ดลับ: การเริ่มต้นโครงการ Springboot จะจัดลำดับความสำคัญของการอ่าน bootstrap.properties จากนั้นรับเนื้อหาการกำหนดค่าใน Zookeeper ก่อนเริ่มการกำหนดค่าอื่น ๆ
#specify ที่อยู่ของ Zookeeper และหลายคอมมาคือ spliced spring.cloud.zookeeper.connect-string = 192.168.100.0: 2181#ระบุ SpringCloud อ่านตำแหน่งเริ่มต้นของเส้นทาง zookeeper สำหรับการกำหนดค่าในไดเรกทอรีที่ตั้งชื่อตามโครงการนี้ในไดเรกทอรีรากที่คุณระบุ Spring.application.name = service_config
3. รับการกำหนดค่าใน Zookeeper
1.@วิธีค่า:
// ค่าไม่สามารถอัปเดตแบบไดนามิกโครงการจะต้องรีสตาร์ท @Value ("$ {com.xxx.username}") ชื่อผู้ใช้สตริงสาธารณะ; 2. @configurationProperties และ @enableConfigurationProperties วิธีการ
// ค่าสามารถแก้ไขได้แบบไดนามิกและไม่จำเป็นต้องรีสตาร์ท @ConfigurationProperties (คำนำหน้า = "com.xxx") คลาสสาธารณะ userInfo {ชื่อผู้ใช้สตริงสาธารณะ; สตริงสาธารณะ getUserName () {ส่งคืนชื่อผู้ใช้; } โมฆะสาธารณะ setUserName (ชื่อผู้ใช้สตริง) {this.userName = ชื่อผู้ใช้; -รหัสแอปพลิเคชัน:
@springbootapplication // สนับสนุนคลาสการกำหนดค่าหลายคลาส @enableConfigurationProperties ({xxx.class, abc.class}) คลาสสาธารณะ serviceConfigapplication {โมฆะคงที่สาธารณะหลัก (สตริง [] args) {springapplication.run -4. รับกฎการกำหนดค่า
สมมติฐาน:
spring.cloud.zookeeper.config.root = xxxx; spring.application.name = abc
เส้นทาง ZK:
/xxxx/abc/com/gabo/username
ค่า:
@Value ($ {com.gabo.username})5. การตรวจสอบ:
เอาต์พุตเมื่อเริ่มต้น: การเปลี่ยนแปลงสถานะ: เชื่อมต่อ
หมายความว่าการเชื่อมต่อกับ Zookeeper ประสบความสำเร็จ
แก้ไขเนื้อหาศูนย์การกำหนดค่าเอาต์พุต: คีย์รีเฟรชเปลี่ยน:
แสดงให้เห็นว่ามูลค่าในโครงการได้รับการแก้ไขสำเร็จแล้ว
ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้ ฉันหวังว่ามันจะเป็นประโยชน์ต่อการเรียนรู้ของทุกคนและฉันหวังว่าทุกคนจะสนับสนุน wulin.com มากขึ้น