Questo articolo è un articolo speculare di traduzione automatica, clicca qui per saltare all'articolo originale.

Vista: 15665|Risposta: 3

Strumenti di divulgazione scientifica per architetture su larga scala

[Copiato link]
Pubblicato su 14/05/2018 13:32:51 | | | |

I.1 Java Spring Boot

È adatta per la costruzione di sistemi a microservizi

  • Usare la pagina Bootstrap del Progetto Spring può costruire un progetto in pochi secondi
  • È comodo esportare varie forme di servizi, come REST API, WebSocket, Web, Streaming e Task
  • Integrazione molto concisa delle politiche di sicurezza
  • Sono supportati database relazionali e non relazionali
  • Supportano container embedded durante l'esecuzione, come Tomcat e Jetty
  • Potente pacchetto di sviluppo con supporto per l'avvio a caldo
  • Gestione automatica delle dipendenze
  • Monitoraggio delle applicazioni integrato
  • Supporta vari IED, come IntelliJ IDEA, NetBeans

Altri linguaggi: .net core, Go, ecc


I.2 Jenkins

Procedure CI automatizzate per l'integrazione continua

  • Open source e gratuito
  • Multipiattaforma, supporto per tutte le piattaforme (ho installato su Ubuntu 14.04, usando l'immagine docker di Jenkins non è stato efficace)
  • Master/slave supporta le build distribuite
  • Una pagina di gestione visiva sotto forma di web
  • L'installazione e la configurazione sono super semplici
  • consigli Aiuto tempestivo e rapido
  • Centinaia di plugin che esistono già



I.3 GitLab

  • Un repository di progetti Git auto-ospitato che può essere accessibile tramite un'interfaccia web per installazioni pubbliche o private di progetti.
  • Ha funzionalità simili a GitHub, con la possibilità di navigare nel codice sorgente, gestire bug e commenti. È possibile gestire l'accesso del team al repository, è molto facile sfogliare le versioni inviate e offre una libreria di cronologia file.
  • I membri del team possono comunicare utilizzando il semplice programma di chat integrato (Wall). Fornisce inoltre una funzione di raccolta di frammenti di codice che consente un facile riutilizzo del codice e una facile ritrovabilità successiva quando necessario.
  • Dokcer
  • Docker è un motore open-source che rende facile creare un contenitore leggero, portatile e autosufficiente per qualsiasi applicazione. I container che gli sviluppatori compilano e testano su notebook possono essere distribuiti in batch in ambienti di produzione, inclusi VM (macchine virtuali), bare metal, cluster OpenStack e altre piattaforme applicative sottostanti.
  • Docker è comunemente usato nei seguenti scenari:
  • impacchetto e pubblicazione automatizzato di applicazioni web;
  • test automatizzati e integrazione continua, rilascio;
  • Distribuire e ottimizzare database o altre applicazioni di background in un ambiente orientato ai servizi;
  • Costruisci il tuo ambiente PaaS compilando o estendendo la tua piattaforma OpenShift o Cloud Foundry esistente da zero.



I.4 Kubernetes

  • Kubernetes è un sistema di gestione cluster di container e una piattaforma open-source che può realizzare funzioni come il deployment automatizzato, la scalabilità automatica e la manutenzione dei cluster di container.
  • Con Kubernetes puoi:
  • Distribuisci rapidamente le applicazioni
  • Scala rapidamente le tue applicazioni
  • Integrarsi senza soluzione di continuità con le nuove funzioni applicative
  • Risparmiare risorse e ottimizzare l'uso delle risorse hardware



I.5 MQ

Quando fattori come la velocità o la stabilità di "produzione" e "consumo" sono incoerenti nel sistema, sono necessarie code di messaggi come strato di astrazione per colmare le differenze tra i due lati. Un messaggio è un'unità di dati trasmessa tra due computer. I messaggi possono essere molto semplici, ad esempio contenere solo stringhe di testo; Può anche essere più complesso e può contenere oggetti incorporati. I messaggi vengono inviati alle code, che sono contenitori che contengono i messaggi durante la trasmissione.

  • Saccoppiati
  • Ridondanza
  • Scalabilità
  • Flessibilità e throughput di picco
  • Recuperabilità
  • Consegna garantita
  • Smistamento garantito
  • Buffering
  • Comprendere i flussi dei dati
  • Comunicazione asincrona


I.6 SQL DB

  • Un database è un magazzino costruito su dispositivi di archiviazione informatica che organizza, conserva e gestisce i dati secondo una struttura dati.
  • Per dirla semplicemente, può essere considerato un archivio elettronico - un luogo dove vengono archiviati file elettronici e dove gli utenti possono aggiungere, intercettare, aggiornare, eliminare e altre operazioni sui dati presenti nel file.
  • Nel lavoro quotidiano della gestione economica, spesso è necessario inserire alcuni dati rilevanti in tale "magazzino" e processarli di conseguenza in base alle esigenze della gestione.


MySQL/PostgreSQL rappresenta i tradizionali database relazionali.

HBase rappresenta la tecnologia Big Table (indicizzazione delle righe, archiviazione delle colonne).

Neo4j(http://www.neo4j.org/) è un rappresentante di database di grafi utilizzato per memorizzare dati strutturali di grafi complessi e multidimensionali.

Redis è un rappresentante NoSQL basato su Key-Value, e esiste Redis-to-go per fornire servizi di archiviazione.

MongoDB/CouchDB è un rappresentante NoSQL basato su Document, mentre Couchbase è una fusione della tecnologia Document/Key-Value.

VoltDB rappresenta NewSQL, con coerenza dei dati e buona scalabilità, e la sua promessa di prestazioni è decine di volte superiore a quella di MySQL.

TiDB è un database SQL distribuito sviluppato dal team nazionale PingCAP. Ispirato dalla F1 di Google e dalla chiave chiave Google, TiDB supporta funzionalità che includono RDBMS tradizionali e NoSQL.

I.7 Stack TICK

InfluxDB

Strumenti di database per serie temporali.

Telegraf

è uno strumento per la raccolta e l'archiviazione dei dati. Fornisce molti plugin di input e output, come la raccolta di CPU locali, carico, traffico di rete, ecc., e poi scritto su InfluxDB o Kafka.

Chronograf

Strumenti di disegno

Kapacitor

Kapacitor è uno strumento di allarme di InfluxData, che legge i dati di InfluxDB e configura TickScript in base al tipo DLS per avvisare.

I.8 Mantenuto

Keepalived è un software di servizio nella gestione dei cluster che garantisce un'elevata disponibilità del cluster, simile al heartbeat, per prevenire singoli punti di guasto.

keepalilived si basa sul protocollo VRRP, che sta per Virtual Router Redundancy Protocol, cioè il protocollo di ridondanza di routing virtuale.

Il protocollo di ridondanza di rotte virtuali, che può essere considerato un protocollo per garantire un'alta disponibilità di router, cioè N router che forniscono le stesse funzioni formano un gruppo router, questo gruppo ha un master e più backup, e c'è un VIP sul master che fornisce servizi al mondo esterno (la rotta predefinita delle altre macchine nella LAN dove si trova il router è il VIP), il master invia un multicast e, quando il backup non può ricevere il pacchetto VRRP, si considera che il master sia fuori uso. Al momento, devi scegliere un backup come master in base alla priorità del VRRP. Questo garantirà un'alta disponibilità del router.

Keepalived ha tre moduli principali, ovvero Core, Check e VRRP. Il modulo core è il nucleo di keepalived, che si occupa di avviare e mantenere il processo principale, oltre a caricare e analizzare i file di configurazione globali. Check è responsabile dei controlli di salute, inclusi vari metodi di esame comuni. Il modulo VRRP è progettato per implementare il protocollo VRRP


I.9 Porto

Harbor è un server di registro di livello enterprise per memorizzare e distribuire immagini Docker.

I.10 Ignite / Redis

L'Apache Ignite In-Memory Data Organization Framework è una piattaforma di calcolo in memoria e transazionale ad alte prestazioni, integrata e distribuita per l'elaborazione su larga scala di dataset con prestazioni superiori rispetto alle tecnologie tradizionali basate su disco o flash, fornendo al contempo una gestione distribuita e ad alte prestazioni distribuita dell'organizzazione dei dati in memoria tra applicazioni e diverse fonti dati.


numero di serieConfronta i progettiApache IgniteRedis
1JCache (JSR 107)Ignite è completamente compatibile con la specifica di cache JCache (JSR107)Non supportato
2Transazioni ACIDIgnite supporta pienamente le transazioni ACID, inclusi modelli di concorrenza ottimistici e pessimisti, oltre a livelli di isolamento READ_COMMITTED, REPEATABLE_READ e SERIALIZABLE.Redis offre un supporto limitato per transazioni ottimistiche lato client, che richiedono al client di riprovare manualmente la transazione in caso di aggiornamenti simultanei.
3Partizionamento dei datiIgnite supporta la cache partizionata, simile a un hash distribuito, dove ogni nodo del cluster memorizza una porzione dei dati e Ignite riequilibra automaticamente i dati in caso di cambiamento di topologia.Redis non fornisce partizionamento, ma fornisce sharding delle repliche, molto rigido da usare e richiede una serie di passaggi manuali piuttosto complessi ogni volta che la topologia cambia, sia client che server.
4Copia integraleIgnite supporta la replica in cache, supportata da ogni coppia chiave-valore per ogni nodo del cluster.Redis non fornisce supporto diretto per la replica completa.
5Oggetto nativoIgnite permette agli utenti di utilizzare il proprio modello di oggetto di dominio e fornisce supporto nativo per qualsiasi tipo di dato Java/Scala, C++ e .NET/C# (oggetto), consentendo agli utenti di memorizzare facilmente qualsiasi programma e oggetto di dominio nella cache di Ignite.Redis non consente agli utenti di utilizzare tipi di dati personalizzati, supporta solo raccolte predefinite di strutture dati di base, come Set, List, Array e alcune altre.
6Cache lato client (quasi)Ignite fornisce supporto diretto per la cache lato client dei dati recentemente acceduti.Non supportato
7 (lato server) giustapposizioneIgnite supporta l'esecuzione diretta di qualsiasi codice Java, C++ e .NET/C# in modo collaterale, vicino ai dati sul lato server.Redis di solito non dispone di capacità di collocazione, e il lato server supporta sostanzialmente solo linguaggio di scripting LUA, mentre il lato server non supporta direttamente l'esecuzione di codice Java, .NET o C++.
8Query SQLIgnite supporta la sintassi completa SQL (ANSI-99) per interrogare dati in memoria.Redis non supporta alcun linguaggio di interrogazione, solo l'API di cache lato client.
9Indagine continuaIgnite fornisce supporto sia per query persistenti lato client che lato server, e gli utenti possono impostare filtri lato server per ridurre e diminuire il numero di eventi trasmessi al client.Redis supporta notifiche di eventi basate su chiavi lato client, ma non fornisce filtri lato server, con conseguente aumento significativo del traffico di rete per aggiornare le notifiche sia lato client che server.
10Integrazione di databaseIgnite può integrare automaticamente database esterni - RDBMS, NoSQL e HDFS.Redis non può essere integrato con database esterni.



I.11 ELK

ELK è composto da tre componenti: Elasticsearch, Logstash e Kibana;

Elasticsearch è un motore di ricerca distribuito open-source che offre auto-discovery distribuito a configurazione zero, auto-sharding, auto-sharding dell'indice, meccanismo di replica dell'indice, interfaccia in stile restful, molteplici fonti di dati e payload di ricerca automatica.

Logstash è uno strumento completamente open-source che raccoglie, analizza e memorizza i tuoi log per un uso successivo

Kibana è uno strumento open source e gratuito che offre a Logstash ed ElasticSearch un'interfaccia web ottimizzata per l'analisi dei log, che può aiutarti ad aggregare, analizzare e cercare nei dati importanti.



I.12 Kong(Nginx)

Kong è un progetto API altamente disponibile e facile da estendere, scritto su moduli Nginx_Lua ed è open source di Mashape. Poiché Kong si basa su Nginx, può scalare orizzontalmente più server Kong e distribuire le richieste in modo uniforme a ciascun server tramite una configurazione a carico anticipato per gestire un gran numero di richieste di rete.

Kong ha tre componenti principali:

KongServer: Un server basato su nginx che riceve richieste API.

ApacheCassandra/PostgreSQL: Utilizzato per memorizzare dati operativi.

Kongdashboard: Strumento ufficialmente raccomandato per la gestione dell'interfaccia utente, ovviamente puoi anche usare restfull per gestire l'adminapi.

Kong utilizza un meccanismo di plugin per la personalizzazione funzionale, in cui un insieme di plugin (che possono essere 0 o n) viene eseguito durante il ciclo di vita del ciclo di risposta alla richiesta API. Il plugin è scritto in Lua e attualmente ha diverse funzioni di base: autenticazione di base HTTP, autenticazione delle chiavi, CORS (Cross-originResourceSharing), TCP, UDP, registrazione file, riduzione delle richieste API, inoltro delle richieste e monitoraggio nginx.



I.13 Openstack

OpenStack+KVM

OpenStack: progetto di gestione open source

OpenStack è un progetto open source che mira a fornire software per la costruzione e la gestione di cloud pubblici e privati. Non è un software, ma una combinazione di diversi componenti principali per svolgere un lavoro specifico. OpenStack è composto dai seguenti cinque componenti relativamente indipendenti:

OpenStackCompute (Nova) è un insieme di controller utilizzati per il calcolo delle macchine virtuali o per lanciare istanze di macchine virtuali usando gruppi;

OpenStack Image Service (Glance) è un sistema di ricerca e recupero immagini di macchine virtuali che realizza la gestione delle immagini delle macchine virtuali.

OpenStack Object Storage (Swift) è un sistema di archiviazione basato su oggetti per sistemi su larga scala con ridondanza e tolleranza ai guasti integrate, simile ad Amazon S3.

OpenStackKeystone per servizi di identità utente e gestione delle risorse, oltre a

OpenStackHorizon, un'interfaccia dashboard basata su Django, è un front-end di gestione grafica.

Originariamente sviluppato da NASA e Rackspace alla fine del 2010, questo progetto open-source mira a creare una piattaforma di cloud computing facile da implementare, ricca di funzionalità e scalabile. Il primo compito del progetto OpenStack è semplificare il processo di distribuzione del cloud e portargli una buona scalabilità, nel tentativo di diventare il sistema operativo del data center, cioè il sistema operativo cloud.

KVM: Tecnologia di virtualizzazione aperta

KVM (Kernel-based VirtualMachine) è un modulo open-source di virtualizzazione di sistemi che richiede supporto hardware, come la tecnologia IntelVT o la tecnologia AMDV, completamente virtualizzato basandosi sull'hardware ed è completamente integrato in Linux.

Nel 2008, Red Hat ha acquisito Qumranet per acquisire la tecnologia KVM e promuoverla come parte della sua strategia di virtualizzazione, supportando KVM come unico hypervisor al rilascio di RHEL 6 nel 2011. KVM si concentra su alte prestazioni, scalabilità, alta sicurezza e basso costo.



I.14 Disconf

Concentrandoci su vari "componenti comuni" e "piattaforme comuni" di "gestione della configurazione di sistema distribuita", forniamo servizi unificati di "gestione della configurazione".

I.15 Apollo

Apollo è una piattaforma di gestione della configurazione sviluppata dal dipartimento framework di Ctrip, che può gestire centralmente la configurazione di diversi ambienti e cluster di applicazioni, e può essere spinta in tempo reale sul lato applicativo dopo modifiche di configurazione, e possiede permessi, governance dei processi e altre caratteristiche standardizzate.

Il server è sviluppato basandosi su SpringBoot e SpringCloud, e può essere eseguito direttamente dopo il confezionamento senza installare ulteriori contenitori applicativi come Tomcat.


I.16 gRPC

gRPC è un framework RPC ad alte prestazioni, open-source e versatile per design mobili e HTTP/2. Attualmente sono disponibili versioni dei linguaggi C, Java e Go, ovvero: grpc, grpc-java e grpc-go. La versione C supporta C, C++, Node.js, Python, Ruby, Objective-C, PHP e C#.

gRPC è progettato sulla base dello standard HTTP/2, portando caratteristiche come flusso bidirezionale, controllo del flusso, compressione della testa e richieste di multiplexing su una singola connessione TCP. Queste caratteristiche lo rendono migliore sulle prestazioni sui dispositivi mobili, risparmiando energia e spazio.



I.17 Canale

canal è un progetto open source sotto Alibaba, puramente sviluppo Java. Basato sull'analisi incrementale dei log di database, fornisce abbonamento e consumo incrementale di dati, e attualmente supporta principalmente MySQL (supporta anche mariaDB).

Servizi basati su abbonamento incrementale di log e supporto al consumo:

  • Mirroring del database
  • Backup in tempo reale del database
  • Indicizzazione multilivello (indici separati per venditori e acquirenti)
  • searchbuild
  • Aggiornamento della cache del servizio
  • Notizie importanti di business come le variazioni dei prezzi



I.18 Sparkstreaming

SparkStreaming è un'estensione dell'API core di Spark che consente l'elaborazione ad alta velocità e tollerante ai guasti di dati in streaming in tempo reale. Supporto per l'acquisizione di dati da diverse fonti dati, tra cui Kafk, Flume, Twitter, ZeroMQ, Kineses e TCPsockets, e dopo aver prelevato dati da fonti dati, algoritmi complessi possono essere elaborati utilizzando funzioni avanzate come mappa, riduce, join e window.


I.19 SonarQube

Sonar è una piattaforma open-source per la gestione della qualità del codice per gestire la qualità del codice sorgente e rilevare la qualità del codice da sette dimensioni

Attraverso la forma di plug-in, può supportare la gestione e il rilevamento della qualità del codice in più di 20 linguaggi di programmazione, tra cui java, C#, C/C++, PL/SQL, Cobol, JavaScrip, Groovy, ecc

I.20 DataX

DataX è uno strumento di sincronizzazione offline per fonti di dati eterogenee, dedicato a ottenere una sincronizzazione stabile ed efficiente tra varie fonti di dati eterogenee, inclusi database relazionali (MySQL, Oracle, ecc.), HDFS, Hive, ODPS, HBase, FTP e altre.

I.21 Zen Management/Jira

Funzione zen
1) Gestione del prodotto: prodotti, requisiti, piani, comunicati, roadmap e altre funzioni.
2) Gestione dei progetti: progetti, compiti, team, build, grafici di burndown e altre funzioni.
3) Gestione della qualità: bug, casi di test, compiti di test, risultati e altre funzioni.
4) Gestione documentale: libreria documenti di prodotto, libreria di documenti di progetto, libreria documenti personalizzata e altre funzioni.
5) Gestione delle transazioni: gestione delle tasche, funzioni di gestione degli affari personali come I miei compiti, i miei bug, i miei bisogni e i miei progetti.
6) Organizzazione e gestione: dipartimenti, utenti, gruppi, permessi e altre funzioni.
7) Funzione statistica: ricca tabella statistica.
8) Funzione di ricerca: Trovare i dati corrispondenti tramite la ricerca.


