Home / Project Guides Articolo originale

Progettazione di architettura microservice Cloudtop

L'architettura del sistema di distribuzione evoluzionaria flessibile è costruita sulla base di Kubernetes, la griglia di servizio, gli strati di comunicazione e le caratteristiche osservazionali.

ZHIHUA OIGINALE Pratica professionaleDisaggregato dal campo alla governance del servizio, costruendo una base tecnologica resiliente, stabile e sostenibileLe nuvole sono una struttura, ZhiHua Tech originale.

Applicare la scena

La corrispondenza organizzativa e la capacità di trasporto tecnico delle applicazioni monomeri tradizionali possono essere significativamente ridotte in quanto l'impresa si evolve da una singola linea di prodotti + monostruttura ad una linea multi-prodotto + fase di sviluppo multi-team.Più a lungo il ciclo di distribuzione, più alto è il costo del test di regressione, la necessità di modifiche minori a un modulo non-core da ristampare per l'intera applicazione— Questi segnali suggeriscono che l’introduzione di strutture micro-servizio non è più un “over-designed” ma una condizione necessaria per una consegna efficiente continua da parte dei team.

Tipici segnali di punto di svolta includono: l'applicazione avvia tempi di oltre 30 secondi che portano ad un deterioramento dell'esperienza di aggiornamento di rotolamento; variazioni significative nella frequenza dei cambiamenti nei diversi moduli aziendali (i moduli di transazione core sono aggiornati una volta alla settimana e i moduli di gestione back-office sono probabili muoversi solo una volta al mese), ma il singolo-corpo costringe tutti i moduli a mantenere lo stesso ritmo di rilascio; più team di sviluppo collaborano sullo stesso magazzino di codice per consolidare i conflitti e restituire i rischi di memoria con la crescita dell'indice di perdita di memoria di dimensione del ciclo di perdita di perdita di perdita di perdita di perdita di memoria;

Gli scenari qui descritti si applicano alle imprese con alti tassi di sviluppo aziendale, collaborazione multi-team, elevata domanda di resilienza del sistema e consegna efficiente.ZhiHua TechFornire servizi di trasformazione completa del microservice da consulenza strutturata all'implementazione dell'Impromation, non rappresentando dati specifici del cliente.

Sfide operative tipiche

1. Collochi di bottiglia di efficienza di consegna in strutture monoforma

  • Rilasciare un giuntoGli sviluppatori :30 condividono un magazzino di codice e una linea di streaming CI/CD. Qualsiasi combinazione di codici può bloccare il rilascio di altri. Correzioni urgenti per un pagamento Bug, che deve aspettare fino al precedente backlog di 5 MR sono tutti consolidati e restituiti al test è completato - questi MR non hanno nulla a che fare con il modulo di pagamento.
  • Esplosioni di prova.: La gamma di test di regressione per una singola applicazione è circa la "applicazione completa". Anche se SQL è modificato con un'unica interfaccia di query, ci vogliono 40 minuti a 2 ore per eseguire il pacchetto completo di test end-to-end. La lunghezza del ciclo di feedback di prova rallenta la velocità iterativa.
  • Serratura tecnicaL'intera applicazione è legata a un magazzino tecnologico (come Java 8+ Spring), un nuovo scenario aziendale più adatto a Go o Node.js, ma l'introduzione di una nuova lingua significa un nuovo sistema di costruzione, distribuzione e monitoraggio, e le squadre spesso scelgono di "lavorare insieme".

