I.1 Java Spring Boot
Este potrivit pentru construirea sistemelor de microservicii
- Folosind pagina Spring Project Bootstrap poți construi un proiect în câteva secunde
- Este convenabil să se exporte diverse tipuri de servicii, cum ar fi REST API, WebSocket, Web, Streaming și Tasks
- Integrare foarte concisă a politicilor de securitate
- Sunt suportate baze de date relaționale și non-relaționale
- Suportă containere încorporate în timpul rularei, cum ar fi Tomcat și Jetty
- Pachet de dezvoltare puternic cu suport pentru hotboot
- Gestionarea automată a dependențelor
- Monitorizarea aplicațiilor încorporate
- Suportă diverse IED-uri, cum ar fi IntelliJ IDEA, NetBeans
Alte limbaje: .net core, Go, etc
I.2 Jenkins
Proceduri automate CI pentru integrare continuă
- Open source și gratuit
- Cross-platform, suport pentru toate platformele (am instalat pe Ubuntu 14.04, folosind Jenkins docker image nu a avut succes)
- Master/Slave suportă construcții distribuite
- O pagină de management vizual sub forma unei rețele web
- Instalarea și configurarea sunt extrem de simple
- Sfaturi Ajutor rapid și la timp
- Sute de pluginuri care există deja
I.3 GitLab
- Un depozit Git de proiecte self-hosted care poate fi accesat printr-o interfață web pentru instalări publice sau private de proiecte.
- Are funcționalități similare cu GitHub, cu posibilitatea de a naviga prin codul sursă, de a gestiona bug-uri și comentarii. Este posibil să gestionezi accesul echipei la depozit, este foarte ușor să răsfoiești versiunile trimise și oferă o bibliotecă de istoric al fișierelor.
- Membrii echipei pot comunica folosind programul simplu de chat integrat (Wall). De asemenea, oferă o funcție de colectare a fragmentelor de cod care permite reutilizarea ușoară a codului și ușor de găsit ulterior când este necesar.
- Dokcer
- Docker este un motor open-source care face ușoară crearea unui container ușor, portabil și autosuficient pentru orice aplicație. Containerele pe care dezvoltatorii le compilează și testează pe notebook-uri pot fi implementate în loturi în medii de producție, inclusiv VM-uri (mașini virtuale), bare metal, clustere OpenStack și alte platforme de aplicații subiacente.
- Docker este folosit frecvent în următoarele scenarii:
- ambalarea și publicarea automatizată a aplicațiilor web;
- testare automată și integrare continuă, eliberare;
- Implementarea și ajustarea bazelor de date sau a altor aplicații de fundal într-un mediu orientat pe servicii;
- Construiește-ți propriul mediu PaaS compiland sau extinzând platforma OpenShift sau Cloud Foundry existentă de la zero.
I.4 Kubernetes
- Kubernetes este un sistem de management al clusterelor de containere și o platformă open-source care poate realiza funcții precum implementarea automată, scalarea automată și întreținerea clusterelor de containere.
- Cu Kubernetes poți:
- Implementează rapid aplicațiile
- Scalează-ți aplicațiile rapid
- Integrează perfect cu noile funcții ale aplicației
- Economisirea resurselor și optimizarea utilizării resurselor hardware
I.5 MQ
Când factori precum viteza sau stabilitatea "producției" și "consumului" sunt inconsistente în sistem, sunt necesare cozi de mesaje ca strat de abstracție pentru a acoperi diferențele dintre cele două părți. Un mesaj este o unitate de date transmisă între două calculatoare. Mesajele pot fi foarte simple, cum ar fi să conțină doar șiruri de text; Poate fi, de asemenea, mai complex și poate conține obiecte încorporate. Mesajele sunt trimise către cozi, care sunt containere ce păstrează mesajele în timpul transmiterii.
- Decuplat
- Redundanță
- Scalabilitate
- Flexibilitate și debit maxim
- Recuperabilitate
- Livrare garantată
- Sortare garantată
- Tamponare
- Înțelege fluxurile de date
- Comunicare asincron
I.6 Bază de date SQL
- O bază de date este un depozit construit pe dispozitive de stocare a calculatoarelor, care organizează, stochează și gestionează datele conform unei structuri de date.
- Pe scurt, poate fi considerat un dulap electronic de fișiere – un loc unde sunt stocate fișiere electronice, iar utilizatorii pot adăuga, intercepta, actualiza, șterge și alte operațiuni asupra datelor din fișier.
- În activitatea zilnică a managementului economic, este adesea necesar să introduci unele date relevante într-un astfel de "depozit" și să le procesezi corespunzător în funcție de nevoile managementului.
MySQL/PostgreSQL reprezintă bazele de date relaționale tradiționale.
HBase este un reprezentant al tehnologiei Big Tables (indexarea rândurilor, stocarea coloanelor).
Neo4j(http://www.neo4j.org/) este un reprezentant al unei baze de date de grafuri folosit pentru a stoca date complexe și multidimensionale despre structura grafurilor.
Redis este un reprezentant NoSQL bazat pe Key-Value, iar există Redis-to-go pentru a oferi servicii de stocare.
MongoDB/CouchDB este un reprezentant NoSQL bazat pe Document, iar Couchbase este o fuziune a tehnologiei Document/Key-Value.
VoltDB este un reprezentant al NewSQL, cu consistență în date și scalabilitate bună, iar afirmația sa de performanță este de zeci de ori mai mare decât MySQL.
TiDB este o bază de date SQL distribuită dezvoltată de echipa internă PingCAP. Inspirat de Google F1 și Google spanner, TiDB suportă funcționalități care includ RDBMS tradițional și NoSQL.
Stiva I.7 TICK
InfluxDB
Unelte de baze de date pentru serii temporale.
Telegraf
este un instrument de colectare și stocare a datelor. Oferă multe pluginuri de intrare și ieșire, cum ar fi colectarea CPU-ului local, încărcare, traficului de rețea etc., pe care apoi le scrie în InfluxDB sau Kafka.
Chronograf
Unelte de desen
Kapacitor
Kapacitor este un instrument de alarmă de la InfluxData, care citește datele din InfluxDB și configurează TickScript conform tipului DLS pentru a alerta.
I.8 Păstrat
Keepalived este un software de servicii în managementul clusterelor care asigură o disponibilitate ridicată a clusterului, similară cu heartbeat, pentru a preveni punctele unice de defectare.
keepalilived se bazează pe protocolul VRRP, care înseamnă Virtual Router Redundancy Protocol, adică protocolul de redundanță de rutare virtuală.
Protocolul de redundanță a rutei virtuale, care poate fi considerat un protocol pentru a asigura o disponibilitate ridicată a routerelor, adică N routere care oferă aceleași funcții formează un grup de routere, acest grup are un master și mai multe backup-uri, iar pe master există un VIP care oferă servicii către lumea exterioară (ruta implicită a altor mașini din LAN unde se află routerul este VIP), masterul va trimite un multicast, iar când backup-ul nu poate primi pachetul VRRP, se consideră că masterul este căzut. În acest moment, trebuie să alegi un backup ca master conform priorității VRRP. Acest lucru va asigura o disponibilitate ridicată a routerului.
Keepalived are trei module principale, și anume Core, Check și VRRP. Modulul de bază este nucleul keepalived, care este responsabil pentru pornirea și menținerea procesului principal, precum și pentru încărcarea și analizarea fișierelor globale de configurare. Check este responsabil pentru verificările de sănătate, inclusiv diverse metode comune de examinare. Modulul VRRP este proiectat pentru a implementa protocolul VRRP
I.9 Harbor
Harbor este un server de registru de nivel enterprise pentru stocarea și distribuirea imaginilor Docker.
I.10 Ignite / Redis
Apache Ignite In-Memory Data Organization Framework este o platformă de calcul în memorie și tranzacțională integrată și distribuită de înaltă performanță pentru procesarea la scară largă a sedentelor de date, cu performanțe superioare față de tehnologiile tradiționale bazate pe disc sau flash, oferind totodată o gestionare distribuită a datelor în memorie de înaltă performanță între aplicații și diferite surse de date.
| Număr de serie | Compară proiectele | Apache Ignite | Redis | | 1 | JCache (JSR 107) | Ignite este complet compatibil cu specificația de cache JCache (JSR107) | Nesuportat | | 2 | Tranzacții ACID | Ignite suportă pe deplin tranzacțiile ACID, inclusiv modele de concurență optimiste și pesimiste, precum și niveluri de izolare READ_COMMITTED, REPEATABLE_READ și SERIALIZABLE. | Redis oferă suport limitat pentru tranzacțiile optimiste pe partea clientului, care necesită ca clientul să încerce manual tranzacția în cazul actualizărilor simultane. | | 3 | Partiționarea datelor | Ignite suportă caching partiționat, similar cu un hash distribuit, unde fiecare nod din cluster stochează o parte din date, iar Ignite reechilibrează automat datele în cazul unei schimbări de topologie. | Redis nu oferă partiționare, dar oferă fragmentarea replicilor, ceea ce este foarte rigid de utilizat și necesită o serie de pași manuali destul de complecși ori de câte ori topologia se schimbă, atât client, cât și server. | | 4 | Copie completă | Ignite suportă replicarea în cache, susținută de fiecare pereche cheie-valoare pentru fiecare nod din cluster. | Redis nu oferă suport direct pentru replicare completă. | | 5 | Obiect nativ | Ignite permite utilizatorilor să folosească propriul model de obiecte de domeniu și oferă suport nativ pentru orice tip de date Java/Scala, C++ și .NET/C# (obiect), permițând utilizatorilor să stocheze cu ușurință orice program și obiect de domeniu în cache-ul Ignite. | Redis nu permite utilizatorilor să folosească tipuri de date personalizate, suportând doar colecții predefinite de structuri de date de bază, cum ar fi Set, List, Array și câteva altele. | | 6 | Cache pe partea clientului (aproape) | Ignite oferă suport direct pentru caching-ul pe partea de client al datelor accesate recent. | Nesuportat | | 7 | (Partea serverului) Juxtapunere | Ignite suportă execuția directă a oricărui cod Java, C++ și .NET/C# într-un mod colateral, aproape de datele de pe partea serverului. | Redis de obicei nu are capabilități de colocare, iar partea de server suportă practic doar limbaj de scripting LUA, iar partea de server nu suportă direct execuția codului Java, .NET sau C++. | | 8 | Interogări SQL | Ignite suportă sintaxa SQL completă (ANSI-99) pentru interogarea datelor din memorie. | Redis nu suportă niciun limbaj de interogare, ci doar API-ul de caching pe partea clientului. | | 9 | Cercetare continuă | Ignite oferă suport atât pentru interogări persistente pe partea clientului, cât și pentru server, iar utilizatorii pot seta filtre pe partea serverului pentru a reduce și diminua numărul de evenimente transmise către client. | Redis oferă suport pentru notificări de evenimente bazate pe chei pe partea clientului, dar nu oferă filtre pe partea serverului, ceea ce duce la o creștere semnificativă a traficului de rețea pentru actualizarea notificărilor atât pe partea clientului, cât și pe cea a serverului. | | 10 | Integrarea bazei de date | Ignite poate integra automat baze de date externe - RDBMS, NoSQL și HDFS. | Redis nu poate fi integrat cu baze de date externe. |
I.11 ELK
ELK este format din trei componente: Elasticsearch, Logstash și Kibana;
Elasticsearch este un motor de căutare distribuit open-source care include distribuită cu configurație zero, auto-descoperire, auto-sharding, auto-sharding index, mecanism de replică a indexului, interfață de tip restful, multiple surse de date și util auto-search.
Logstash este un instrument complet open-source care colectează, analizează și stochează jurnalele tale pentru utilizare ulterioară
Kibana este un instrument open-source și gratuit care oferă Logstash și ElasticSearch o interfață web prietenoasă cu analiza jurnalelor, care te poate ajuta să agregezi, să analizezi și să cauți jurnale importante de date.
I.12 Kong(Nginx)
Kong este un proiect API foarte disponibil, ușor de extins, scris pe module Nginx_Lua și este open source de la Mashape. Deoarece Kong se bazează pe Nginx, poate scala orizontal mai multe servere Kong și poate distribui cererile uniform fiecărui server printr-o configurație de încărcare frontală pentru a face față unui număr mare de cereri în rețea.
Kong are trei componente principale:
KongServer: Un server bazat pe nginx care primește cereri API.
ApacheCassandra/PostgreSQL: Folosit pentru stocarea datelor operaționale.
Kongdashboard: Instrument oficial recomandat pentru gestionarea interfeței, desigur, poți folosi și restfull pentru a gestiona adminapi-ul.
Kong folosește un mecanism de pluginuri pentru personalizarea funcțională, unde un set de pluginuri (care pot fi 0 sau n) este executat pe parcursul ciclului de viață al buclei de răspuns la cereri API. Pluginul este scris în Lua și are în prezent mai multe funcții de bază: autentificare de bază HTTP, autentificare a cheilor, CORS (Cross-originResourceSharing), TCP, UDP, înregistrarea fișierelor, limitarea cererilor API, redirecționarea cererilor și monitorizarea nginx.
I.13 Openstack
OpenStack+KVM
OpenStack: Proiect de management open source
OpenStack este un proiect open source care își propune să ofere software pentru construirea și gestionarea cloud-urilor publice și private. Nu este un software, ci o combinație a mai multor componente principale pentru a face o muncă specifică. OpenStack este alcătuit din următoarele cinci componente relativ independente:
OpenStackCompute (Nova) este un set de controlere folosite pentru calculul mașinilor virtuale sau pentru lansarea instanțelor mașinilor virtuale folosind grupuri;
OpenStack Image Service (Glance) este un sistem de căutare și recuperare a imaginilor mașinilor virtuale care realizează gestionarea imaginilor mașinilor virtuale.
OpenStack Object Storage (Swift) este un sistem de stocare bazat pe obiecte pentru sisteme la scară largă, cu redundanță și toleranță la erori integrate, similar cu Amazon S3.
OpenStackKeystone pentru servicii de identitate de utilizator și gestionarea resurselor, precum și
OpenStackHorizon, o interfață de tablou de bord bazată pe Django, este o interfață de management grafic.
Dezvoltat inițial de NASA și Rackspace la sfârșitul anului 2010, acest proiect open-source își propune să creeze o platformă cloud computing ușor de implementat, bogată în funcții și scalabilă. Prima sarcină a proiectului OpenStack este de a simplifica procesul de implementare al cloud-ului și de a-i aduce o scalabilitate bună, încercând să devină sistemul de operare al centrului de date, adică al sistemului de operare cloud.
KVM: Tehnologie de virtualizare deschisă
KVM (Kernel-based VirtualMachine) este un modul open-source de virtualizare a sistemului care necesită suport hardware, cum ar fi tehnologia IntelVT sau tehnologia AMDV, care este complet virtualizat pe baza hardware-ului și este complet integrat în Linux.
În 2008, Red Hat a achiziționat Qumranet pentru a achiziționa tehnologia KVM și a o promova ca parte a strategiei sale de virtualizare, susținând KVM ca singurul hipervizor la lansarea RHEL 6 în 2011. KVM se concentrează pe performanță ridicată, scalabilitate, securitate ridicată și costuri reduse.
I.14 Disconf
Concentrându-ne pe diverse "componente comune" și "platforme comune" de "management distribuit al configurației sistemelor", oferim servicii unificate de "management al configurației".
I.15 Apollo
Apollo este o platformă de management al configurației dezvoltată de departamentul de cadre al Ctrip, care poate gestiona centralizat configurația diferitelor medii și clustere de aplicații și poate fi transferată în timp real către partea aplicației după modificarea configurației, având permisiuni standardizate, guvernanță a proceselor și alte caracteristici.
Serverul este dezvoltat pe baza SpringBoot și SpringCloud și poate fi rulat imediat după ambalare fără a instala containere suplimentare de aplicații, cum ar fi Tomcat.
I.16 gRPC
gRPC este un cadru RPC de înaltă performanță, open-source și versatil pentru designuri mobile și HTTP/2. În prezent, sunt disponibile versiuni în limbajul C, Java și Go, și anume: grpc, grpc-java și grpc-go. Versiunea C suportă C, C++, Node.js, Python, Ruby, Objective-C, PHP și C#.
gRPC este proiectat pe baza standardului HTTP/2, aducând caracteristici precum fluxul bidirecțional, controlul fluxului, compresia capului și cererile de multiplexare pe o singură conexiune TCP. Aceste caracteristici îl fac să performeze mai bine pe dispozitive mobile, economisind energie și spațiu.
Canalul I.17
canal este un proiect open source sub Alibaba, dedicat exclusiv dezvoltării Java. Bazat pe analiza incrementală a jurnalelor bazei de date, oferă abonament și consum incremental de date și în prezent suportă în principal MySQL (de asemenea, suportă mariaDB).
Servicii bazate pe abonament incremental log și suport pentru consum:
- Oglindirea bazei de date
- Backup în timp real al bazei de date
- Indexare multi-nivel (vânzători și cumpărători indici separați)
- searchbuild
- Reîmprospătarea cache-ului de serviciu
- Știri importante de afaceri, cum ar fi modificările de preț
I.18 Sparkstreaming
SparkStreaming este o extensie a API-ului de bază Spark care permite procesarea cu debit ridicat și tolerantă la erori a datelor de streaming în timp real. Suport pentru achiziția de date dintr-o varietate de surse de date, inclusiv Kafk, Flume, Twitter, ZeroMQ, Kineses și TCPsockets, iar după preluarea datelor din sursele de date, algoritmi complexi pot fi procesați folosind funcții avansate precum map, reduce, join și window.
I.19 SonarQube
Sonar este o platformă open-source pentru managementul calității codului, menită să gestioneze calitatea codului sursă și să detecteze calitatea codului din șapte dimensiuni
Prin intermediul plug-in-urilor, poate suporta gestionarea calității codului și detectarea în peste 20 de limbaje de programare, inclusiv java, C#, C/C++, PL/SQL, Cobol, JavaScrip, Groovy etc
I.20 DataX
DataX este un instrument de sincronizare offline pentru surse de date eterogene, dedicat realizării unei sincronizări stabile și eficiente între diverse surse de date eterogene, inclusiv baze de date relaționale (MySQL, Oracle etc.), HDFS, Hive, ODPS, HBase, FTP și altele.
I.21 Zen Management/Jira
Funcția Zen 1) Managementul produsului: produse, cerințe, planuri, lansări, foi de parcurs și alte funcții. 2) Managementul proiectelor: proiecte, sarcini, echipe, construcții, grafice de burndown și alte funcții. 3) Managementul calității: erori, cazuri de testare, sarcini de testare, rezultate de teste și alte funcții. 4) Managementul documentelor: bibliotecă de documente de produs, bibliotecă de documente de proiect, bibliotecă de documente personalizate și alte funcții. 5) Managementul tranzacțiilor: gestionarea sarcinilor, funcții de management al afacerilor personale precum Sarcinile mele, Bug-urile mele, Nevoile mele și Proiectele mele. 6) Organizare și management: departamente, utilizatori, grupuri, permisiuni și alte funcții. 7) Funcție statistică: tabel statistic bogat. 8) Funcția de căutare: Găsește datele corespunzătoare prin căutare.
Caracteristici JIRA 1) Urmărirea și gestionarea problemelor (tipurile de probleme includ NewFeature, Bug, Task și Improvement); 2) Raportul de analiză al urmăririi problemei; 3) Funcția de management al categoriilor de proiect; 4) funcția liderului componentelor/modulului; 5) Funcția de adresă de email a proiectului; 6) Fluxuri de lucru nelimitate.
I.22 XXJOB
XXL-JOB este un cadru ușor distribuit de programare a sarcinilor, cu obiective de bază de dezvoltare rapidă, învățare simplă, ușurință și ușor de scalat.
- Simplu: Susține operarea CRUD pe sarcini prin pagini web, funcționare simplă, un minut pentru început;
- Dinamic: Suportă modificarea dinamică a statusului sarcinilor, pauză/reluarea sarcinilor și terminarea sarcinilor în rulare, care intră în vigoare imediat.
- Centrul de Dispecerat, HA (centralizat): Programarea este proiectată centralizat, iar "Centrul de Dispecerat" se bazează pe clusterul Quartz și susține implementarea clusterului, care poate asigura HA al centrului de dispecer.
- Executor HA (distribuit): Sarcinile sunt executate într-un mod distribuit, iar "executorul" de sarcini susține implementarea în cluster pentru a asigura execuția HA a sarcinilor.
- Registru: Executorul va înregistra automat sarcinile periodic, iar Centrul de Dispecerat va descoperi automat sarcinile înregistrate și le va declanșa executarea. În același timp, suportă și introducerea manuală a adreselor actuatorului;
- Scalare elastică: Odată ce o nouă mașină executor devine online sau offline, sarcina va fi reatribuită în următoarea programare.
- Strategii de rutare: Oferă strategii bogate de rutare la implementarea unui cluster executor, inclusiv: primul, ultimul, interogarea, random, HASH consistent, cel mai puțin folosit, cel mai recent neutilizat, failover, transfer ocupat etc.
- Failover: Dacă Failover-ul este selectat pentru politica de rutare a sarcinii, dacă o mașină din clusterul executorului eșuează, sistemul trece automat la un executor normal pentru a trimite o cerere de programare.
- strategia de gestionare a eșecurilor; Politicile de gestionare a programării eșecurilor includ: alarmă de eșec (implicit), reîncercare a eșecului;
- Reîncercare eșuată: Când programarea centrului de dispeceratare eșuează și politica de Reîncercare eșuată este activată, sistemul încearcă automat o dată. Dacă executorul nu execută și callback-ul nu reîncearcă starea, va fi de asemenea reîncercat automat.
- Strategia de blocare a procesării: strategia de procesare atunci când programarea este prea densă pentru ca executorul să o proceseze, inclusiv serial pe o singură mașină (implicit), eliminarea programării ulterioare și suprascrierea programării anterioare;
- Sarcina de difuzare a fragmentului: Când clusterul executorului este implementat, dacă politica de rutare a sarcinii este selectată ca "Shard Broadcast", o programare a sarcinii va transmite pentru a declanșa toți executorii din cluster să execute o sarcină, iar sarcina de sharding poate fi dezvoltată conform parametrilor de sharding.
- Fragmentare dinamică: Sarcina de broadcast fragmentată este fragmentată în funcție de dimensiunea executorului și susține extinderea dinamică a clusterului executorului pentru a crește dinamic numărul de fragmente și a colabora la procesarea afacerii. Atunci când se efectuează operațiuni de afaceri cu volum mare de date, aceasta poate îmbunătăți semnificativ capacitatea și viteza de procesare a sarcinilor.
- Declanșarea evenimentelor: Pe lângă metoda cron și modul dependent de sarcină pentru declanșarea execuției sarcinii, sunt suportate metodele de declanșare bazate pe evenimente. Centrul de dispecerat oferă servicii API care declanșează o singură execuție de sarcini, ce poate fi declanșată flexibil în funcție de evenimentele de business.
- Monitorizarea progresului sarcinii: Susținerea monitorizării în timp real a progresului sarcinii;
- Jurnal în timp real rulant: suportă vizualizarea rezultatelor programării online și permite vizualizarea completă a jurnalului de execuție al executorului în timp real, într-un mod rulant.
- LIPICI: Oferă un WebIDE care susține dezvoltarea online a codului logicii de sarcini, eliberarea dinamică, compilarea în timp real și eficiența și elimină procesul de implementare și lansare. Suportă 30 de versiuni ale versiunii istorice invers.
- Sarcini de script: Suport dezvoltarea și rularea sarcinilor de script în modul GLUE, inclusiv Shell, Python, NodeJS și alte scripturi.
- Dependențe de sarcină: Suportă configurarea dependențelor subsarcinilor, când sarcina părinte este executată și execuția este reușită, execuția subsarcinii va fi activ declanșată, iar mai multe subsarcini vor fi separate prin virgule.
- Consistență: Centrul de Programare asigură consistența programării distribuite a clusterului prin blocaje de baze de date, iar o singură programare de sarcini va declanșa o execuție.
- Parametri personalizați ai sarcinii: Suportă configurarea online a parametrilor de programare a sarcinilor, care intră în vigoare imediat;
- Pool de fire de programare: Sistemul de programare declanșează operațiuni de programare cu mai multe fire pentru a se asigura că programarea este executată corect și nu este blocată.
- Criptarea datelor: Comunicarea dintre centrul de dispecerat și executor este criptată pentru a îmbunătăți securitatea informațiilor de dispecerat.
- Alarmă de email: Susține alarma de email când o sarcină eșuează și suportă configurarea mai multor adrese de email pentru a trimite emailuri de alarmă în masă.
- Push maven central repository: Cea mai recentă versiune stabilă va fi trimisă în maven central repository pentru a facilita accesul și utilizarea utilizatorilor.
- Raport de rulare: Suportă vizualizarea în timp real a datelor în rulare, cum ar fi numărul de sarcini, numărul de programe, numărul de executori etc. și rapoarte de programare, cum ar fi graficul distribuției datei programării, harta distribuției succesului programării etc.;
- Complet asincron: Stratul inferior al sistemului realizează complet asincron, iar reducerea picurilor de trafic se realizează pentru programări dense, care teoretic susțin funcționarea sarcinilor de orice durată.
I.23 Grămada de sare
O nouă modalitate de gestionare a infrastructurii, ușor de implementat, poate funcționa în câteva minute, scalabilitate bună, ușor de gestionat zeci de mii de servere, suficient de rapidă, comunicare între servere în câteva secunde.
Stratul de sare de bază adoptă un bus de conexiune dinamic care poate fi folosit pentru orchestrare, execuție la distanță, managementul configurației etc.
I.24 Istio
Ca proiect de ultimă generație pentru managementul stratului de agregare a serviciilor microservicii, Istio este primul proiect open source comun al Google, IBM și Lyft (o companie de ride-sharing din străinătate și rivalul Uber), oferind o soluție unificată, securitate, management și monitorizare a microserviciilor.
Prima versiune beta este în prezent pentru mediile Kubernetes, iar comunitatea susține că suportul pentru mașini virtuale și alte medii precum CloudFoundry va fi adăugat în lunile următoare. Istio adaugă managementul traficului microserviciilor și creează o bază pentru funcții cu valoare adăugată, precum securitatea, monitorizarea, rutarea, managementul conexiunii și politicile.
- echilibrarea automată a încărcării pentru traficul de rețea HTTP, gRPC și TCP;
- Oferă reguli bogate de rutare pentru a obține un control detaliat al comportamentului traficului de rețea.
- criptarea traficului, autentificarea între servicii și revendicările puternice de identitate;
- Aplicarea politicilor la nivelul întregii flote;
- Telemetrie și raportare profundă.
Arhitectură
Siguranță
Cunoștințe de bază
Salt Stack + OpenStack + KVM + Kubernetes + Istio
|