Κοινή χρήση τεχνολογίας

Ερωτήσεις που γίνονται συχνά σε συνεντεύξεις στο Springcloud

2024-07-08

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Το Spring Cloud είναι μια λύση αρχιτεκτονικής microservice που βασίζεται στο Spring Boot, η οποία περιλαμβάνει πολλά εργαλεία και πλαίσια για τη δημιουργία και τη διαχείριση μικροϋπηρεσιών. Στις συνεντεύξεις, οι ερωτήσεις που σχετίζονται με το Spring Cloud συνήθως καλύπτουν τις βασικές έννοιες, τα στοιχεία, τα κοινά μοτίβα και τις λύσεις του. Ακολουθούν ορισμένες συχνές ερωτήσεις και οι απαντήσεις τους κατά τη διάρκεια συνεντεύξεων στο Spring Cloud:

1. Ποια είναι τα βασικά στοιχεία του Spring Cloud;

Το Spring Cloud περιέχει πολλά βασικά στοιχεία, τα κοινά είναι:

  • Spring Cloud Config: Κατανεμημένο εργαλείο διαχείρισης διαμόρφωσης που υποστηρίζει κεντρική διαχείριση και δυναμική ανανέωση των αρχείων διαμόρφωσης.
  • Spring Cloud Netflix: Συμπεριλαμβανομένου του Eureka (καταχώριση και ανακάλυψη υπηρεσίας), Ribbon (εξισορρόπηση φορτίου πελάτη), Hystrix (διακοπή κυκλώματος), Zuul (πύλη API) κ.λπ.
  • Spring Cloud Gateway: Η πύλη API, που αντικαθιστά τη Zuul, παρέχει πιο αποτελεσματικές λειτουργίες δρομολόγησης και φιλτραρίσματος.
  • Spring Cloud Sleuth: Κατανεμημένο εργαλείο ανίχνευσης, ενσωματωμένο με Zipkin ή Jaeger.
  • Spring Cloud Stream: Ένα πλαίσιο μικροϋπηρεσιών που βασίζεται σε μηνύματα που υποστηρίζει μια ποικιλία ενδιάμεσων λογισμικών μηνυμάτων (όπως Kafka, RabbitMQ).
  • Spring Cloud Bus: Δίαυλος συμβάντων, που χρησιμοποιείται συνήθως για δυναμική ανανέωση της διαμόρφωσης.
  • Spring Cloud OpenFeign: Δηλωτικό πρόγραμμα-πελάτη HTTP που απλοποιεί τις κλήσεις HTTP.

2. Τι είναι η εγγραφή και η ανακάλυψη υπηρεσίας; Πώς υλοποιείται το Spring Cloud;

Η εγγραφή και η ανακάλυψη υπηρεσίας είναι μια βασική έννοια στην αρχιτεκτονική μικροϋπηρεσιών, η οποία αναφέρεται στη δυναμική καταχώριση και ανακάλυψη παρουσιών υπηρεσιών. Ένα κέντρο εγγραφής υπηρεσιών είναι υπεύθυνο για τη διατήρηση μιας λίστας παρουσιών υπηρεσιών Κάθε microservice θα καταχωρεί τη διεύθυνση και τα μεταδεδομένα της στο κέντρο καταχώρισης υπηρεσιών κατά την εκκίνηση.

Το στοιχείο καταχώρισης και ανακάλυψης υπηρεσίας που χρησιμοποιείται συνήθως στο Spring Cloud είναι το Netflix Eureka.

Διαδικασία εγγραφής και ανακάλυψης υπηρεσίας

  1. Εγγραφή υπηρεσίας: Η παρουσία υπηρεσίας καταχωρεί τις δικές της πληροφορίες (όπως όνομα υπηρεσίας, διεύθυνση παρουσίας κ.λπ.) στον διακομιστή Eureka κατά την εκκίνηση.
  2. ανακάλυψη υπηρεσίας: Όταν ο πελάτης καλεί μια υπηρεσία, ζητά από τον Eureka Server τη λίστα των παρουσιών υπηρεσίας που πρέπει να κληθούν.

Δείγμα κώδικα

  • Διαμόρφωση διακομιστή Eureka:
 

κώδικας αντιγραφής java

@EnableEurekaServer @SpringBootApplication public class EurekaServerApplication { public static void main(String[] args) { SpringApplication.run(EurekaServerApplication.class, args); } }

  • Διαμόρφωση προγράμματος-πελάτη Eureka:
 

κώδικας αντιγραφής java

@EnableEurekaClient @SpringBootApplication public class EurekaClientApplication { public static void main(String[] args) { SpringApplication.run(EurekaClientApplication.class, args); } }

3. Τι είναι η εξισορρόπηση φορτίου; Πώς υλοποιείται το Spring Cloud;

Η εξισορρόπηση φορτίου είναι μια τεχνολογία που κατανέμει αιτήματα σε πολλαπλές παρουσίες υπηρεσιών για τη βελτίωση της διαθεσιμότητας και της απόδοσης του συστήματος. Το Spring Cloud παρέχει μια λύση εξισορρόπησης φορτίου από την πλευρά του πελάτη, που υλοποιείται κυρίως μέσω του Ribbon.

Τα κύρια χαρακτηριστικά της κορδέλας

  • Παρέχει ένα σύνολο στρατηγικών εξισορρόπησης φορτίου (όπως στρογγυλή, τυχαία, σταθμισμένη κ.λπ.).
  • Υποστηρίζει δυναμική ανανέωση της λίστας υπηρεσιών.

