2024-07-08
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Το Spring Cloud είναι μια λύση αρχιτεκτονικής microservice που βασίζεται στο Spring Boot, η οποία περιλαμβάνει πολλά εργαλεία και πλαίσια για τη δημιουργία και τη διαχείριση μικροϋπηρεσιών. Στις συνεντεύξεις, οι ερωτήσεις που σχετίζονται με το Spring Cloud συνήθως καλύπτουν τις βασικές έννοιες, τα στοιχεία, τα κοινά μοτίβα και τις λύσεις του. Ακολουθούν ορισμένες συχνές ερωτήσεις και οι απαντήσεις τους κατά τη διάρκεια συνεντεύξεων στο Spring Cloud:
Το Spring Cloud περιέχει πολλά βασικά στοιχεία, τα κοινά είναι:
Η εγγραφή και η ανακάλυψη υπηρεσίας είναι μια βασική έννοια στην αρχιτεκτονική μικροϋπηρεσιών, η οποία αναφέρεται στη δυναμική καταχώριση και ανακάλυψη παρουσιών υπηρεσιών. Ένα κέντρο εγγραφής υπηρεσιών είναι υπεύθυνο για τη διατήρηση μιας λίστας παρουσιών υπηρεσιών Κάθε microservice θα καταχωρεί τη διεύθυνση και τα μεταδεδομένα της στο κέντρο καταχώρισης υπηρεσιών κατά την εκκίνηση.
Το στοιχείο καταχώρισης και ανακάλυψης υπηρεσίας που χρησιμοποιείται συνήθως στο Spring Cloud είναι το Netflix Eureka.
Διαδικασία εγγραφής και ανακάλυψης υπηρεσίας:
Δείγμα κώδικα:
κώδικας αντιγραφής java
@EnableEurekaServer @SpringBootApplication public class EurekaServerApplication { public static void main(String[] args) { SpringApplication.run(EurekaServerApplication.class, args); } }
κώδικας αντιγραφής java
@EnableEurekaClient @SpringBootApplication public class EurekaClientApplication { public static void main(String[] args) { SpringApplication.run(EurekaClientApplication.class, args); } }
Η εξισορρόπηση φορτίου είναι μια τεχνολογία που κατανέμει αιτήματα σε πολλαπλές παρουσίες υπηρεσιών για τη βελτίωση της διαθεσιμότητας και της απόδοσης του συστήματος. Το Spring Cloud παρέχει μια λύση εξισορρόπησης φορτίου από την πλευρά του πελάτη, που υλοποιείται κυρίως μέσω του Ribbon.
Τα κύρια χαρακτηριστικά της κορδέλας:
Δείγμα κώδικα:
κώδικας αντιγραφής java
@LoadBalanced @Bean public RestTemplate restTemplate() { return new RestTemplate(); }
Οι διακόπτες κυκλώματος είναι ένας μηχανισμός προστασίας που χρησιμοποιείται για την αποφυγή διαδοχικών βλαβών μεταξύ των υπηρεσιών. Όταν εντοπίσει ότι μια παρουσία υπηρεσίας δεν είναι διαθέσιμη, θα επιστρέψει απευθείας μια απάντηση σφάλματος για να αποφύγει τη συνέχιση της κλήσης της μη διαθέσιμης παρουσίας.
Το Spring Cloud χρησιμοποιεί το Netflix Hystrix για την υλοποίηση διακοπτών κυκλώματος.
Βασικά χαρακτηριστικά του Hystrix:
Δείγμα κώδικα:
κώδικας αντιγραφής java
@HystrixCommand(fallbackMethod = "fallbackMethod") public String someMethod() { // 可能会失败的服务调用 } public String fallbackMethod() { return "Fallback response"; }
Η πύλη API είναι ένα σημαντικό στοιχείο στην αρχιτεκτονική μικροϋπηρεσιών Χρησιμοποιείται για την ομοιόμορφη διαχείριση και δρομολόγηση αιτημάτων πελατών και παρέχει έλεγχο ταυτότητας, έλεγχο ταυτότητας, περιορισμό ρεύματος, καταγραφή και άλλες λειτουργίες.
Το Spring Cloud παρέχει δύο λύσεις πύλης API:
Δείγμα κώδικα Spring Cloud Gateway:
κωδικό αντιγραφής yaml
spring: cloud: gateway: routes: - id: some_route uri: http://some-service predicates: - Path=/some-path/** filters: - StripPrefix=1
Το Spring Cloud Config είναι ένα κατανεμημένο εργαλείο διαχείρισης διαμόρφωσης που χρησιμοποιείται για την κεντρική διαχείριση των αρχείων διαμόρφωσης πολλών μικροϋπηρεσιών και υποστηρίζει δυναμικά ανανεωτικές διαμορφώσεις.
αρχή λειτουργίας:
Δείγμα κώδικα:
κώδικας αντιγραφής 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
Η κατανεμημένη ανίχνευση χρησιμοποιείται για την παρακολούθηση συνδέσμων αιτημάτων σε πολλές υπηρεσίες, βοηθώντας τους προγραμματιστές να παρακολουθούν και να διορθώνουν τα κατανεμημένα συστήματα.
Το Spring Cloud Sleuth παρέχει μια λύση κατανεμημένης ανίχνευσης που ενσωματώνει το Zipkin ή το Jaeger.
Κύρια χαρακτηριστικά του Spring Cloud Sleuth:
Δείγμα κώδικα:
xmlΑντιγραφή κώδικα