• Tekniikka
  • Sähkölaitteet
  • Materiaaliteollisuus
  • Digitaalinen elämä
  • Tietosuojakäytäntö
  • O nimi
Location: Home / Tekniikka / Ohjelmoitavien välityspalvelinten mitä ja miksi

Ohjelmoitavien välityspalvelinten mitä ja miksi

Tekninen palvelu |
1318

Avainsanat

Usein kysytty kysymys on "Mikä on ohjelmoitava välityspalvelin ja miksi tarvitsen sellaisen?" Tämä artikkeli yrittää vastata tähän kysymykseen eri näkökulmista. Aloitamme lyhyellä määritelmällä siitä, mitä välityspalvelin on, ja keskustelemme sitten siitä, miten välityspalvelimet kehittyivät eri vaiheissa, selittämällä, mihin tarpeisiin ne vastasivat ja mitä etuja ne tarjosivat kussakin vaiheessa. Lopuksi keskustelemme useista ohjelmoitavuuden näkökohdista ja annamme yhteenvedon siitä, miksi tarvitsemme ohjelmoitavan välityspalvelimen.

Mikä on välityspalvelin?

Välityspalvelin asennetaan yleensä kahden eristetyn verkon keskelle, ja se vastaa tiedonsiirrosta puolelta toiselle, jotta ne näyttävät yhtenä verkkona. Yksinkertaisimmassa muodossaan välityspalvelin on yhdyskäytävä käyttäjän ja Internetin välillä, kuten se on ollut olemassa tietokoneverkkojen syntymästä lähtien. Välityspalvelin ei kuitenkaan toimi vain verkkoliittimenä, koska se mahdollistaa myös lisätoimintoja ja käyttötapauksia, kuten:

ISO/OSI-mallin kerroksilla 4 ja 7 toimivia välityspalvelimia kutsutaan joskus "reititystilan" välityspalvelimiksi. Useimmat välityspalvelimet ovat saatavilla avoimen lähdekoodin ohjelmistoina, ja ne muodostavat suurimman osan verkkoinfrastruktuuriohjelmistoista tarjoamalla erikoistoimintoja eri aloilla, kuten välityspalvelimet tietyille protokollille, välityspalvelimet kuormituksen tasapainottamiseen, välityspalvelimet välimuistin kiihdyttämiseen ja niin edelleen.

Välityspalvelinohjelmiston evoluutio

Aiheeseen liittyvä sponsori

Opi Istio Fundamentals Helppo tapa oppia Istio. Istio on avoimen lähdekoodin palveluverkkoalusta, joka auttaa mikropalveluita kommunikoimaan keskenään. Lisätietoja.

Välityspalvelimet ovat kehittyneet eri kehitysvaiheissa:

Määritystiedostojen aikakausi

Tämä välityspalvelinsukupolvi perustuu kokonaan kokoonpanoon. Käyttäjä asettaa joukon parametreja, määrittää säännöt määritystiedostossa ja käynnistää sitten palveluprosessin näiden sääntöjen suorittamiseksi.

Määritysten DSL-aikakausi

Staattiset määritystiedostot vaikeuttavat monimutkaisen logiikan ilmaisemista, joten monet välityspalvelimet ottivat käyttöön ohuita komentosarjaominaisuuksia asetustiedostojen päälle. Näitä kutsutaan yleisesti "määrityskieliksi" tai toimialuekohtaisiksi kieliksi (lyhyesti DSL), kuten Haprxoyn ACL tai Varnishin VCL.

Komentosarjakielen aikakausi

Kun logiikka muuttuu monimutkaisemmaksi, sen ilmaiseminen määrityskielillä muuttuu vaikeammaksi. Samaan aikaan, kun samassa verkossa käytettävien erillisten konfigurointikielten määrä saavuttaa tietyn kynnyksen, niiden hallinta tulee vaikeaksi.

