2024-07-08
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Spring Cloud on Spring Bootiin perustuva mikropalveluarkkitehtuuriratkaisu, joka sisältää monia työkaluja ja kehyksiä mikropalvelujen rakentamiseen ja hallintaan. Haastatteluissa Spring Cloudiin liittyvät kysymykset kattavat yleensä sen ydinkonseptit, komponentit, yleiset mallit ja ratkaisut. Tässä on joitain usein kysyttyjä kysymyksiä ja vastauksia niihin Spring Cloud -haastatteluissa:
Spring Cloud sisältää monia ydinkomponentteja, joista yleisimmät ovat:
Palvelun rekisteröinti ja etsintä on mikropalveluarkkitehtuurin avainkäsite, joka viittaa palveluinstanssien dynaamiseen rekisteröintiin ja etsimiseen. Palvelurekisteröintikeskus vastaa palveluinstanssien luettelon ylläpidosta. Jokainen mikropalvelu rekisteröi osoitteensa ja metatietonsa palvelurekisteröintikeskukseen käynnistyessään.
Spring Cloudin yleisesti käytetty palvelun rekisteröinti- ja hakukomponentti on Netflix Eureka.
Palvelun rekisteröinti- ja hakuprosessi:
Esimerkkikoodi:
java kopiointikoodi
@EnableEurekaServer @SpringBootApplication public class EurekaServerApplication { public static void main(String[] args) { SpringApplication.run(EurekaServerApplication.class, args); } }
java kopiointikoodi
@EnableEurekaClient @SpringBootApplication public class EurekaClientApplication { public static void main(String[] args) { SpringApplication.run(EurekaClientApplication.class, args); } }
Kuormituksen tasapainotus on tekniikka, joka jakaa pyynnöt useiden palveluinstanssien kesken järjestelmän saatavuuden ja suorituskyvyn parantamiseksi. Spring Cloud tarjoaa asiakaspuolen kuormantasausratkaisun, joka toteutetaan pääasiassa Ribbonin kautta.
Nauhan pääominaisuudet:
Esimerkkikoodi:
java kopiointikoodi
@LoadBalanced @Bean public RestTemplate restTemplate() { return new RestTemplate(); }
Katkaisijat ovat suojamekanismi, jota käytetään estämään kaskadihäiriöt palvelujen välillä. Kun se havaitsee, että palveluesiintymä ei ole käytettävissä, se palauttaa suoraan virhevastauksen välttääkseen ei-käytettävissä olevan ilmentymän kutsumisen jatkamisen.
Spring Cloud käyttää Netflix Hystrixiä katkaisijoiden toteuttamiseen.
Hystrixin tärkeimmät ominaisuudet:
Esimerkkikoodi:
java kopiointikoodi
@HystrixCommand(fallbackMethod = "fallbackMethod") public String someMethod() { // 可能会失败的服务调用 } public String fallbackMethod() { return "Fallback response"; }
API-yhdyskäytävä on tärkeä komponentti mikropalveluarkkitehtuurissa. Sitä käytetään asiakaspyyntöjen yhtenäiseen hallintaan ja reitittämiseen, ja se tarjoaa autentikointia, todennusta, virranrajoitusta, kirjaamista ja muita toimintoja.
Spring Cloud tarjoaa kaksi API-yhdyskäytäväratkaisua:
Spring Cloud Gateway -esimerkkikoodi:
yaml kopioi koodi
spring: cloud: gateway: routes: - id: some_route uri: http://some-service predicates: - Path=/some-path/** filters: - StripPrefix=1
Spring Cloud Config on hajautettu määritysten hallintatyökalu, jota käytetään useiden mikropalvelujen konfigurointitiedostojen keskitettyyn hallintaan ja joka tukee dynaamisesti päivittyviä määrityksiä.
toimintaperiaate:
Esimerkkikoodi:
java kopiointikoodi
@EnableConfigServer @SpringBootApplication public class ConfigServerApplication { public static void main(String[] args) { SpringApplication.run(ConfigServerApplication.class, args); } }
bootstrap.yml
):yaml kopioi koodi
spring: application: name: some-service cloud: config: uri: http://localhost:8888
Hajautettua jäljitystä käytetään pyyntölinkkien seuraamiseen useissa palveluissa, mikä auttaa kehittäjiä valvomaan ja korjaamaan hajautettuja järjestelmiä.
Spring Cloud Sleuth tarjoaa hajautetun jäljitysratkaisun, joka integroi Zipkinin tai Jaegerin.
Spring Cloud Sleuthin tärkeimmät ominaisuudet:
Esimerkkikoodi:
xmlKopioi koodi