2. Complessità causata dalla distribuzione

  • La rete è inaffidabile.: Il corpo uni è chiamato per metodo, e i micro-servizi sono collegati in rete. Le reti di straordinario, non imballato, diviso -- questi modelli di guasto che non esistono in un singolo corpo sono di routine sotto strutture micro-servizio. Senza ragionevole timeout, ri-testing e strategie di fusione, un servizio vibra come un domino.
  • Consistenza dei datiIn microservizi ogni servizio ha un proprio database e operazioni cross-service (il seguente è = servizio ordini + servizio di inventario + servizio di pagamento) deve fare affidamento su programmi di servizio distribuiti come Saga o TCC per garantire la coerenza finale. Questo cambiamento nel pensiero – dal "compenso di affari" a "la compensazione può essere possibile per ogni passo" – è la soglia cognitiva più difficile per un team di attraversare.
  • Debug e DeterrenceQuando un utente segnala un "ordine di arresto" è stato necessario collidere una catena di chiamata completa da un registro di gateway, registro di servizio di ordine, registro di servizio di inventario, registro di servizio di pagamento, senza un monitoraggio distribuito (ad esempio Jaeger, SkyWalking), il problema di posizionamento è come un ago.

3. Mancanza di infrastrutture e mobilità

  • Contenimento e organizzazioneI microservizi sono naturali per la distribuzione di containerizzazione, ma Kubernetes ha una curva di apprendimento ripida. Pod Network, Service Discovery, Ingress Route, ConfigMap, Secret Management, HPA Resilient sprawl - concetti che sono zero per i team tradizionali.
  • CI/CD Complessità: Da una linea di flusso a una linea N (una per ogni servizio), la costruzione dello specchio, la spinta, la distribuzione, il rollback richiede la standardizzazione. Senza un modello di linea di flusso uniforme e la gestione del prodotto, la frammentazione del processo di consegna può essere causata da squadre separate.
  • OsservabilitàLogging, indicatori e tracciamento – i tre pilastri sono uno. In strutture microservice, l'assenza di uno dei pilastri può portare a una significativa riduzione della capacità di estrusione.

Il pensiero di progettazione del programma

1. Dislivello progressivo invece di riscrivere Big Bang

ZhiHua Tech ha insistito sulla trasformazione micro-servizioHangler Fig Patterson• Progressively move verso moduli funzionali nella nuova architettura mantenendo il normale funzionamento del vecchio sistema, che coesiste attraverso strati di percorso fino a quando il vecchio sistema è completamente sostituito:

  • Prima di tutto, togliamo il modulo di cambiamento HF.La priorità è data alla separazione dei moduli più frequenti e indipendenti dell'azienda (ad esempio centri di utilizzo, centri di merce), una volta smantellati, godono dei dividendi di distribuzione indipendente, i cambiamenti non sono più limitati dal ritmo di rilascio di altri moduli.
  • API Gateway Ingresso unificatoIl gateway è responsabile della distribuzione del percorso, dell'autenticazione della clearance, della restrizione del flusso e dei registri dei log. Richiesta di inoltrare il gateway al mono o microservice corrispondente prefissando il percorso, senza alcun senso del front end.
  • Database segue la divisione: Ogni microservizio indipendente ha un database indipendente, Schema (anche un esempio di un database stand-alone), che è in definitiva coerente con il singolo database sincronizzando i dati o chiamando API. La smantellamento in fasi riduce il rischio utilizzando la strategia "Dub-Book +-Top-Read".

2. Servizi griglia di governance della comunicazione

Quando il numero di micro-servizi supera 10, il tradizionale SDK service governance (SDK per ogni servizio introdotto nel quadro RPC) inizia a esporre i costi di manutenzione - l'aggiornamento di SDK richiede che tutti i servizi vengano ristrutturati e pubblicati, diversi servizi SSDK hanno bisogno di diverse consegne e modifiche della strategia di governance richiedono modifiche di codice.

