ในบทความก่อนหน้านี้เราใช้ฟังก์ชั่นของการจัดการไฟล์การกำหนดค่าแบบครบวงจร แต่เราสามารถค้นหาได้ว่าเราใช้เซิร์ฟเวอร์เดียวเท่านั้น หากเซิร์ฟเวอร์นี้วางสายศูนย์การกำหนดค่าทั้งหมดจะไม่สามารถใช้งานได้ มาแก้ปัญหาความพร้อมใช้งานสูงของศูนย์การกำหนดค่า
ด้านล่างเรารวมยูเรก้าเพื่อให้ได้ความพร้อมใช้งานสูงของศูนย์การกำหนดค่าเนื่องจากการจัดการการกำหนดค่าภายในสถาปัตยกรรมมันสามารถถือได้ว่าเป็น microservice ในสถาปัตยกรรม นอกจากนี้เรายังสามารถลงทะเบียนเซิร์ฟเวอร์ config เป็นบริการเพื่อให้ลูกค้าทั้งหมดสามารถเข้าถึงได้ในรูปแบบของบริการ ด้วยวิธีนี้คุณจะต้องเริ่มต้นเซิร์ฟเวอร์ config หลายตัวที่ชี้ไปที่ที่เก็บ Gitlab เดียวกันเพื่อให้ได้ความพร้อมใช้งานสูง
1. เข้าร่วม Eureka บนเซิร์ฟเวอร์ config
1. เข้าร่วมการพึ่งพายูเรก้า
<การพึ่งพา> <roupId> org.springframework.cloud </groupId> <ratifactid> Spring-Cloud-Starter-Eureka </artifactid> </serdency>
2. เพิ่มการสนับสนุน Eureka และลงทะเบียนบริการกำหนดค่าไปยัง Eureka
@enableeurekaclient
3. แก้ไขไฟล์การกำหนดค่าทางฝั่งเซิร์ฟเวอร์
เพิ่มการกำหนดค่าที่ลงทะเบียน Eureka, bootstrap.yml
เซิร์ฟเวอร์: พอร์ต: 8889 EUREKA: ไคลเอนต์: Service-URL: DefaultZone: http: // localhost: 8761/Eureka อินสแตนซ์: urifer-ip-address: True Spring: แอปพลิเคชัน: ชื่อ: foo Cloud: config: git: uri: <pan> https:/gitlab.xx การค้นหาที่เก็บ Gitlab: <span>/config-repo </span> # ที่อยู่สัมพัทธ์ภายใต้ที่อยู่ที่เก็บ Gitlab สามารถกำหนดค่าได้ด้วยหลายใช้และแยก ชื่อผู้ใช้: ชื่อของคุณ # Gitlab ที่เก็บบัญชีรหัสผ่าน: รหัสผ่านของคุณ # รหัสผ่านที่เก็บ gitlab
เริ่มการกำหนดค่าเซิร์ฟเวอร์
4. เปลี่ยนหมายเลขพอร์ตและเริ่มเซิร์ฟเวอร์ config
5. ตรวจสอบว่ามีการลงทะเบียนบริการสำเร็จหรือไม่
2. เข้าร่วม Eureka โดย config client
1. เข้าร่วมการพึ่งพา POM ของ Eureka และใช้ config Server
2. แก้ไขไฟล์การกำหนดค่าของไคลเอนต์ config
Bootstrap.properties ได้รับการทดสอบแล้ว ไคลเอนต์ที่นี่สามารถเป็น bootstrap.properties มิฉะนั้นจะเชื่อมต่อกับพอร์ต 8888
server.port = 8890 spring.application.name = configserver spring.cloud.config.name = configserver spring.cloud.config.profile = dev spring.cloud.config.label = master # เปิดใช้งานการกำหนดค่าบริการ Spring.cloud.config.discovery.service-id = foo # ระบุบริการ Discovery Center Eureka.client.service-url.defaultzone = http: // localhost: 8761/Eureka
ในหมู่พวกเขาใช้พารามิเตอร์ Eureka.client.service-url.defaultzone เพื่อระบุศูนย์การลงทะเบียนบริการสำหรับการลงทะเบียนบริการและการค้นพบจากนั้นตั้งค่า Spring.cloud.config.discovery.enabled พารามิเตอร์ที่ใช้งานจริง Spring.application.name และ Spring.cloud.config.profile ที่นี่สอดคล้องกับความหมายในบล็อกก่อนหน้า
3. เพิ่มการสนับสนุนยูเรก้าในคลาสหลักของแอปพลิเคชันซึ่งสอดคล้องกับเซิร์ฟเวอร์ config
3. การตรวจสอบ
1. ตรวจสอบบริการบนเซิร์ฟเวอร์ยูเรก้า
2. ตรวจสอบว่าเซิร์ฟเวอร์ config เป็นเรื่องปกติหรือไม่
ป้อน: http: // localhost: 8888/configserver/dev/master, http: // localhost: 8889/configserver/dev/master ในเบราว์เซอร์เพื่อดูว่ามีผลตอบแทนดังนี้:
{"ชื่อ": "configserver", "profiles": ["dev"], "label": "master", "version": "8949024814dcb6d61f97dc49db7e9dadcfc724b1" "https://gitlab.xxx.com/xxxxx/xxxx/project/config-repo/configserver.properties", "แหล่งที่มา": {"ชื่อ": "chhliuxyh", "สวัสดี": "ฉันเป็นราชาแห่งโลก !!!3. ตรวจสอบว่าลูกค้าเป็นเรื่องปกติหรือไม่
ป้อน http: // localhost: 8890/สวัสดีในเบราว์เซอร์เพื่อดูว่ามีผลตอบแทนใด ๆ ดังนี้
ฉันเป็นราชาแห่งโลก !!!
หากขั้นตอนข้างต้นเป็นเรื่องปกติก็หมายความว่ามันโอเค
4. หยุดเซิร์ฟเวอร์ config ที่สอดคล้องกับพอร์ต 8888 จากนั้นกลับเข้าสู่ http: // localhost: 8890/สวัสดีเพื่อดูว่ามันโอเค! เราพบว่ามันยังโอเคดังนั้นเราจึงเสร็จสิ้นความพร้อมใช้งานสูงของศูนย์การกำหนดค่า!
<pre code_snippet_id = "2245130" snippet_file_name = "blog_20170306_4_711400"> </pre> </reper> </20170306_4_711400
สรุป
ด้านบนเป็นวิธีการใช้งานที่มีความพร้อมใช้งานสูงของศูนย์กำหนดค่าการกำหนดค่าสปริงคลาวด์แบบกระจายที่แนะนำโดยตัวแก้ไข ฉันหวังว่ามันจะเป็นประโยชน์กับคุณ หากคุณมีคำถามใด ๆ โปรดฝากข้อความถึงฉันและบรรณาธิการจะตอบกลับคุณทันเวลา ขอบคุณมากสำหรับการสนับสนุนเว็บไซต์ Wulin.com!