Esimerkiksi shell-komentosarjoja käyttämällä voidaan kirjoittaa yksinkertaista logiikkaa, mutta kun komentotulkkikoodi saavuttaa tietyn monimutkaisuuden, on usein siirryttävä jäsennellympiin komentosarjakieliin, kuten Perl tai Python.

Tällaiset kielet tuovat skriptien käyttömukavuutta ja täyden ohjelmointikielen rakenteellisen edun. Esimerkkejä tästä ovat OpenResty (Nginx + Lua) ja Nginx Plus (Nginx + NJS). Tämä luokka sisältää myös välityspalvelimet, jotka on toteutettu useilla sovellusohjelmointikielillä, kuten Node-pohjainen StrongLoop Microgateway ja Java-pohjainen Spring Cloud Gateway, joilla on usein omat komentosarjaominaisuudet.

Cluster-aikakausi

Komentosarjouskielet ratkaisevat monimutkaisen logiikan modularisoinnin ja strukturoinnin. Lisävaatimus tässä vaiheessa on integroida välityspalvelimet muihin hallinnollisiin ohjaustyökaluihin, joten tarvitaan REST tai vastaava rajapinta. Itse asiassa ulkoinen ohjaustaso voi käyttää tätä käyttöliittymää dynaamisesti päivittämään komentosarjan logiikkaa.

Samaan aikaan välityspalvelinten käyttö on siirtynyt yksittäisistä esiintymistä välityspalvelinryhmiin. Itse asiassa välityspalvelinohjelmistot, kuten Envoy ja OpenResty-pohjainen Kong, tukevat usein itse klusterointiominaisuuksia toteuttaen ne jollain keskitetyllä tai jaetulla (RDBMS:n jne. kautta) tavalla, mutta tarjoavat myös REST-hallintaliittymiä kokoonpanojen hallintaan.

Tätä aikakautta edeltäville välityspalvelimille klusterin hallinta on yleensä mahdollista kokoonpanonhallinnan kautta. Konfiguroinnin hallintatyökalut voivat myös paljastaa REST-liitännät. Esimerkiksi Ansible + Nginx toteuttaa samanlaisia ​​ominaisuuksia kuin pilviaikakauden välityspalvelimet. Sitä vastoin klusterin aikakauden välityspalvelimet vaativat enemmän komponentteja järjestelmän muodostamiseen, kun taas pilviaikakauden välityspalvelimet poistavat liikkuvien osien hallinnan taakan ja ovat paljon parempia.

Pilviaikakausi

Pilviaikakaudella välityspalvelimet otetaan käyttöön hajautetusti. Yleisin skenaario on ottaa käyttöön yksi välityspalvelin kullekin sovellusprosessille Sidecar Proxy -mallin mukaisesti.

Klusterointitilassa on yleensä erilaisia ​​konfiguraatioita ja käytäntöjä eri alkupään palveluille, kuten erilaiset todennustilat ja kulunvalvontamekanismit. Kun ylävirran palvelut kasvavat, näiden eri ylävirran palvelujen konfiguraatiot ovat loogisesti erillään, mutta toimivat fyysisesti samassa välityspalvelinprosessissa. Tällä menetelmällä on joitain haittoja: enemmän logiikkaa samassa prosessissa tuo lisää monimutkaisuutta. Lisäksi erilaiset ylävirran palvelut jakavat resursseja, kuten suorittimen ja muistin, mikä vaikuttaa toisiinsa. Jos ylävirran palvelun komentosarjassa on tietoturvahaavoittuvuus, muiden ylävirran palvelujen kokoonpanot voivat vuotaa, mikä johtaa tietoturvariskeihin.

Pilviaikakaudella kunkin ylävirran palvelun välityspalvelinprosessit ovat itsenäisiä ja eristettyjä toisistaan. Hajautettujen välityspalvelinten käyttöönotto avasi oven erilaisten sääntöjen ja käytäntöjen käyttöön eri ylävirran palveluihin, toisin sanoen usean vuokralaisen ominaisuuksiin.