Caratteristiche di JIRA
1) Tracciamento e gestione dei problemi (i tipi di problemi includono NewFeature, Bug, Task e Improvement);
2) Rapporto di analisi del follow-up del problema;
3) Funzione di gestione delle categorie di progetto;
4) funzione di leader component/modulo;
5) Funzione indirizzo email del progetto;
6) Flussi di lavoro illimitati.



I.22 XXJOB

XXL-JOB è un framework di pianificazione delle attività distribuito e leggero con obiettivi di progettazione fondamentali di sviluppo rapido, apprendimento semplice, leggero e facile da scalare.

  • Semplice: supporta l'operazione CRUD sui compiti tramite pagine web, funzionamento semplice, un minuto per iniziare;
  • Dinamico: Supporta la modifica dinamica dello stato del compito, pausa/ripresa dei compiti e la terminazione di compiti in corso, che entrano in vigore immediato.
  • Centro di Dispatch HA (centralizzato): La pianificazione è progettata centralmente, e il "Dispatch Center" si basa sul cluster Quartz e supporta il deployment del cluster, che può garantire l'HA del centro di dispatch.
  • Executor HA (distribuito): I task vengono eseguiti in modo distribuito e l'"executor" del task supporta il deployment del cluster per garantire l'esecuzione HA dei task.
  • Registro: L'Esecutore registrerà automaticamente le attività periodicamente e il Centro di Dispatch scoprirà automaticamente le attività registrate e ne attiverà l'esecuzione. Allo stesso tempo, supporta anche l'inserimento manuale degli indirizzi degli attuatori;
  • Scaling elastico: Una volta che una nuova macchina executor diventa online o offline, il compito verrà riassegnato durante la prossima programmazione.
  • Strategie di Instradamento: Fornisce strategie di routing ricche durante il deployment di un cluster di esecutori, inclusi: primo, ultimo, polling, random, HASH coerente, meno utilizzato, più recentemente inutilizzato, failover, trasferimento impegnativo, ecc.
  • Failover: Se viene selezionato il failover per la policy di routing del task, se una macchina nel cluster di esecutori fallisce, il sistema passa automaticamente a un esecutore normale per inviare una richiesta di programmazione.
  • strategia di gestione dei guasti; Le politiche di gestione per la programmazione dei guasti includono: allarme guasto (predefinito), ritentazione di fallimento;
  • Ritentativo fallito: Quando la programmazione del centro di dispatch fallisce e la policy di Ritentativo fallito è attivata, il sistema ritenta automaticamente una volta. Se l'esecutore non viene eseguito e il callback non ritenta lo stato, verrà anche riprovato automaticamente.
  • Strategia di blocco di elaborazione: la strategia di elaborazione quando la pianificazione è troppo densa per l'esecutore da elaborare, inclusa la serie su una singola macchina (predefinito), l'eliminazione della pianificazione successiva e la sovrascrittura della programmazione precedente;
  • Task di broadcast shard: Quando il cluster di executor viene distribuito, se la policy di routing del task viene selezionata come "Shard Broadcast", una pianificazione del task trasmetterà per far scattare tutti gli executor del cluster a eseguire un task, e il task di sharding può essere sviluppato secondo i parametri dello sharding.
  • Sharding dinamico: Il compito di broadcast shardato è shardato in base alla dimensione dell'executor e supporta l'espansione dinamica del cluster dell'executor per aumentare dinamicamente il numero di shard e collaborare nell'elaborazione aziendale. Quando si svolgono operazioni aziendali su grandi volumi di dati, può migliorare significativamente la capacità e la velocità di elaborazione dei compiti.
  • Triggering degli eventi: Oltre al metodo cron e alla modalità dipendente dal compito per attivare l'esecuzione del task, sono supportati i metodi di triggering basati su eventi. Il centro di dispatch fornisce servizi API che attivano un'unica esecuzione di task, che può essere attivata in modo flessibile in base agli eventi aziendali.
  • Monitoraggio dei progressi del compito: Supporto al monitoraggio in tempo reale dei progressi del compito;
  • Registro in tempo reale a rotazione: supporta la visualizzazione online dei risultati di pianificazione e supporta la visualizzazione dell'output completo del log di esecuzione dell'esecutore in tempo reale in modo continuo.
  • COLLA: Fornisce un WebIDE che supporta lo sviluppo online di codice logico del compito, il rilascio dinamico, la compilazione e l'efficacia in tempo reale, eliminando il processo di distribuzione e lancio. Supporta 30 versioni della versione storica al contrario.
  • Compiti di script: Supportano lo sviluppo e l'esecuzione di script in modalità GLUE, inclusi Shell, Python, NodeJS e altri script.
  • Dipendenze dei compiti: Supporta la configurazione delle dipendenze dei sottotask: quando il task genitore viene eseguito e l'esecuzione ha successo, l'esecuzione del sottotask viene attivata attivamente e più sottotask saranno separati da virgole.
  • Coerenza: Il Scheduling Center garantisce la coerenza della scheduling distribuita del cluster tramite i blocchi del database, e una sola pianificazione del task attiverà un'esecuzione.
  • Parametri personalizzati del task: Supporta la configurazione online dei parametri di pianificazione del task, che entrano in vigore immediato;
  • Pool di thread di scheduling: Il sistema di scheduling attiva l'operazione di scheduling con più thread per garantire che la scheduling venga eseguita correttamente e non bloccata.
  • Crittografia dei dati: La comunicazione tra il centro di dispatch e l'esecutore è criptata per migliorare la sicurezza delle informazioni di dispatch.
  • Allarme email: supporta l'allarme email quando un'attività fallisce e supporta la configurazione di più indirizzi email per inviare email di allarme in massa.
  • Push maven central repository: L'ultima versione stabile sarà inviata al repository maven central per facilitare l'accesso e l'uso degli utenti.
  • Run report: Supporta la visualizzazione in tempo reale dei dati in esecuzione, come il numero di compiti, il numero di programmi, il numero di esecutori, ecc. e report di programmazione, come la tabella di distribuzione delle date di programmazione, la mappa di distribuzione del successo della programmazione, ecc.;
  • Completamente asincrono: Lo strato inferiore del sistema realizza il pieno asincrono, e la riduzione dei picchi di traffico viene effettuata per una pianificazione densa, che teoricamente supporta l'esecuzione di compiti di qualsiasi durata.



