Condivisione della tecnologia

Note di studio su Grain Mall-23-Componenti distribuiti-SpringCloud Alibaba-Nacos Configuration Center-Semplice esempio

2024-07-12

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

Ho già imparato a utilizzare Nacos come centro di registrazione. In questa sezione impareremo un'altra funzione principale di Nacos:配置中心

1. Introduzione a Nacos Configuration Center

Nacos è una piattaforma facile da usare per il rilevamento dinamico dei servizi e la gestione della configurazione. Come centro di configurazione, Nacos offre le seguenti funzioni e vantaggi principali:

  1. Gestione dinamica della configurazione: Nacos consente agli utenti di modificare e inviare dinamicamente le informazioni di configurazione senza riavviare il servizio, ottenendo aggiornamenti della configurazione in tempo reale.

  2. Configura l'archiviazione centralizzata: Nacos fornisce un archivio di configurazione centralizzato, rendendo le informazioni di configurazione facili da gestire e mantenere ed evitando il problema della dispersione della configurazione in ambienti e sistemi diversi.

  3. Configura il controllo della versione: Nacos supporta il controllo della versione della configurazione, che può tenere traccia della cronologia delle modifiche alla configurazione e facilitare le operazioni di rollback.

  4. Configura la condivisione: Nacos consente la condivisione della configurazione tra servizi, migliorando la riusabilità della configurazione e riducendo la ridondanza.

  5. Configura l'isolamento: Attraverso il concetto di spazio dei nomi, Nacos supporta l'isolamento della configurazione di diversi ambienti (come sviluppo, test e produzione) per garantire che le configurazioni tra gli ambienti non interferiscano tra loro.

  6. Configura l'ascolto e il push: Nacos fornisce una funzione di monitoraggio della configurazione Quando la configurazione cambia, può inviare attivamente aggiornamenti al client per ottenere l'aggiornamento a caldo della configurazione.

  7. sicurezza: Nacos supporta il controllo dell'accesso alla configurazione e la gestione delle autorizzazioni per garantire che solo gli utenti autorizzati possano accedere o modificare le configurazioni.

  8. Supporto per più ambienti: Nacos supporta una varietà di ambienti di distribuzione e può soddisfare la gestione della configurazione su diverse scale ed esigenze.

  9. Integrazione con Spring Cloud: Nacos è strettamente integrato con Spring Cloud e fornisce spring-cloud-starter-alibaba-nacos-config e altri componenti, semplificando il processo di utilizzo del centro di configurazione Nacos nelle applicazioni Spring Cloud.

  10. Facilità d'uso: Nacos fornisce un'interfaccia utente amichevole, rendendo la visualizzazione, la modifica e la gestione delle configurazioni intuitive e semplici.

Come centro di configurazione, Nacos è adatto per architetture di microservizi, applicazioni native del cloud e sistemi distribuiti che richiedono una gestione dinamica della configurazione. Gestendo centralmente le configurazioni, Nacos aiuta le aziende a migliorare l'efficienza e la sicurezza della gestione delle configurazioni, semplificando al tempo stesso le attività di sviluppo, funzionamento e manutenzione.

2. Istruzioni per l'uso di Nacos Configuration Center

Le istruzioni per l'uso sono riportate in dettaglio nella documentazione ufficiale, fare clic per visualizzare la documentazionehttps://nacos.io/zh-cn/docs/v2/ecology/usa-nacos-con-spring-cloud.html

1. Dichiarare la dipendenza Maven dal centro di configurazione

Per utilizzare il centro di configurazione, devi prima aggiungere le dipendenze.

<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
  • 1
  • 2
  • 3
  • 4

Nel progetto Guli Mall, poiché tutti i servizi devono utilizzare il centro di configurazione Nacos, questa dipendenza viene aggiunta al modulo comune.

2. Configurare l'indirizzo e il nome dell'applicazione del server Nacos in bootstrap.properties

Nella directory delle risorse del progetto o del modulo, dichiarare l'indirizzo e il nome del servizio del server Nacos in bootstrap.properties.