Eri alkupään palveluilla ei ole vain loogisesti itsenäisiä sääntöjä ja käytäntöjä. Saatavilla on myös fyysinen eristys, mikä mahdollistaa rakeisen hallinnan prosessi- ja käyttöliittymätasolla. Tämä eristäminen on vahva vaatimus usean vuokralaisen ympäristössä – erilaiset ylävirran palvelut kuuluvat eri vuokralaisille, eivätkä vuokralaiset saa vaikuttaa toisiinsa tai tuntea toistensa konfiguraatioita.

Palveluverkot edustavat tätä aikakautta. Palveluverkot koostuvat kahdesta keskeisestä arkkitehtonisesta komponentista, datatasosta ja ohjaustasosta. Toisin kuin nimi antaa ymmärtää, palveluverkko ei ole "palvelujen verkko". Se on välityspalvelinten verkko, johon palvelut voivat kytkeä verkon kokonaan pois. Tyypillisiä esimerkkejä ovat istio+envoy, Linkerd + Linkerd-välityspalvelin.

Yksi ​​tämän artikkelin kirjoittajista luoma Pipy on tämän aikakauden tuote ja kuuluu tähän luokkaan. Pipy on avoimen lähdekoodin, kevyt, tehokas, modulaarinen, ohjelmoitava verkkovälityspalvelin pilvelle, reunalle ja IoT:lle. Pipy on ihanteellinen monenlaisiin käyttötapauksiin, kuten (mutta ei rajoittuen) reunareitittimiin, kuormantasajiin ja amp; välityspalvelinratkaisut, API-yhdyskäytävät, staattiset HTTP-palvelimet, Service Mesh -sivuvaunut ja muut sovellukset. Pipyä kehitetään aktiivisesti ja sitä ylläpitävät kokopäiväiset toimijat ja avustajat, vaikka se on vielä varhainen versio, mutta se on taistelutestattu ja useiden kaupallisten asiakkaiden tuotantokäytössä.

Yllä olevasta keskustelusta on selvää, että jokainen vaihe on parannus edelliseen.

Välityspalvelinohjelmistovaatimukset ja niiden kehitys

Katsotaanpa vielä välityspalvelinten kehitystä niiden vaatimusten kehittymisen perusteella.

Määritystiedostojen aikakausi

Ensimmäisen sukupolven välityspalvelimet toteuttivat pääasiassa yhdyskäytävän toiminnon käyttäjien ja palvelujen välillä ja tarjosivat peruskonfiguroitavia ominaisuuksia. Massiivisen datan reaaliaikainen siirto vaatii suurta suorituskykyä ja pientä latenssia ja vähäinen resurssien käyttö. Kuten kaikki ohjelmistot, myös välityspalvelimet vaaditaan tukemaan modulaarisuutta ja laajennettavuutta.

Välityspalvelinohjelmisto kehitettiin tässä vaiheessa pääasiassa C-kielellä, kuten laajennusmoduuleilla, jotka latautuvat dynaamisesti prosessin alussa.

Yhteenvetona voidaan todeta, että välityspalvelinvaatimukset tässä vaiheessa ovat liitettävyys (verkkoominaisuudet), helppokäyttö (konfiguroitavissa määritystiedostojen kautta), luotettavuus (vaatimukset ristiinlinkityksille). ), korkea suorituskyky ja skaalautuvuus.

Configuration DSL -aikakausi

Toisen sukupolven välityspalvelimet paransivat laajennettavuutta ja joustavuutta, kuten dynaamista tiedonkeruuta ja kykyä tehdä joitain loogisia päätöksiä hankituille tiedoille. DSL-pohjaisten komentosarjojen käyttöönotto paransi entisestään käytettävyyttä. Kombinatorisen logiikan ja dynaamisen tiedonhaun tuki tarjosi joustavuutta ja paransi skaalautuvuutta.

Komentosarjakielen aikakausi