I.23 Pila di sale

Un nuovo modo di gestione dell'infrastruttura, facile da implementare, che può funzionare in pochi minuti, buona scalabilità, facile da gestire decine di migliaia di server, abbastanza veloce, comunicazione tra server in pochi secondi.

Lo strato sottostante di sale adotta un bus di connessione dinamico che può essere utilizzato per orchestrazione, esecuzione remota, gestione della configurazione, ecc.

I.24 Istio

Come progetto all'avanguardia per la gestione del livello aggregazione dei servizi microservizi, Istio è il primo progetto open source congiunto di Google, IBM e Lyft (una società estera di ride-sharing e rivale di Uber), offrendo una soluzione unificata, sicurezza, gestione e monitoraggio dei microservizi.

La prima beta è attualmente per gli ambienti Kubernetes, e la community afferma che il supporto per macchine virtuali e altri ambienti come CloudFoundry sarà aggiunto nei prossimi mesi. Istio aggiunge la gestione del traffico ai microservizi e crea una base per funzioni a valore aggiunto come sicurezza, monitoraggio, instradamento, gestione delle connessioni e politiche.

  • bilanciamento automatico del carico per il traffico di rete HTTP, gRPC e TCP;
  • Fornisce regole di routing ricche per ottenere un controllo dettagliato del comportamento del traffico di rete.
  • crittografia del traffico, autenticazione inter-servizi e richieste di identità forte;
  • Applicazione delle politiche a livello di flotta;
  • Telemetria e reportage approfonditi.



Architettura




Sicurezza



Informazioni di base

Salt Stack + OpenStack + KVM + Kubernetes + Istio





Precedente:Condivisione dati IA
Prossimo:Spiegazione dettagliata di C# Tuple VS ValueTuple
Pubblicato su 17/07/2019 13:41:46 |
Grazie per aver condiviso, imparato...
Pubblicato su 27/11/2019 10:56:12 |
La quantità di conoscenza è un po' grande
Disconoscimento:
Tutto il software, i materiali di programmazione o gli articoli pubblicati dalla Code Farmer Network sono destinati esclusivamente all'apprendimento e alla ricerca; I contenuti sopra elencati non devono essere utilizzati per scopi commerciali o illegali, altrimenti gli utenti dovranno sostenere tutte le conseguenze. Le informazioni su questo sito provengono da Internet, e le controversie sul copyright non hanno nulla a che fare con questo sito. Devi eliminare completamente i contenuti sopra elencati dal tuo computer entro 24 ore dal download. Se ti piace il programma, ti preghiamo di supportare software autentico, acquistare la registrazione e ottenere servizi autentici migliori. In caso di violazione, vi preghiamo di contattarci via email.

Mail To:help@itsvse.com