spring.cloud.nacos.config.server-addr=127.0.0.1:8848
spring.application.name=gulimall-coupon
  • 1
  • 2

3. Creare un file di configurazione nell'interfaccia dell'elenco di configurazione di Nacos

Inserisci qui la descrizione dell'immagine

Dopo aver fatto clic su Crea configurazione, verrà visualizzata la pagina seguente.

Inserisci qui la descrizione dell'immagine

  • ① L'ID dati è equivalente al nome del file e deve includere il nome del servizio, ad esempio gulimall-coupon.properties
  • ② Il tipo di file di configurazione supporta più tipi. Per i microservizi, in genere è yaml o proprietà.
  • ③ La casella nera contiene le informazioni di configurazione da compilare

esistere Nacos Spring Cloud mezzo,Data Id Il formato completo di è il seguente:

${prefix}-${spring.profiles.active}.${file-extension}
  • 1
  • prefix L'impostazione predefinita èspring.application.name Il valore può anche essere passato attraverso l'elemento di configurazionespring.cloud.nacos.config.prefixconfigurare.
  • spring.profiles.active Cioè, corrispondente all'ambiente attualeprofile , fare riferimento alla documentazione di Spring Boot per i dettagli. Nota: quandospring.profiles.active Quando è vuoto, il connettore corrispondente non esisterà e il formato di giunzione sarà dataId${prefix}.${file-extension}
  • file-exetension Per configurare il formato dei dati del contenuto, è possibile passare l'elemento di configurazionespring.cloud.nacos.config.file-extension configurare.Attualmente supporta soloproperties Eyaml tipo.

Tre, prova

1. Inserire le informazioni di configurazione nel progetto

Innanzitutto inseriamo le informazioni nel file di configurazione del progetto e configuriamo le seguenti informazioni nel file di configurazione application.properties del modulo coupon:

coupon.user.name=lcy
coupon.age=22
  • 1
  • 2

Inserisci qui la descrizione dell'immagine

2. Scrivi il codice di prova

Aggiungi un metodo nel Controller per utilizzare le informazioni di configurazione nel file di configurazione.

	@Value("${coupon.user.name}")
    private String userName;
    @Value("${coupon.user.age}")
    private String userAge;

    @RequestMapping("test")
    public R test(){
        return R.ok().put("name", userName).put("age", userAge);
    }
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

Tieni presente che nel codice precedente inseriamo la configurazione nel file di configurazione nella variabile della classe tramite l'annotazione @Value, quindi facciamo riferimento ad essa nel metodo.

3. Prova

Dopo aver avviato il servizio, inserisci il seguente indirizzo nel tuo browser.

http://localhost:7000/coupon/coupon/test
  • 1

L'output è il seguente, a indicare che le informazioni nel file di configurazione sono state lette.
Inserisci qui la descrizione dell'immagine

4. Configurare le informazioni di configurazione nel centro di configurazione

Prendi il servizio coupon come esempio da configurare.
Inserisci qui la descrizione dell'immagine

Fare clic sul pulsante di modifica sul lato destro dell'elenco dei file di configurazione per accedere all'interfaccia di modifica.

Inserisci qui la descrizione dell'immagine

Tieni presente che per chiarire la differenza e la connessione tra il file di configurazione del centro di configurazione e il file di configurazione locale, non abbiamo eliminato la configurazione locale nel passaggio precedente.

Attualmente, è presente una sola configurazione configurata nel centro di configurazione. Questa configurazione è disponibile anche nella configurazione locale, ma il valore è diversocoupon.user.name=lcy, il centro di configurazione ècoupon.user.name=lcy2

Aggiornare il browser dopo aver riavviato il servizio. I risultati sono i seguenti.

Inserisci qui la descrizione dell'immagine
Ovviamente, il valore del nome viene preso dal centro di configurazione piuttosto che dal file di configurazione locale.Il valore nel centro di configurazione sovrascriverà il valore nel file di configurazione locale.

registro degli errori

Record di errori del centro di configurazione di Guli Mall