3. sukupolven välityspalvelinten tärkeimmät parannukset 2. sukupolven välityspalvelimiin verrattuna ovat hallittavuus, kehittäjäystävällisyys ja ohjelmoitavuus.

Kehittäjien tuottavuus ja massiivisten komentosarjojen ylläpidon monimutkaisuus edellyttävät tämän sukupolven välityspalvelinten käyttävän jäsenneltyä komentosarjakieltä, mutta säilyttäen samalla edellisen sukupolven suorituskyvyn, alhaisen resurssien käytön ja muut ydinominaisuudet.

Komentosarjousominaisuudet ovat laajalti käytössä lähinnä siksi, että laajennuksia on vaikea kehittää ja ylläpitää C-kielen avulla. Komentosarjakielet ovat todellakin helpompi oppia, ja ne tarjoavat nopeammat käännökset verrattuna käännettyihin kieliin.

Strukturoidun ja modulaarisen komentosarjakielen käyttö aloitti ohjelmoitavien välityspalvelinten aikakauden ja vaati välityspalvelimia kahden ohjelmoitavuustason tarjoamiseen: C:n käyttäminen ydinmoduulien kehittämiseen ja komentosarjat dynaamisen logiikan ohjelmoimiseksi. Toisin sanoen ohjelmoitavat välityspalvelimet antoivat käyttäjälleen mahdollisuuden kehittää ydinmoduuleja ja dynaamista logiikkaa.

Klusterin aikakausi

Neljännen sukupolven välityspalvelimet alkavat klusterituella, mikä parantaa hallittavuutta.

REST-rajapintojen ansiosta välityspalvelimista tulee osa verkkoinfrastruktuurin toteutusta ja infrastruktuurin lähtökohta koodina. REST-rajapinnat parantavat välityspalvelinten hallittavuutta myös yksinkertaistavat niiden hallintaa. Ulkoiset liitännät ovat myös tärkeä ominaisuus ohjelmoitavissa välityspalvelimissa, ja REST on yleisin käyttöliittymämuoto.

Tässä vaiheessa ohjelmoitavuus koostuu kolmesta kerroksesta: ohjelmoitavat ydinmoduulit, ohjelmoitava dynaaminen logiikka ja ohjelmoitavat ulkoiset liitännät. Välityspalvelinklusterien syntyminen heijastaa näkökulman muutosta skaalautuvuuden toiminnallisuuden laajentamisesta resurssien laajentamiseen (jossa käyttäjät voivat moduloida toiminnallisuuden useiksi esiintymiksi sen sijaan, että he kirjoittaisivat monoliittisen komentosarjan). REST-rajapintojen syntyminen tarjoaa tekninen perusta itsepalveluille ja hallituille palveluille, jotka tarjoavat mm. ohjauspaneeli konfigurointia ja ohjausta varten.

Pilviaikakausi

Viidennen sukupolven välityspalvelinten kehitystä ohjaa pilvipalvelun suosio ja nopea kehitys, joka tuo mukanaan elastisuuden, itsepalvelun, monivuokrauksen, eristyksen ja mittauksen vaatimukset.

Jos agenttien neljäs sukupolvi on tarkoitettu järjestelmänvalvojille, viidennen sukupolven agentit pilvipalveluille. Viidennen sukupolven välityspalvelimet ovat pilvivalmiita, vaikka ne säilyttävät täysin edellisten sukupolvien välityspalvelinohjelmistojen ominaisuudet.

Kun pilvilaskenta on laajentunut reunaan, viidennen sukupolven välityspalvelinten on tuettava heterogeenisiä laitteistoja, heterogeenisia ohjelmistoja ja pientä energiankulutusta optimoidakseen pilven ja reunan integroinnin.

Viidennen sukupolven välityspalvelimet ovat myös edistyneet ohjelmoitavuudessa: ydinmoduulista, dynaamisesta logiikasta ja ulkoisesta käyttöliittymästä, jotka näimme aiemmin, pilvitoimintoihin, jakelutukeen, monivuokraukseen ja mittaukseen. Mittaus on monivuokrauksen johdannainen vaatimus, joka edellyttää toisaalta eristäytymistä ja toisaalta resurssien mittaamista mahdollisimman pienellä tarkkuudella.