ZhiHua Tech raccomanda l'introduzione dopo la scala di servizio ha raggiunto un certo livello Servizio Mesh (ad esempio Istio + Inviato), capacità di governance del servizio a agente Sidecar:

  • Gestione del flussoLa versione di scala grigia (per diversione di peso/Header/Cookie), il test di iniezione fallita, gli specchi di richiesta - queste funzionalità possono essere realizzate attraverso le configurazioni di Design Rule e Vital Services di Istio senza la necessità di modificare i codici aziendali.
  • Comunicazioni sicure: MTLS (autenticazione TLS a due vie) è abilitata automaticamente per le comunicazioni inter-service, l'emissione, la rotazione e la revoca dei certificati è gestita automaticamente dalla Cittadella, e gli sviluppatori aziendali non hanno bisogno di percepire il meccanismo di sicurezza ascendente.
  • Osservabilità: Sidecar raccoglie automaticamente i dati della telemetria (delayed, fail rate) per tutte le stazioni in arrivo e in uscita a Prometheus (indicatore) + Jaeger (link) + ELK (log), formando un triangolo osservabile completo.

Linea di consegna CI/CD e Gitoops

ZhiHua Tech aiuta i clienti a costruire un sistema CI/CD standardizzato, il principio fondamentale èUn modello per la costruzione e la distribuzione di tutti i servizi:

  • Modelli di linea d'acqua: Tutti i micro-servizi condividono lo stesso set di modelli CI/CD (Jenkinsfile o GitHub Actions workworkworkworkwork template), che richiedono solo alcune variabili (lingua, porta, quote di risorse) da accedere.
  • Distribuzione dei Gitops: Una dichiarazione di tutte le risorse Kubernetes (Deployment, Service, Ingress, ConfigMap) viene memorizzata in Git Repository, dove l'ArgoCD monitora continuamente le modifiche in Git Repository e le sincronizza automaticamente a cluster.
  • Comunicato stampa: Consegna progressiva attraverso Argo Rollouts - nuova versione di Pod distribuito 5% prima, tasso di errore di osservazione e ritardo 5 minuti, e normale espansione di indicatore al 25% 50% e 100%.

Ambito di capacità di sistema

Zip, base containerizzata.

  • Pianificazione del clusterDesign di architettura a cluster multi-ambientale (sviluppo/test/pre-produzione/produzione), selezione delle specifiche dei nodi, selezione del plugin di rete (Calico/Cilium) e progettazione del programma di archiviazione (CSI).
  • Gestione specchiera PorterDi seguito sono riportati alcuni esempi dei recenti sviluppi nella zona di mirroring: Harbor private mirror storage construction, mirror security scansione (Trivy), mirror thinness strategy (multistage construction, dissolacy basic mirror).
  • stretching flessibile: HPA (basata su scala orizzontale CPU/RAM Pod) + Cluster Autoscaler (scalding di livello nodo) + KEDA (basato su scala guidata eventi di indicatori personalizzati come profondità della coda di messaggio).

Governance e comunicazioni dei servizi

  • Gateway API: Armonizzare il percorso, il flusso limite, l'autenticazione, il log, l'elaborazione cross-domain. Supporta l'estensione pluginizzazione alla logica personalizzata.
  • Registrazione e scoperta dei servizi: Riscoperta del servizio basata su Kubernetes DNS + Service, gestione dei metadati di servizio esterni in combinazione con Consul/Nacos.
  • Configurare il centroNacos/Apollo gestisce centralmente le configurazioni ambientali, le modifiche di configurazione vengono inviate in tempo reale, supportando la distribuzione e il rollback su scala grigia.

• Sistema osservativo

  • Log: Fluentd/Filebeat raccogliere →Kafka buffer → Negozio di Elasticsearch → Display Kibana. I log sono associati da TraceID.
  • IndicatoriPrometeo + Grafana, che copre gli indicatori delle infrastrutture (nodo/container/Pod) e gli indicatori applicativi (indicatori QPS/delayed/wrong/operative).
  • Tracciamento dei collegamenti: OpenTelemetry + Jaeger, visualizzando la catena di chiamata completa e il tempo per salto tra i servizi richiesti.
  • Chiama la polizia.: Alertmanager classificato (emergenza/avvertimento/notifica), inviato tramite Enterprise Micro-Credits/Pertification/Flying Book, con uno screenshot del pannello Grafana.