Δείγμα κώδικα

 

κώδικας αντιγραφής java

@LoadBalanced @Bean public RestTemplate restTemplate() { return new RestTemplate(); }

4. Τι είναι η ασφάλεια; Πώς υλοποιείται το Spring Cloud;

Οι διακόπτες κυκλώματος είναι ένας μηχανισμός προστασίας που χρησιμοποιείται για την αποφυγή διαδοχικών βλαβών μεταξύ των υπηρεσιών. Όταν εντοπίσει ότι μια παρουσία υπηρεσίας δεν είναι διαθέσιμη, θα επιστρέψει απευθείας μια απάντηση σφάλματος για να αποφύγει τη συνέχιση της κλήσης της μη διαθέσιμης παρουσίας.

Το Spring Cloud χρησιμοποιεί το Netflix Hystrix για την υλοποίηση διακοπτών κυκλώματος.

Βασικά χαρακτηριστικά του Hystrix

  • Παρακολουθήστε και απομονώστε τις κλήσεις υπηρεσίας.
  • Παροχή εφεδρικού μηχανισμού (Fallback).
  • Παρέχετε παρακολούθηση δεικτών σε πραγματικό χρόνο.

Δείγμα κώδικα

 

κώδικας αντιγραφής java

@HystrixCommand(fallbackMethod = "fallbackMethod") public String someMethod() { // 可能会失败的服务调用 } public String fallbackMethod() { return "Fallback response"; }

5. Τι είναι μια πύλη API; Πώς υλοποιείται το Spring Cloud;

Η πύλη API είναι ένα σημαντικό στοιχείο στην αρχιτεκτονική μικροϋπηρεσιών Χρησιμοποιείται για την ομοιόμορφη διαχείριση και δρομολόγηση αιτημάτων πελατών και παρέχει έλεγχο ταυτότητας, έλεγχο ταυτότητας, περιορισμό ρεύματος, καταγραφή και άλλες λειτουργίες.

Το Spring Cloud παρέχει δύο λύσεις πύλης API:

  • Zuul: Λύση πύλης API που παρέχεται από το Netflix, που χρησιμοποιείται συνήθως στο οικοσύστημα Spring Cloud Netflix.
  • Spring Cloud Gateway: Η πύλη API που αναπτύχθηκε από την ομάδα Spring έχει υψηλότερη απόδοση και πιο ισχυρές λειτουργίες και συνήθως χρησιμοποιείται για την αντικατάσταση του Zuul.

Δείγμα κώδικα Spring Cloud Gateway

 

κωδικό αντιγραφής yaml

spring: cloud: gateway: routes: - id: some_route uri: http://some-service predicates: - Path=/some-path/** filters: - StripPrefix=1

6. Τι είναι το Spring Cloud Config; Πώς λειτουργεί;

Το Spring Cloud Config είναι ένα κατανεμημένο εργαλείο διαχείρισης διαμόρφωσης που χρησιμοποιείται για την κεντρική διαχείριση των αρχείων διαμόρφωσης πολλών μικροϋπηρεσιών και υποστηρίζει δυναμικά ανανεωτικές διαμορφώσεις.

αρχή λειτουργίας

  1. Αποθήκευση διαμόρφωσης: Τα αρχεία διαμόρφωσης αποθηκεύονται σε ένα κεντρικό αποθετήριο (π.χ. Git, SVN, σύστημα αρχείων).
  2. Διαμόρφωση διακομιστή: Ο διακομιστής Spring Cloud Config διαβάζει αρχεία διαμόρφωσης από ένα κεντρικό αποθετήριο και τα παρέχει στους πελάτες.
  3. Διαμόρφωση πελάτη: Το Spring Cloud Config Client ζητά το αρχείο διαμόρφωσης από το Config Server κατά την εκκίνηση, φορτώνει και εφαρμόζει τη διαμόρφωση.

Δείγμα κώδικα

  • Διαμόρφωση διακομιστή:
 

κώδικας αντιγραφής java

@EnableConfigServer @SpringBootApplication public class ConfigServerApplication { public static void main(String[] args) { SpringApplication.run(ConfigServerApplication.class, args); } }

  • διαμόρφωση πελάτη (bootstrap.yml):
 

κωδικό αντιγραφής yaml

spring: application: name: some-service cloud: config: uri: http://localhost:8888

7. Τι είναι η κατανεμημένη ανίχνευση; Πώς υλοποιείται το Spring Cloud;

Η κατανεμημένη ανίχνευση χρησιμοποιείται για την παρακολούθηση συνδέσμων αιτημάτων σε πολλές υπηρεσίες, βοηθώντας τους προγραμματιστές να παρακολουθούν και να διορθώνουν τα κατανεμημένα συστήματα.

Το Spring Cloud Sleuth παρέχει μια λύση κατανεμημένης ανίχνευσης που ενσωματώνει το Zipkin ή το Jaeger.

Κύρια χαρακτηριστικά του Spring Cloud Sleuth

  • Προσθέστε αυτόματα μοναδικά αναγνωριστικά παρακολούθησης και αναγνωριστικά έκτασης στην εφαρμογή σας.
  • Παρέχει συσχέτιση δεδομένων καταγραφής και ανίχνευσης.
  • Ενσωματώστε το Zipkin ή το Jaeger για κεντρική συλλογή και εμφάνιση δεδομένων παρακολούθησης.

Δείγμα κώδικα

 

xmlΑντιγραφή κώδικα