1. บทนำ
เมื่อคุณต้องการปรับใช้ศูนย์การกำหนดค่าให้กับสภาพแวดล้อมการผลิตเช่นรีจิสทรีบริการเรายังต้องการให้เป็นแอปพลิเคชันที่มีอยู่อย่างสูง Spring Cloud Config นั้นง่ายมากที่จะใช้ความพร้อมใช้งานสูงบนฝั่งเซิร์ฟเวอร์และส่วนใหญ่มีสองวิธีในการทำ
โหมดดั้งเดิม: ไม่จำเป็นต้องกำหนดค่าเพิ่มเติมสำหรับเซิร์ฟเวอร์เหล่านี้ คุณจะต้องปฏิบัติตามกฎการกำหนดค่าเดียวและชี้เซิร์ฟเวอร์การกำหนดค่าทั้งหมดไปยังที่เก็บ GIT เดียวกันเพื่อให้เนื้อหาการกำหนดค่าทั้งหมดได้รับการดูแลผ่านระบบไฟล์ที่ใช้ร่วมกันแบบรวม เมื่อไคลเอนต์ระบุตำแหน่งของเซิร์ฟเวอร์ config จะต้องกำหนดค่าที่อยู่อุปกรณ์โหลดบาลานซ์ของเลเยอร์ด้านบนของเซิร์ฟเวอร์ config ซึ่งเป็นโครงสร้างที่แสดงในรูปด้านล่าง
รูปแบบการบริการ: นอกเหนือจากรูปแบบการใช้งานแบบดั้งเดิมข้างต้นเรายังสามารถรวมเซิร์ฟเวอร์ config เป็นแอปพลิเคชัน microservice ธรรมดาเข้าสู่ระบบการกำกับดูแลบริการของ Eureka ด้วยวิธีนี้แอปพลิเคชัน Microservice ของเราสามารถรับข้อมูลการกำหนดค่าผ่านชื่อบริการของศูนย์การกำหนดค่า วิธีนี้เอื้อต่อการบำรุงรักษามากกว่ารูปแบบการใช้งานแบบดั้งเดิมเนื่องจากการกำหนดค่าโหลดบาลานซ์ของเซิร์ฟเวอร์และข้อกำหนดของศูนย์การกำหนดค่าของไคลเอนต์จะได้รับการแก้ไขผ่านกลไกการกำกับดูแลบริการซึ่งไม่เพียง แต่ประสบความสำเร็จสูง แต่ยังตระหนักถึงการบำรุงรักษาตนเอง เนื่องจากการใช้งานส่วนนี้ต้องใช้ความร่วมมือของลูกค้าผู้อ่านตัวอย่างเฉพาะสามารถอ่านส่วน "ศูนย์การกำหนดค่าบริการ" ในส่วน "คำอธิบายลูกค้า" ในรายละเอียด
2. การเตรียม
ศูนย์ลงทะเบียนบริการ Eurekaserver, พอร์ต 5555;
3. แปลงเซิร์ฟเวอร์ config
(1) pom.xml, เพิ่มการพึ่งพาสปริงคลาวด์-สตาร์เทอร์-eureka
<การพึ่งพา> <การพึ่งพา> <roupId> org.springframework.cloud </groupId> <ratifactid> Spring-Cloud-config-Server </artifactid> </dependency> <การพึ่งพา <RoupID> org.springframework.boot </groupid> <ratifactid> การทดสอบสปริง-สตาร์เทสต์ </artifactid> <scope> ทดสอบ </cope>
(2) application.yml กำหนดค่าพารามิเตอร์ eureka.client.serviceurl.defaultzone เพื่อระบุตำแหน่งของศูนย์ลงทะเบียนบริการ
เซิร์ฟเวอร์: พอร์ต: 5588 สปริง: แอปพลิเคชัน: ชื่อ: config-server Eureka: ไคลเอนต์: ServiceUrl: defaultZone: http: // localhost: 5555/uureka/#configure Center Centre CLOUD: config: GIT: URI: https://gitee.com/smartdt ที่เก็บ SearchPaths: config-repo #configure ตำแหน่งการค้นหาสัมพัทธ์ภายใต้เส้นทางที่เก็บและคุณสามารถกำหนดค่าหลาย ชื่อผู้ใช้: ชื่อผู้ใช้ #USERNAME เพื่อเข้าถึงที่เก็บ GIT รหัสผ่าน: รหัสผ่าน #USER รหัสผ่านเพื่อเข้าถึงที่เก็บ GIT ป้ายกำกับ: Master #Configure สาขาของที่เก็บ ### หากที่เก็บ Git เป็นที่เก็บสาธารณะคุณไม่สามารถกรอกชื่อผู้ใช้และรหัสผ่านได้ หากเป็นที่เก็บส่วนตัวคุณต้องกรอกข้อมูล
(3) คลาสรายการเพิ่ม @enablediscoveryc ยักษ์ใหญ่นิวเคลียส ENT เพื่อลงทะเบียน config-server ไปยังศูนย์ลงทะเบียนบริการที่กำหนดค่าไว้ด้านบน
@EnableScoveryClient @enableConFigServer @springbootapplication คลาสสาธารณะ SpringCloudConfigServerApplication {โมฆะคงที่สาธารณะหลัก (สตริง [] args) {springapplication.run -(4) เริ่มการกำหนดค่าเซิร์ฟเวอร์และดูผ่าน Eureka-Server
4. ปรับปรุง config-client
(1) pom.xml, เพิ่มการพึ่งพาสปริงคลาวด์-สตาร์เทอร์-eureka
<การพึ่งพา> <การพึ่งพา> <roupId> org.springframework.cloud </groupId> <ratifactid> Spring-Cloud-Starter-Config </artifactid> </dependency> <roupId> org.springframework.cloud </groupid> <ratifactid> Spring-Cloud-Starter-eureka </artifactid> </serpendency> <perdency> <droupId> org.springframework.boot </groupid> </dependencies>
(2) Bootstrap.properties เพิ่มข้อมูลศูนย์บริการกำหนดค่า
Spring.application.name = configspace spring.cloud.config.label = master spring.cloud.config.profile = dev spring.cloud.config.uri = http: // localhost: 5588/server.port = 5589 eureka.client.serviceurl.defaultzone
(3) คลาสรายการ, เพิ่ม @enablecoveryClient
@enablediscoveryClient @springbootapplication คลาสสาธารณะ SpringCloudConfigClientApplication {โมฆะคงที่สาธารณะหลัก (สตริง [] args) {springapplication.run (springcloudconfigclientapplication.class, args); -(4) คลาสทดสอบยังคงไม่เปลี่ยนแปลง
@ReFreshScope @RestController คลาสสาธารณะ configController {@Value ("$ {จาก}") สตริงส่วนตัวจาก; @Value ("$ {ชื่อผู้ใช้}") ชื่อผู้ใช้สตริงส่วนตัว; @Value ("$ {รหัสผ่าน}") รหัสผ่านส่วนตัว; @RequestMapping ("/จาก") สตริงสาธารณะจาก () {return this.from + "umer:" + this.username + "~ pass:" + this.password; -(5) เริ่มการทดสอบและดูผ่าน Eureka-Server
(6) การทดสอบเบราว์เซอร์เยี่ยมชม http: // localhost: 5589/จาก
ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้ ฉันหวังว่ามันจะเป็นประโยชน์ต่อการเรียนรู้ของทุกคนและฉันหวังว่าทุกคนจะสนับสนุน wulin.com มากขึ้น