ההבדלים בין Netflix Feign ו- OpenFeign

1. סקירה כללית

במדריך זה נתאר את ההבדלים בין Spring Cloud Netflix Feign ו- Spring Cloud OpenFeign.

2. פיין

Feign מקל על כתיבת לקוחות שירות אינטרנט על ידי מתן תמיכה בהערות המאפשר לנו ליישם את הלקוחות שלנו בעזרת ממשקים בלבד.

במקור, Feign נוצר ושוחרר על ידי נטפליקס כחלק מפרויקט OSS של Netflix. כיום, זהו פרויקט קוד פתוח.

2.1. Spring Cloud Netflix Feign

Spring Cloud Netflix משלב את היצע ה- OSS של Netflix במערכת האקולוגית של Spring Cloud. זה כולל פיין, יוריקה, רצועת הכלים ושלל כלים ושירותים נוספים. עם זאת, Feign קיבלה Starter Spring Cloud משלה כדי לאפשר גישה לפיין בלבד.

2.2. OpenFeign

בסופו של דבר, נטפליקס החליטה להפסיק להשתמש בפיין באופן פנימי והפסיקה את התפתחותה. כתוצאה מהחלטה זו, נטפליקס העבירה את Feign באופן מלא לקהילת הקוד הפתוח במסגרת פרויקט חדש בשם OpenFeign.

למרבה המזל, הוא ממשיך לקבל תמיכה עצומה מקהילת הקוד הפתוח וראה תכונות ועדכונים חדשים רבים.

2.3. אביב ענן OpenFeign

בדומה לקודמו, Spring Cloud OpenFeign משלב את פרויקט קודמו במערכת האקולוגית של Spring Cloud.

באופן נוח, שילוב זה מוסיף תמיכה בהערות MVC באביב ומספק את אותם HttpMessageConverters.

בואו נשווה את יישום Feign שנמצא ב- Spring Cloud OpenFeign לאחד באמצעות Spring Cloud Netflix Feign.

3. תלות

ראשית, עלינו להוסיף את אביב-ענן-התחל-פיין ו תלות באביב-ענן תלות שלנו pom.xml קוֹבֶץ:

 org.springframework.cloud spring-cloud-starter-feign 1.4.7.RELEASE org.springframework.cloud spring-cloud-dependencies Hoxton.SR8 pom יבוא 

שים לב שספריה זו פועלת רק עם Spring Boot 1.4.7 ואילך. לכן שלנו pom.xml חייבת להשתמש בגרסאות תואמות של כל תלות בענן של אביב.

4. יישום עם Spring Cloud Netflix Feign

עכשיו, אנחנו יכולים להשתמש @EnableFeignClients כדי לאפשר סריקת רכיבים עבור ממשקים המשתמשים בהם @FeignClient.

עבור כל דוגמה שפיתחנו באמצעות פרויקט Spring Cloud Netflix Feign, אנו משתמשים בייבוא ​​הבא:

יבוא org.springframework.cloud.netflix.feign.FeignClient; ייבא org.springframework.cloud.netflix.feign.EnableFeignClients;

היישום של כל התכונות זהה לחלוטין לגרסה הישנה ולגירסה החדשה.

5. יישום עם OpenFeign של ענן אביב

באופן השוואתי, מדריך OpenFeign של Spring Cloud שלנו מכיל את אותה דוגמה ליישום עם Spring Netflix Feign.

ההבדל היחיד כאן הוא שהיבוא שלנו הוא מחבילה אחרת:

ייבא org.springframework.cloud.openfeign.FeignClient; ייבא org.springframework.cloud.openfeign.EnableFeignClients;

כל השאר זהים, מה שלא צריך להפתיע בגלל הקשר בין שתי הספריות הללו.

6. השוואה

ביסודו, שני היישומים הללו של פייגן זהים. אנו יכולים לייחס זאת לכך ש- Netflix Feign הוא האב הקדמון של OpenFeign.

עם זאת, Spring Cloud OpenFeign כולל אפשרויות ותכונות חדשות שאינן זמינות ב- Spring Cloud Netflix Feign.

לאחרונה אנו יכולים לקבל תמיכה במיקרומטר, מדדי Dropwizard, Apache HTTP Client 5, לקוח HTTP של Google ועוד רבים וטובים.

7. מסקנה

מאמר זה השווה את שילובי ענן האביב של OpenFeign ו- Netflix Feign. כרגיל, תוכלו למצוא את המקורות ב- GitHub הן עבור Spring Cloud OpenFeign והן עבור Netflix Feign.


$config[zx-auto] not found$config[zx-overlay] not found