Tee yhteenveto yllä olevasta keskustelusta taulukkomuotoon, jossa rivit vastaavat tiettyjä vaatimuksia ja sarakkeiden välityspalvelimia eri vaiheissa. Jokaiselle kehitysvaiheelle tarjoamme myös tyypillisiä esimerkkejä tai tunnettuja ohjelmistoja suluissa. Jokaisessa solussa käytämme *-merkkiä, joka ilmaisee, onko tällaisia ​​ominaisuuksia saatavilla ja missä määrin (1-5 , 5 täydellistä tukea varten ja 1 * perustuki).

SN

Edellytys

Määritykset (squid, httpd, nginx)

Määrityskieli (lakka, haproksi)

Komentosarjojen tuki (nginx+lua, nginx+js)

klusterointi (kong, lähettiläs)

Pilvi (istio+envoy, linkerd, pipy)

Huomautuksia

1.

Yhteys

* * * * *

* * * * *

* * * * *

* * * * *

* * * * *

Pilviaikakauden liitännät alkoivat ydinteknologioista, kuten iptables ja ebpf. Aikaisemmin oli vain käyttäjätilaprosesseja.

2.

Luotettavuus

* * * * *

* * * * *

* * * * *

* * * * *

* * * * *

Luotettavuus on aina ollut välityspalvelinten tärkein ominaisuus.

3.

Suuri suorituskyky

* * *

* * * *

* * * * *

* * * * *

* * * * *

Suorituskyky sisältää suorituskyvyn, latenssin, virhesuhteen ja poikkeaman keskiarvosta. Yleisiä latenssimittareita ovat P99, P999 ja muut. Varhaisella välityspalvelinohjelmistolla on pitkä hännän vaikutus, joten P99:n yläpuolella olevat indikaattorit eivät ole yhtä hyviä kuin myöhemmissä ohjelmistoissa. Suorituskykyisiä komentosarjoja sisältävät välityspalvelimet toimivat usein edeltäjiään paremmin palauttaessaan saman sisällön. Välityspalvelimet, jotka välttävät pitkiä pyrstöjä, ovat vakaampia (vähemmän poikkeamalla keskiarvosta) samalla kun ne tarjoavat saman suorituskyvyn.

4.

Joustavuus

*

* *

* * *

* * * *

* * * * *

Neljänteen sukupolveen verrattuna viidennen sukupolven välityspalvelimet parantavat merkittävästi usean protokollan tukea, joten annamme tälle sukupolvelle viiden tähden arvion. Lisäksi viidennen sukupolven prosessointimalli voi mukautua erilaisiin protokolliin ja tarjota parempi sopivuus neljänteen sukupolveen verrattuna.

5.

Skaalautuvuus

*

* *

* * *

* * *

* * * *

Joustavuuden tapaan viidennen sukupolven välityspalvelimet tukevat useita protokollia ja tarjoavat helpon laajennusmekanismeja ydintoimintojen laajentamiseen tai mukautetun sovelluskerroksen (Layer 7) protokollalaajennuskehitykseen, joten annamme sille yhden tähti enemmän kuin 4. sukupolvi.

6.

Laitteistoyhteensopivuus

* * * *

* * * *

* * * *

* * * *

* * * *

C- tai C++-kielillä kehitetyillä välityspalvelimilla on yleensä parempi laitteistoyhteensopivuus ja aktiivisempi yhteisö siirtää sovelluksia uusiin laitteistoarkkitehtuureihin. Rustilla, Golla ja Lualla kehitetyt välityspalvelimet ovat olleet suhteellisen hitaita laitteiston yhteensopivuuden vuoksi.

7.

Järjestelmän yhteensopivuus

* * *

* * *

* * * *

* * * *

