I.1 Java Spring Boot
Se soveltuu mikropalvelujärjestelmien rakentamiseen
- Spring Project Bootstrap -sivun avulla voi rakentaa projektin sekunneissa
- On kätevää viedä erilaisia palveluita, kuten REST API, WebSocket, Web, Streaming ja Tasks
- Erittäin tiivis tietoturvapolitiikan integraatio
- Relaatio- ja ei-relaatiotietokannat ovat tuettuja
- Tue upotettuja kontteja ajonaikana, kuten Tomcat ja Jetty
- Tehokas kehityspaketti, joka tukee hot bootia
- Hallinnoi riippuvuuksia automaattisesti
- Sisäänrakennettu sovellusvalvonta
- Tukee erilaisia IED-laitteita, kuten IntelliJ IDEAa, NetBeansia
Muut kielet: .net core, Go jne
I.2 Jenkins
Automaattiset CI-menettelyt jatkuvaan integrointiin
- Avoin lähdekoodi ja vapaa
- Monialustainen, tukee kaikkia alustoja (asensin Ubuntu 14.04:ään, Jenkins Docker Image ei onnistunut)
- Master/slave tukee hajautettuja rakennelmia
- Visuaalinen hallintasivu webin muodossa
- Asennus ja konfigurointi ovat todella helppoja
- Vinkkejä A-aikaista ja nopeaa apua
- Satoja lisäosia, jotka ovat jo olemassa
I.3 GitLab
- Itseisännöity Git-projektivarasto, johon pääsee käsiksi verkkokäyttöliittymän kautta julkisia tai yksityisiä projekteja varten.
- Siinä on samankaltainen toiminnallisuus kuin GitHubissa, eli lähdekoodissa navigointi, bugien hallinta ja kommentit. On mahdollista hallita tiimien pääsyä repositorioon, lähetettyjä versioita on helppo selata ja se tarjoaa tiedostohistoriakirjaston.
- Tiimin jäsenet voivat kommunikoida sisäänrakennetun yksinkertaisen chat-ohjelman (Wall) avulla. Se tarjoaa myös koodinpätkien keräysominaisuuden, joka mahdollistaa koodin uudelleenkäytön ja sen löytämisen myöhemmin tarvittaessa.
- Dokcer
- Docker on avoimen lähdekoodin moottori, joka tekee kevyen, kannettavan ja omavaraisen kontin luomisesta helppoa mihin tahansa sovellukseen. Laatikot, joita kehittäjät kääntävät ja testaavat kannettavissa, voidaan ottaa käyttöön erissä tuotantoympäristöissä, mukaan lukien virtuaalikoneet (virtuaalikoneet), paljaat metallit, OpenStack-klusterit ja muut taustalla olevat sovellusalustat.
- Dockeria käytetään yleisesti seuraavissa tilanteissa:
- verkkosovellusten automatisoitu pakkaaminen ja julkaiseminen;
- automaattinen testaus ja jatkuva integrointi, julkaisu;
- Ottaa käyttöön ja virittää tietokantoja tai muita taustasovelluksia palvelukeskeisessä ympäristössä;
- Rakenna oma PaaS-ympäristösi kääntämällä tai laajentamalla olemassa olevaa OpenShift- tai Cloud Foundry -alustaasi alusta alkaen.
I.4 Kubernetes
- Kubernetes on konttiklustereiden hallintajärjestelmä ja avoimen lähdekoodin alusta, joka pystyy toteuttamaan toimintoja kuten automaattisen käyttöönoton, automaattisen skaalauksen ja konttiklustereiden ylläpidon.
- Kubernetesin avulla voit:
- Ota sovellukset käyttöön nopeasti
- Skaalaa sovelluksesi nopeasti
- Integroitu saumattomasti uusiin sovellustoimintoihin
- Säästä resursseja ja optimoi laitteistoresurssien käyttö
I.5 MQ
Kun esimerkiksi "tuotannon" ja "kulutuksen" nopeus tai vakaus ovat järjestelmässä ristiriitaisia, viestijonoja tarvitaan abstraktiokerrokseksi yhdistämään eroja osapuolten välillä. Viesti on tietoyksikkö, joka välitetään kahden tietokoneen välillä. Viestit voivat olla hyvin yksinkertaisia, esimerkiksi sisältäen vain tekstijonoja; Se voi myös olla monimutkaisempi ja sisältää upotettuja objekteja. Viestit lähetetään jonoihin, jotka ovat kontteja, jotka sisältävät viestejä lähetyksen aikana.
- Irrotettu
- Redundanssi
- Skaalautuvuus
- Joustavuus ja huippuläpäisy
- Palautettavuus
- Toimitus taattu
- Lajittelu taattu
- Puskurointi
- Ymmärrä datavirrat
- Asynkroninen viestintä
I.6 SQL DB
- Tietokanta on tietokoneiden tallennuslaitteille rakennettu varasto, joka järjestää, tallentaa ja hallinnoi dataa tietorakenteen mukaisesti.
- Yksinkertaisesti sanottuna sitä voidaan pitää sähköisenä arkistokaappina – paikkana, jossa sähköiset tiedostot säilytetään ja käyttäjät voivat lisätä, siepattaa, päivittää, poistaa ja tehdä muita toimintoja tiedoston datalle.
- Talouden johtamisen päivittäisessä työssä on usein tarpeen siirtää asiaankuuluvaa tietoa tällaiseen "varastoon" ja käsitellä sitä johdon tarpeiden mukaisesti.
MySQL/PostgreSQL edustaa perinteisiä relaatiotietokantoja.
HBase edustaa Big Tables -teknologiaa (riviindeksointi, sarakkeiden tallennus).
Neo4j(http://www.neo4j.org/) on graafitietokannan edustaja, jota käytetään monimutkaisen ja moniulotteisen graafirakennedatan tallentamiseen.
Redis on NoSQL-edustaja, joka perustuu Key-Valueen, ja Redis-to-go tarjoaa tallennuspalveluita.
MongoDB/CouchDB on NoSQL-edustaja, joka perustuu Documentiin, ja Couchbase on Document/Key-Value -teknologian yhdistelmä.
VoltDB edustaa NewSQL:ää, jolla on datan johdonmukaisuus ja hyvä skaalautuvuus, ja sen suorituskyky on kymmeniä kertoja MySQL:ään verrattuna.
TiDB on hajautettu SQL-tietokanta, jonka on kehittänyt kotimainen PingCAP-tiimi. Googlen F1- ja Google-avaimen innoittama TiDB tukee ominaisuuksia, kuten perinteisiä RDBMS:ää ja NoSQL:ää.
I.7 TICK-pino
InfluxDB
Aikasarjatietokantatyökalut.
Telegraf
on tiedonkeruu- ja tallennustyökalu. Se tarjoaa monia syöttö- ja tulostuslisäosia, kuten paikallisen suorittimen, kuorman, verkkoliikenteen jne. keräämisen, ja niiden kirjoittamisen InfluxDB:hen tai Kafkaan.
Chronograf
Piirustustyökalut
Kapacitor
Kapacitor on InfluxDatan hälytystyökalu, joka lukee tietoja InfluxDB:stä ja konfiguroi TickScriptin DLS-tyypin mukaan hälytykseen.
I.8 Keepalived
Keepalived on palveluohjelmisto klusterinhallinnassa, joka varmistaa korkean klusterin saatavuuden, kuten Heartbeat, estääkseen yksittäiset vikaantumispisteet.
keepalilived perustuu VRRP-protokollaan, joka tarkoittaa Virtual Router Redundancy Protocolia, eli virtuaalisen reitityksen redundanssiprotokollaa.
Virtuaalisen reitin redundanssiprotokolla, jota voidaan pitää protokollana reitittimien korkean saatavuuden saavuttamiseksi, eli N reititintä, jotka tarjoavat samat toiminnot reititinryhmässä, tällä ryhmällä on master ja useita varmuuskopioita, ja masterilla on VIP, joka tarjoaa palveluita ulkomaailmalle (muiden LAN-koneiden oletusreitti, jossa reititin sijaitsee, on VIP), master lähettää multicastin, ja kun varmuuskopio ei saa VRRP-pakettia, katsotaan masterin olevan poissa käytöstä. Tässä vaiheessa sinun täytyy valita varapelaaja masteriksi VRRP:n prioriteetin mukaan. Tämä varmistaa reitittimen korkean saatavuuden.
Keepaliveedilla on kolme päämoduulia: Core, Check ja VRRP. Ydinmoduuli on keepalivedin ydin, joka vastaa pääprosessin käynnistämisestä ja ylläpidosta sekä globaalien konfiguraatiotiedostojen lataamisesta ja jäsentämisestä. CHECK vastaa terveystarkastuksista, mukaan lukien erilaiset yleiset tutkimusmenetelmät. VRRP-moduuli on suunniteltu toteuttamaan VRRP-protokolla
I.9 Satama
Harbor on yritystason rekisteripalvelin Docker-kuvien tallentamiseen ja jakeluun.
I.10 Ignite / Redis
Apache Ignite In-Memory Data Organization Framework on suorituskykyinen, integroitu ja hajautettu tallennus- ja transaktionaalinen alusta laajamittaiseen tietoaineiston käsittelyyn, joka tarjoaa korkeamman suorituskyvyn kuin perinteiset levy- tai flash-teknologiat, tarjoten samalla korkean suorituskyvyn, hajautetun muistin sisäisen datanhallinnan sovellusten ja eri tietolähteiden välillä.
| Sarjanumero | Vertaa projekteja | Apache Ignite | Redis | | 1 | JCCache (JSR 107) | Ignite on täysin yhteensopiva JCache (JSR107) -välimuistimäärittelyn kanssa | Ei tuettu | | 2 | ACID-tapahtumat | Ignite tukee täysin ACID-transaktioita, mukaan lukien optimistiset ja pessimistiset rinnakkaismallit sekä READ_COMMITTED, REPEATABLE_READ ja SERIALISOITAVAT eristystasot. | Redis tarjoaa rajallisen tuen asiakaspuolen optimistisille transaktioille, jotka vaativat asiakasta manuaalisesti uudelleenyrittämään transaktiota samanaikaisten päivitysten yhteydessä. | | 3 | Datan osiointi | Ignite tukee osioitua välimuistia, joka muistuttaa hajautettua hajautusarvoa, jossa jokainen klusterin solmu tallentaa osan datasta, ja Ignite tasapainottaa datan automaattisesti topologian muutoksen sattuessa. | Redis ei tarjoa osiointia, mutta tarjoaa replikoiden shardingin, joka on hyvin jäykkää käyttää ja vaatii joukon melko monimutkaisia manuaalisia vaiheita aina, kun topologia muuttuu, sekä asiakkaalla että palvelimella. | | 4 | Koko teksti | Ignite tukee välimuistitettua replikaatiota, jota tukevat kaikki avain-arvoparit jokaiselle klusterin solmulle. | Redis ei tarjoa suoraa tukea täydelliselle replikaatiolle. | | 5 | Natiiviobjekti | Ignite mahdollistaa käyttäjien käyttää omaa toimialueobjektimalliaan ja tarjoaa natiivituen kaikille Java/Scala-, C++- ja .NET/C#-tietotyypeille (olioille), jolloin käyttäjät voivat helposti tallentaa minkä tahansa ohjelman ja domain-objektin Ignite-välimuistiin. | Redis ei salli käyttäjien käyttää omia tietotyyppejä, vaan tukee vain ennalta määriteltyjä perusrakenteiden kokoelmia, kuten Set, List, Array ja muutamia muita. | | 6 | Asiakaspuolen (lähellä) välimuisti | Ignite tarjoaa suoraa tukea asiakaspuolen äskettäin käytetyn datan välimuistiin. | Ei tuettu | | 7 | (palvelinpuoli) vastakkainasettelu | Ignite tukee minkä tahansa Java-, C++- ja .NET/C#-koodin suoraa suorittamista lähellä palvelinpuolen dataa. | Redisissä ei yleensä ole mitään collokaatio-ominaisuuksia, ja palvelinpuoli tukee käytännössä vain LUA-skriptikieltä, eikä palvelinpuoli tue suoraan Java-, .NET- tai C++-koodin suoritusta. | | 8 | SQL-kyselyt | Ignite tukee täyttä SQL (ANSI-99) -syntaksia muistitietojen kyselyyn. | Redis ei tue mitään kyselykieltä, ainoastaan asiakaspuolen välimuisti-API:ta. | | 9 | Jatkuva tutkinta | Ignite tukee sekä asiakas- että palvelinpuolen pysyviä kyselyjä, ja käyttäjät voivat asettaa palvelinpuolen suodattimia vähentääkseen ja vähentääkseen asiakkaalle lähetettävien tapahtumien määrää. | Redis tukee asiakaspuolen avainpohjaisia tapahtumailmoituksia, mutta ei tarjoa palvelinpuolen suodattimia, mikä johtaa merkittävään verkkoliikenteen kasvuun päivitysilmoituksissa sekä asiakas- että palvelinpuolella. | | 10 | Tietokantaintegraatio | Ignite voi automaattisesti integroida ulkoisia tietokantoja – RDBMS, NoSQL ja HDFS. | Redisiä ei voi integroida ulkoisiin tietokantoihin. |
I.11 ELK
ELK koostuu kolmesta osasta: Elasticsearch, Logstash ja Kibana;
Elasticsearch on avoimen lähdekoodin hajautettu hakukone, jossa on hajautettu, nollakonfiguraatio, automaattinen haku, indeksin automaattinen sharding, indeksireplikamekanismi, levollinen käyttöliittymä, useita tietolähteitä ja automaattinen hakukuorma.
Logstash on täysin avoimen lähdekoodin työkalu, joka kerää, analysoi ja tallentaa lokisi myöhempää käyttöä varten
Kibana on avoimen lähdekoodin ja ilmainen työkalu, joka tarjoaa Logstashille ja ElasticSearchille lokianalytiikkaystävällisen verkkokäyttöliittymän, joka auttaa sinua kokoamaan, analysoimaan ja hakemaan tärkeitä tietolokeja.
I.12 Kong (Nginx)
Kong on erittäin saatavilla oleva ja helposti laajennettava API-projekti, joka on kirjoitettu Nginx_Lua moduuleille ja on avoimen lähdekoodin Mashapen toimesta. Koska Kong perustuu Nginxiin, se voi skaalata useita Kong-palvelimia vaakasuunnassa ja jakaa pyynnöt tasaisesti jokaiselle palvelimelle etukuorma-asetelman kautta, jotta se vastaa suureen määrään verkkopyyntöjä.
Kongissa on kolme pääkomponenttia:
KongServer: nginx-pohjainen palvelin, joka vastaanottaa API-pyyntöjä.
ApacheCassandra/PostgreSQL: Käytetään operatiivisen datan tallentamiseen.
Kongdashboard: Virallisesti suositeltu käyttöliittymän hallintatyökalu, tietenkin voit myös käyttää restfullia ylläpitäjän hallintaan.
Kong käyttää plugin-mekanismia toiminnalliseen räätälöintiin, jossa joukko lisäosia (jotka voivat olla 0 tai n) suoritetaan API-pyyntöjen vastaussilmukan elinkaaren aikana. Lisäosa on kirjoitettu Lua-kielellä ja sillä on tällä hetkellä useita perustoimintoja: HTTP-perustunnistus, avainten tunnistautuminen, CORS (Cross-originResourceSharing), TCP, UDP, tiedostolokitus, API-pyyntöjen rajoittaminen, pyyntöjen välitys ja nginx-valvonta.
I.13 Openstack
OpenStack+KVM
OpenStack: Avoimen lähdekoodin hallintaprojekti
OpenStack on avoimen lähdekoodin projekti, jonka tavoitteena on tarjota ohjelmistoja julkisten ja yksityisten pilvien rakentamiseen ja hallintaan. Se ei ole ohjelmisto, vaan useiden pääkomponenttien yhdistelmä jonkin tietyn työn tekemiseen. OpenStack koostuu seuraavista viidestä suhteellisen itsenäisestä komponentista:
OpenStackCompute (Nova) on joukko ohjaimia, joita käytetään virtuaalikoneiden laskemiseen tai virtuaalikoneiden instanssien käynnistämiseen ryhmien avulla;
OpenStack Image Service (Glance) on virtuaalikoneen kuvahaku- ja hakujärjestelmä, joka toteuttaa virtuaalikoneen kuvanhallinnan.
OpenStack Object Storage (Swift) on oliopohjainen tallennusjärjestelmä suurille järjestelmille, joissa on sisäänrakennettu redundanssi ja vikasietoisuus, samankaltainen kuin Amazon S3.
OpenStackKeystone käyttäjäidentiteettipalveluihin ja resurssien hallintaan sekä
OpenStackHorizon, Django-pohjainen dashboard-käyttöliittymä, on graafisen hallinnan käyttöliittymä.
Alun perin NASA:n ja Rackspacen kehittämä avoimen lähdekoodin projekti pyrkii luomaan helposti käyttöönotettavan, ominaisuuksiltaan rikkaan ja skaalautuvan pilvilaskentaalustan. OpenStack-projektin ensimmäinen tehtävä on yksinkertaistaa pilven käyttöönottoa ja tuoda siihen hyvä skaalautuvuus, pyrkien tulemaan datakeskuksen eli pilvikäyttöjärjestelmän käyttöjärjestelmäksi.
KVM: Avoin virtualisointiteknologia
KVM (Kernel-based VirtualMachine) on avoimen lähdekoodin järjestelmävirtualisointimoduuli, joka vaatii laitteistotukea, kuten IntelVT- tai AMDV-teknologiaa, jotka virtualisoidaan täysin laitteistopohjaisesti ja on täysin sisäänrakennettu Linuxiin.
Vuonna 2008 Red Hat osti Qumranetin hankkiakseen KVM-teknologian ja edistääkseen sitä osana virtualisointistrategiaansa, tukien KVM:ää ainoana hypervisorina, kun RHEL 6 julkaistiin vuonna 2011. KVM keskittyy korkeaan suorituskykyyn, skaalautuvuuteen, korkeaan turvallisuuteen ja edulliseen hintaan.
I.14 Disconf
Keskitymme erilaisiin "yhteisiin komponentteihin" ja "yhteisiin alustoihin" "hajautetun järjestelmän konfiguraation hallinnassa", tarjoamme yhtenäisiä "konfiguraationhallintapalveluita".
I.15 Apollo
Apollo on Ctripin kehysosaston kehittämä konfiguraationhallintaalusta, joka pystyy keskitetysti hallitsemaan eri ympäristöjen ja sovellusklustereiden konfiguraatioita, ja sen voi siirtää sovelluspuolelle reaaliajassa konfiguraation muokkauksen jälkeen, ja sillä on standardoidut käyttöoikeudet, prosessinhallinta ja muut ominaisuudet.
Palvelin on kehitetty SpringBootin ja SpringCloudin pohjalta, ja sitä voidaan ajaa suoraan pakkauksen jälkeen ilman lisäsovelluskontteja, kuten Tomcatia, asentamista.
I.16 gRPC
gRPC on suorituskykyinen, avoimen lähdekoodin ja monipuolinen RPC-kehys mobiili- ja HTTP/2-suunnitelmille. Tällä hetkellä saatavilla on C-, Java- ja Go-kieliversioita, nimittäin: grpc, grpc-java ja grpc-go. C-versio tukee C-, C++-, Node.js-, Python-, Ruby-, Objective-C-, PHP- ja C#-kieliä.
gRPC on suunniteltu HTTP/2-standardin pohjalta, ja se tuo mukanaan ominaisuuksia kuten kaksisuuntainen virtaus, virtauksen ohjaus, pään pakkaus ja pyyntöjen multiplexauspyynnöt yhdellä TCP-yhteydellä. Nämä ominaisuudet parantavat suorituskykyä mobiililaitteilla, säästäen energiaa ja tilaa.
I.17-kanava
Canal on Alibaban alaisuudessa toimiva avoimen lähdekoodin projekti, puhtaasti Java-kehitys. Tietokannan inkrementaalisen lokin jäsentämisen pohjalta se tarjoaa inkrementaalisen datan tilauksen ja kulutuksen, ja tukee tällä hetkellä pääasiassa MySQL:ää (tukee myös mariaDB:tä).
Palvelut, jotka perustuvat loki-inkrementaaliseen tilaus- ja kulutustukeen:
- Tietokannan peilaus
- Reaaliaikainen tietokannan varmuuskopiointi
- Monitasoinen indeksointi (myyjille ja ostajille erilliset indeksit)
- searchbuild
- Palveluvälimuistin päivitys
- Tärkeitä liiketoimintauutisia, kuten hintamuutoksia
I.18 Sparkstreaming
SparkStreaming on Sparkin ydinrajapinnan laajennus, joka mahdollistaa reaaliaikaisen suoratoistodatan korkean läpimenon ja vikasietoisen käsittelyn. Tuki tiedonkeruulle erilaisista tietolähteistä, kuten Kafk, Flume, Twitter, ZeroMQ, Kinesis ja TCPsockets, ja kun dataa haetaan lähteistä, monimutkaisia algoritmeja voidaan käsitellä kehittyneillä toiminnoilla kuten map, reduce, join ja window.
I.19 SonarQube
Sonar on avoimen lähdekoodin alusta koodin laadunhallintaan, jolla hallitaan lähdekoodin laatua ja havaitaan koodin laatu seitsemästä ulottuvuudesta
Lisäosien muodossa se tukee koodin laadunhallintaa ja tunnistusta yli 20 ohjelmointikielellä, mukaan lukien java, C#, C/C++, PL/SQL, Cobol, JavaScrip, Groovy jne
I.20 DataX
DataX on offline-synkronointityökalu heterogeenisille tietolähteille, joka on omistettu vakaan ja tehokkaan datan synkronoinnin saavuttamiseen eri heterogeenisten tietolähteiden välillä, mukaan lukien relaatiotietokannat (MySQL, Oracle jne.), HDFS, Hive, ODPS, HBase, FTP ja monet muut.
I.21 Zen Management/Jira
Zen-funktio 1) Tuotehallinta: tuotteet, vaatimukset, suunnitelmat, julkaisut, tiekartat ja muut toiminnot. 2) Projektinhallinta: projektit, tehtävät, tiimit, rakennukset, polttokaaviot ja muut toiminnot. 3) Laadunhallinta: bugit, testitapaukset, testitehtävät, testitulokset ja muut toiminnot. 4) Asiakirjahallinta: tuotedokumenttikirjasto, projektidokumenttikirjasto, räätälöity dokumenttikirjasto ja muita toimintoja. 5) Transaktioiden hallinta: tehtävien hallinta, henkilökohtaisten asioiden hallintatoiminnot kuten tehtäväni, bugini, tarpeeni ja projektini. 6) Organisaatio ja johtaminen: osastot, käyttäjät, ryhmät, oikeudet ja muut toiminnot. 7) Tilastollinen funktio: rikas tilastollinen taulukko. 8) Hakutoiminto: Etsi vastaavat tiedot haun avulla.
JIRA-ominaisuudet 1) Ongelmien seuranta ja hallinta (ongelmatyyppeihin kuuluvat NewFeature, Bug, Task ja Improvement); 2) Analyysiraportti ongelman seurannasta; 3) Projektikategorioiden hallintatoiminto; 4) komponentin/moduulin johtajafunktio; 5) Projektin sähköpostiosoitetoiminto; 6) Rajattomat työnkulut.
I.22 XXJOB
XXL-JOB on kevyt hajautettu tehtävien aikataulutuskehys, jonka ydintavoitteet ovat nopea kehitys, yksinkertainen oppiminen, kevyt ja helppo skaalautua.
- Yksinkertaista: Tue CRUD-toimintoa tehtävissä verkkosivujen kautta, yksinkertainen operaatio, minuutti aloittamiseen;
- Dynaaminen: Tukee tehtävien tilan dynaamista muokkaamista, tehtävien tauottamista/jatkamista sekä suoritettavien tehtävien lopettamista, jotka astuvat voimaan välittömästi.
- Dispatch Center HA (keskitetty): Aikataulutus suunnitellaan keskitetysti, ja "Dispatch Center" perustuu klusteri-Quartziin ja tukee klusterin käyttöönottoa, mikä voi varmistaa hälytyskeskuksen HA:n.
- Executor HA (hajautettu): Tehtävät suoritetaan hajautetusti, ja tehtävän "executor" tukee klusterin käyttöönottoa varmistaakseen tehtävien HA:n suorituksen.
- Rekisteri: Executor rekisteröi tehtävät automaattisesti säännöllisesti, ja lähetyskeskus löytää rekisteröidyt tehtävät automaattisesti ja käynnistää niiden suorituksen. Samalla se tukee myös toimilaitteiden osoitteiden manuaalista syöttöä;
- Joustava skaalaus: Kun uusi toimeenpanokone menee verkkoon tai offline-tilaan, tehtävä siirretään seuraavassa aikataulutuksessa.
- Reititysstrategiat: Tarjoaa monipuolisia reititysstrategioita executor-klusterin käyttöönotossa, mukaan lukien: first, last, polling, random, consistent HASH, vähiten käytetty, viimeksi käyttämätön, failover, kiireinen siirto jne.
- Failover: Jos Failover valitaan tehtävien reitityspolitiikalle, jos suoritusklusterin kone epäonnistuu, järjestelmä siirtyy automaattisesti normaaliin suorittajaan lähettääkseen ajoituspyynnön.
- vikojen hallintastrategia; Vikojen aikatauluttamisen käsittelykäytännöt ovat: vikahälytys (oletus), epäonnistumisyritys;
- Epäonnistunut uudelleenyritys: Kun hälytyskeskuksen aikataulutus epäonnistuu ja epäonnistunut uudelleenyritys -käytäntö on käytössä, järjestelmä yrittää automaattisesti uudelleen kerran. Jos toimeenpanija epäonnistuu suorittamaan ja callback epäonnistuu yrittämään tilan uudelleen, se kokeillaan automaattisesti uudelleen.
- Estoprosessistrategia: käsittelystrategia, jossa aikataulutus on liian tiheää toimeenpanijalle, mukaan lukien yhden koneen sarjallinen (oletus), myöhemmän ajoituksen hylkääminen ja aiemman ajoituksen ylikirjoittaminen;
- Shard broadcast -tehtävä: Kun executor-klusteri otetaan käyttöön, jos tehtävän reitityspolitiikka valitaan "Shard Broadcast", tehtävän ajoitus lähetetään laukaisemaan kaikki klusterin suorittajat suorittamaan tehtävän, ja sharding-tehtävä voidaan kehittää sharding-parametrien mukaisesti.
- Dynaaminen sharding: Shardittu lähetystehtävä jaetaan suorittajan ulottuvuuden mukaan, ja se tukee suoritusklusterin dynaamista laajentamista, jotta sirpaleiden määrä kasvaa dynaamisesti ja voidaan tehdä yhteistyötä liiketoiminnan käsittelyssä. Kun suoritetaan suuria datavolyymeja liiketoimintatoimintoja, se voi merkittävästi parantaa tehtävien käsittelykapasiteettia ja nopeutta.
- Tapahtumien laukaisu: Cron-menetelmän ja tehtäväriippuvaisen tilan lisäksi tuetaan tapahtumapohjaisia laukaisumenetelmiä. Lähetyskeskus tarjoaa API-palveluita, jotka käynnistävät yhden suorituksen tehtävissä, jotka voidaan joustavasti käynnistää liiketoiminnan tapahtumien mukaan.
- Tehtävien etenemisen seuranta: Tue tehtävien edistymisen reaaliaikaista seurantaa;
- Rullaava reaaliaikainen loki: tukee aikataulutustulosten katsomista verkossa ja tukee suorittajan koko suorituslokin tuloksen katsomista reaaliajassa rullaavasti.
- GLUE: Tarjoaa WebIDE:n, joka tukee tehtävälogiikkakoodin verkkokehitystä, dynaamista julkaisua, reaaliaikaista kääntämistä ja tehokkuutta, ja poistaa käyttöönoton ja käynnistysprosessin. Tue 30 versiota historiallisesta versiosta takaperin.
- Skriptitehtävät: Tue skriptitehtävien kehittämistä ja suorittamista GLUE-tilassa, mukaan lukien Shell, Python, NodeJS ja muut skriptit.
- Tehtävien riippuvuudet: Tue alitehtävien riippuvuuksien konfigurointia, kun vanhempi tehtävä suoritetaan ja suoritus onnistuu, alitehtävän suoritus käynnistyy aktiivisesti ja useat alitehtävät erotetaan pilkuilla.
- Johdonmukaisuus: Aikataulutuskeskus varmistaa klusterin hajautetun aikataulutuksen johdonmukaisuuden tietokantalukkojen kautta, ja vain yksi tehtävien aikataulutus käynnistää yhden suorituksen.
- Mukautetut tehtäväparametrit: Tue tehtävän aikataulutusparametrien online-konfigurointia, jotka astuvat voimaan välittömästi;
- Ajoitussäikepooli: Ajoitusjärjestelmä käynnistää aikataulutusoperaation useilla säikeillä varmistaakseen, että aikataulutus suoritetaan tarkasti eikä estyy.
- Tietojen salaus: Viestintä lähetyskeskuksen ja toimeenpanijan välillä on salattu tiedon turvallisuuden parantamiseksi.
- Sähköpostihälytys: Tue sähköpostihälytystä, kun tehtävä epäonnistuu, ja tukee useiden sähköpostiosoitteiden konfigurointia lähettämään hälytysviestejä massana.
- Push maven central repository: Uusin vakaa versio työnnetään maven central repositoryyn helpottamaan käyttäjän pääsyä ja käyttöä.
- Suorita raportti: Tukee käynnissä olevan datan reaaliaikaista katselua, kuten tehtävien määrän, aikataulujen määrän, suorittajien määrän jne. sekä aikataulutusraportit, kuten aikataulutuspäivämäärän jakautumiskaavio, aikataulutuksen onnistumisen jakautumiskartta jne.;
- Täysi asynkroninen: Järjestelmän alin kerros toteuttaa täyden asynkronisuuden, ja liikenteen huipun rajaus tehdään tiheää aikataulutusta varten, mikä teoriassa tukee minkä tahansa keston tehtävien suorittamista.
I.23 Suolapino
Uusi infrastruktuurin hallintatapa, helppo ottaa käyttöön, voi toimia minuuteissa, hyvä skaalautuvuus, helppo hallita kymmeniä tuhansia palvelimia, riittävän nopea, palvelimien välinen viestintä sekunneissa.
Taustalla oleva suolakerros muodostaa dynaamisen yhteysväylän, jota voidaan käyttää orkestroinnissa, etäsuorituksessa, konfiguraation hallinnassa jne.
I.24 Istio
Mikropalvelujen aggregointikerroksen hallinnan huipputekninen projekti Istio on Googlen, IBM:n ja Lyftin (ulkomainen kyytipalveluyritys ja Uberin kilpailija) ensimmäinen yhteinen avoimen lähdekoodin projekti, tarjoten yhtenäisen ratkaisun, turvallisuuden, hallinnan ja mikropalveluiden seurannan.
Ensimmäinen beta on tällä hetkellä Kubernetes-ympäristöille, ja yhteisö väittää, että tuki virtuaalikoneille ja muille ympäristöille, kuten CloudFoundrylle, lisätään lähikuukausina. Istio lisää liikenteenhallinnan mikropalveluihin ja luo perustan lisäarvoisille toiminnoille, kuten turvallisuudelle, valvonnalle, reititykselle, yhteyksien hallinnalle ja käytännöille.
- automaattinen kuormantasaus HTTP-, gRPC- ja TCP-verkkoliikenteelle;
- Se tarjoaa monipuoliset reitityssäännöt hienovaraisen verkon liikenteen käyttäytymisen hallinnan saavuttamiseksi.
- liikenteen salaus, palveluiden välinen tunnistautuminen ja vahvat identiteettivaatimukset;
- Koko laivaston politiikan valvonta;
- Syvä telemetria ja raportointi.
Arkkitehtuuri
Turvallisuus
Perusasiat
Salt Stack + OpenStack + KVM + Kubernetes + Istio
|