CI/CD Consegna

  • Standardizzazione del repository di codice (politica di frequenza, CODEOWNERS, modello di richiesta di fusione)
  • Automazione, test di unità, scansione del codice (SonarQube), costruzione dello specchio consegna
  • Gitoops Deployment (ArgoCD)+Cyancant/Blue Green Release Strategy

Architettura dei dati di distribuzione

  • Politica di base: Spalato verticalmente per campo + Spalato orizzontalmente per tempo/ID (SharingSphere). Leggi e scrivi separati (scrittura principale della biblioteca, lettura da biblioteca).
  • Servizi di distribuzioneSi tratta di un piccolo numero di newssheet locali in base alle informazioni ricevute e alle schede informative locali.
  • Struttura della cache: Redis Cluster Cache multilivello (cafsee locale + Cache distribuzione + database), Cache Aside / Writer Behind.

Prodotti

Fase Consegna Elementi principali
Architettura Documento di progettazione della struttura Servizi programma di de-segregazione, definizione di confine area, interfaccia compatta (API), strategia di segregazione dati e architettura delle infrastrutture
Infrastrutture K8s Cluster + Medio Livello di produzione Kubernetes Distribuzione cluster (compresa la configurazione di rete/scarica/sicurezza), gateway API, griglia di servizio, centro di configurazione, centro di registrazione, ecc.
Osservabilità Sorveglianza e sistema di polizia Prometheus + pannello di monitoraggio Grafana, piattaforma di log ELK, tracciamento link Jaeger, configurazione della regola di allarme e canale di notifica gerarchia
CI/CD Linea di galleggiamento + GitOps Modello standardizzato CI/CD linea di flusso, configurazione ArgoCD, strategia di rilascio canari, meccanismo di rollback automatico
Migrazione Programma di migrazione e consegna Programma di migrazione appendiabiti, script di migrazione dati, manuale di trasporto, formazione di squadra e sicurezza online 7x24

orientamento del valore intenzionato

  • Risultato significativo dell'efficienza nella consegnaIl servizio è costruito in modo indipendente, testato e distribuito, e il ciclo di rilascio del servizio singolo viene ridotto da un livello "settimanale" a un livello "orale".
  • Isolamento e elasticità di guasto: La perdita di memoria di un servizio non riduce il sistema. L'amplificazione automatica (HPA/KEDA) assicura che ci siano risorse sufficienti sotto il flusso di picco per ridurre il costo del recupero automatico delle risorse a basse valli.
  • Tecnologia magazzino libertà: I servizi diversi possono selezionare i migliori comparti tecnologici della scena, e l'introduzione di nuove tecnologie non richiede più una ri-ingegneria completa.
  • Copertura osservabileIl blogger dice che il governo è stato in grado di “mostrare il problema” da “nessun problema” a “nessuno indicatori anomalia visti su Grafana prima che l’utente si lamentasse”.

📎 Saperne di più:

  • Progettazione del software Custode - Progettazione e sviluppo personalizzati per processi aziendali unici
  • Business Digital Platform - Costruire la base tecnologica di livello enterprise efficace e scalabile
  • Trasporto di consegna del prodotto - completa garanzia di consegna dalla linea di flusso CI/CD al trasporto di produzione
  • Consulenza gratuita - comunica le tue esigenze strutturali con il team ZhiHua Tech
Servizi professionali per ZhiHua Tech

Necessità di ulteriori analisi nel contesto dello stato attuale dell'impresa?

Forniamo consulenza tecnica IT, costruzione di informazioni aziendali, progetto software Outlook, FDE enterprise AI applicazione e software di progettazione e servizi di consegna del prodotto.

Consulenti di collegamento
Dichiarazione di responsabilità

L'organo di pubblicazione: Shanghai, come ZhiHua Tech. Questo documento è utilizzato per scopi di decisione tecnico-progettuale; fatti, dati e prospettive esterne sono presentati a pagina e possono essere verificati in ambito e non costituiscono un impegno per i risultati di un progetto specifico.Controllo della liquidazione dei contenuti, fonte di informazioni e politica di correzione