* * * * *

Järjestelmään kuuluu pääasiassa kaksi näkökohtaa, joista toinen on käyttöjärjestelmä ja toinen pilvialusta. Käyttöjärjestelmän yhteensopivuuden kannalta jokainen välityspalvelinsukupolvi on samanlainen. Pilvialustan yhteensopivuuden kannalta sekä neljännen että viidennen sukupolven välityspalvelimet tarjoavat kuitenkin paremman pilviyhteensopivuuden. Sen sijaan merkittävä ero viidennen ja neljännen sukupolven välillä piilee niiden kyvyssä tukea useita vuokrasuhteita.

8.

Helppo hallinta

* *

* *

* *

* * *

* * * *

Hallinnoinnin helppous riippuu järjestelmän toiminnasta & järjestelmänvalvojan roolit. Ensimmäinen ja toinen sukupolvi käyttävät pääasiassa konfiguraatiotiedostoja, jotka perustuvat konfiguroinnin hallintatyökalujen käyttöön automaattisen ja erähallinnan saavuttamiseksi. Kolmannessa sukupolvessa määritystiedostojen hallinnan lisäksi meidän on hallittava edelleen komentosarjatiedostoja. Mutta pohjimmiltaan hallinnan helppoudessa ei ole merkittävää eroa ensimmäiseen ja toiseen sukupolveen. Neljäs sukupolvi tarjoaa REST-rajapintoja, mikä parantaa huomattavasti hallinnan helppoutta. RESTin lisäksi viidennen sukupolven välityspalvelimet tarjoavat yleensä pilvipohjaisen ohjaustason välityspalvelinten hallintaa varten. Se tarjoaa myös useita ulkoisia rajapintoja, jotka täyttävät muut hallintavaatimukset, kuten seurannan, auditoinnin ja tilastot.

9.

Helppokäyttöisyys

*

*

*

* *

* * *

Kolmen ensimmäisen sukupolven välityspalvelinten ensisijaiset käyttäjät ovat ops & sys järjestelmänvalvojat. Neljännessä sukupolvessa järjestelmänvalvojat alkoivat tarjota käyttäjille joitain toimintoja, ja palvelumalli alkoi ilmestyä. Viides sukupolvi ottaa huomioon enemmän käyttäjien skenaarioita ja tarjoaa enemmän vuokralaisominaisuuksia.

10.

Kehittämisen helppous

*

* *

* * *

* * * *

* * * * *

Välipalvelinten ympärillä tapahtuva kehitys sisältää kaksi näkökohtaa. Yksi on välityspalvelimen sisällä, jonka tavoitteena on saavuttaa toiminnallisuus; toinen on välityspalvelimen ulkopuolella, ja sen tavoitteena on saavuttaa välityspalvelimen hallintakyky. Kolme ensimmäistä sukupolvea tarjoavat käyttöliittymän sisäiseen kehitykseen. Kaksi viimeistä sukupolvea tarjoavat sekä sisäiset että ulkoiset rajapinnat. Viidennen sukupolven tuoma merkittävä parannus neljänteen sukupolveen on pilvikäyttöliittymä.

11.

Ydinkäyttöliittymä on ohjelmoitava

*

*

*

*

*

Jokainen välityspalvelinsukupolvi tarjoaa mahdollisuuden laajentaa ydinrajapintoja, mutta nämä rajapinnat ovat liian matalan tason ja vaikeita hallita.

12.

Toimintolaajennus on ohjelmoitavissa

*

* *

* * *

* * * *

* * * * *

Mahdollisuuden laajentaa toimintoja tehokkaammin on osa prosessia, joka paranee jokaisen välityspalvelinsukupolven myötä. Se on ohjelmoitavien välityspalvelinten ydinmittari.

13.

Protokollalaajennukset ovat ohjelmoitavia

* *

* * *

