คำนำ
ในบล็อกก่อนหน้าของเราเมื่อบริการ A จำเป็นต้องโทรหาบริการ B คุณจะต้องได้รับอินสแตนซ์ที่ลงทะเบียนของบริการ B จากยูเรก้าจากนั้นใช้ Feign เพื่อโทรหาบริการของ B และใช้ Ribbon เพื่อให้ได้การปรับสมดุล อย่างไรก็ตามเมื่อเราเปิดเผยบริการหลายบริการไปยังลูกค้าในเวลาเดียวกันวิธีที่ลูกค้าเรียกว่าบริการที่เราเปิดเผย หากเราต้องการเพิ่มการตรวจสอบความปลอดภัยการควบคุมการอนุญาตตัวกรองและการกำหนดเส้นทางแบบไดนามิกและคุณสมบัติอื่น ๆ เราต้องใช้ Zuul เพื่อใช้ API Gateway ลองมาดูวิธีใช้ Zuul
1. เข้าร่วมการพึ่งพาของ Zuul
<การพึ่งพา> <roupId> org.springframework.cloud </groupId> <ratifactid> Spring-Cloud-Starter-Zuul </artifactid> </การพึ่งพา> <การพึ่งพา> <roupId> org.springframework.cloud </groupid>
เนื่องจากเราจำเป็นต้องลงทะเบียนบริการ Zuul ไปยังเซิร์ฟเวอร์ยูเรก้าและค้นพบบริการที่ลงทะเบียนจากเซิร์ฟเวอร์ยูเรก้าเราจึงเพิ่มการพึ่งพาของยูเรก้าที่นี่
2. เปิดใช้งานการสนับสนุน Zuul ในคลาสแอปพลิเคชันหลักแอปพลิเคชัน
@springbootapplication @enablezuulproxy // ใช้ @enablezuulproxy เพื่อเปิดใช้งานการสนับสนุน Zuul หากคุณไม่ต้องการใช้ฟังก์ชั่นตัวกรองและการย้อนกลับของพร็อกซีที่จัดทำโดย Zuul คุณสามารถใช้ @enablezuulserver เพื่อใส่คำอธิบายประกอบคลาสสาธารณะ zuulapplication {โมฆะคงที่สาธารณะหลัก (สตริง [] args) {springapplication.run (zuulapplication.class, args); - 3. เพิ่มข้อมูลการกำหนดค่าพื้นฐานของ Zuul ใน application.yml
ฤดูใบไม้ผลิ: แอปพลิเคชัน: ชื่อ: Gateway-Zuul # แอปพลิเคชันชื่อเซิร์ฟเวอร์: พอร์ต: 8768 #ZUUL เซิร์ฟเวอร์หมายเลขพอร์ต EUREKA: ไคลเอน
4. เพิ่มการกำหนดค่าการกำหนดเส้นทางบริการใน application.yml
วิชาบังคับก่อน: มีการลงทะเบียนบริการสองบริการในเซิร์ฟเวอร์ยูเรก้าคือ: Springboot-H2-Service และ Springboot-Rest-Template-Feign บริการ Springboot-Rest-Template-Feign จะเรียกบริการ Springboot-H2-Service และบริการ Springboot-Rest-Template-Feign เป็นบริการที่เราให้บริการแก่โลกภายนอก กล่าวคือบริการ Springboot-Rest-template-feign เป็นสิ่งที่เราสัมผัสกับลูกค้า
#วิธีการกำหนดค่าการกำหนดค่า 1 #zuul: #เส้นทาง: #springboot-rest-template-feign: /templateservice /** #คำขอทั้งหมดสำหรับ springboot-rest-template-feign จะถูกสกัดกั้นและส่งต่อไปยัง Templateservice ไปยังเส้นทางทีละคน: /templateservice /** บริการ-ID: Springboot-Rest-Template-Feign # Springboot-Rest-Template-Feign คือชื่อบริการริบบิ้นที่ลงทะเบียนบน Eureka: nfloadbalancerreclassname: com.netflix.loadbalancer.roundrobinrule # กำหนดค่าเซิร์ฟเวอร์
V. การตรวจสอบ
ตอนนี้เราสามารถตรวจสอบได้ Enter: http: // localhost: 8768/templateservice/template/1 ในเบราว์เซอร์เพื่อดูผลการทดสอบ
ข้างต้นเป็นเนื้อหาทั้งหมดของบทความนี้ ฉันหวังว่ามันจะเป็นประโยชน์ต่อการเรียนรู้ของทุกคนและฉันหวังว่าทุกคนจะสนับสนุน wulin.com มากขึ้น