Kolme ensimmäistä sukupolvea ovat pääasiassa yksittäisiä protokollia tai kiinteitä protokollia varten. Neljännestä sukupolvesta lähtien käyttäjät alkoivat etsiä tukea useille protokollille ja mukautetuille protokollille. Viidennessä sukupolvessa protokollalaajennusta pidetään suunnittelun ydinominaisuusna.

14.

Modulaarinen komentosarja

* * *

* * * *

* * * *

Kolmannen sukupolven välityspalvelimet ovat alkaneet kiinnittää enemmän huomiota komentosarjojen rakenteeseen. Neljäs ja viides sukupolvi yrittävät mahdollistaa jäsennellymmän ohjelmoinnin, kuten Envoyn yrityksen tarjota monikielistä tukea WASM:n kautta; Pipy esittelee tehokkaat JS-skriptit parempaan jäsentelyyn

15.

Määritysten hallinta on ohjelmoitavissa

* *

* * *

Kolme ensimmäistä sukupolvea välityspalvelimen konfigurointikohteena on pääasiassa operaatioiden hallintahenkilöstö, ja ulkoiset kokoonpanonhallintatyökalut perustuvat tähän lähtökohtaan. Neljäs sukupolvi tukee REST-hallintaliittymiä. Viides sukupolvi tarjoaa lisäksi standardin pilvirajapinnan konfiguraatioiden hallintaan.

16.

Resurssilaajennukset ovat ohjelmoitavia

*

*

*

* *

* * * *

Kolmen ensimmäisen sukupolven aikana välityspalvelimen kapasiteetin laajentamisen tavoitteena oli lähinnä lisätä säikeiden tai prosessien määrää. Neljäs sukupolvi tarjoaa prosesseille skaalautumiskyvyn, joka tunnetaan nimellä klusterointikyky. Sen perusteella viides sukupolvi tarjoaa toisaalta vaakasuuntaisen laajennuskyvyn, toisaalta valmiudet rajoitetuilla resursseilla tukeakseen tarkempaa mittausta ja laskutusta. Toisin sanoen se ei tue vain asteittaista skaalausta, vaan tarjoaa myös mahdollisuuden pienentää. Lisäksi kaikki nämä ominaisuudet tarjoavat ohjelmointirajapintoja.

17.

Ohjelmoitava vuokralaisen laajennus

* * *

Pilvi syntyi samaan aikaan välityspalvelimen neljännen sukupolven kanssa, ja monivuokrausta pilven ydinominaisuudena ei tueta hyvin neljännessä. sukupolvi. Viides sukupolvi on suunniteltu pilvitekniikan lähtökohtiin, harkiten ja tarjoamalla vuokralaisille mahdollisuuden ohjelmoida omia laajennuksiaan.

Yllä olevan taulukon rivit 11–17 ovat ohjelmoitavan välityspalvelimen erityispiirteitä. Nämä seikat muodostavat myös vastauksen kysymykseen, miksi ohjelmoitavaa välityspalvelinta kannattaa käyttää:

Yhteenveto

Tässä artikkelissa yritimme vastata siihen, mikä ohjelmoitava välityspalvelin on. Tätä tarkoitusta varten lähdimme määrittämään, mikä välityspalvelin on ja mitkä ovat sen keskeiset ominaisuudet. Sitten laajensimme keskustelua sisältämään evolution-välityspalvelimen, joka on käynyt läpi, ja selitti jokaisessa vaiheessa lisätyt ominaisuudet ja toiminnot. Lopuksi teemme yhteenvedon keskustelustamme välityspalvelinominaisuuksista jakamalla ne 17 eri luokkaan ja luokittelemalla kunkin välityspalvelinsukupolven. Tämä luokittelu antoi meille mahdollisuuden tunnistaa keskeiset ominaisuudet ja attribuutit, jotka vaaditaan, jotta välityspalvelin voidaan merkitä ohjelmoitavaksi.

Tietoja kirjoittajista

Cai Shu

Näytä enemmänNäytä vähemmän

Ali Naqvi

Näytä enemmänNäytä vähemmän