Voit kopioida tämän näyte "Names Directory" Java sovelluksen GitHub. Gitclone https://github.com/dchqinc/dchq-docker-java-solr-mongo-cassandra-example.git
Step by Step Guide Dockerizing ja hallinta Java-sovelluksen, joka koostuu:
- Apache (httpd) ja Nginx ( kuormituksen tasapainotus )
- JBoss , Tomcat ja laituri ( kuten sovelluspalvelin )
- Solr ( koko tekstin haku )
- Mongo , Cassandra , MySQL , ja Oracle ( tietokantaan )
Tämä on jatkoa tämän hankkeen ( https://github.com/dchqinc/dchq-docker-java-example ). Sovellus tukee nyt Solr varten täystekstihaulla ja molemmat Mongo & Cassandra kuin tuettuja tietokantoja.
Juosta ja hallita 24 Java-sovellus malleja tässä projektissa 13. eri pilviä ja virtualisointialustoja (mukaan lukien vSphere, OpenStack, AWS, Rackspace, Microsoft Azure, Google Compute Engine, DigitalOcean, IBM SoftLayer jne), varmista, että olet joko :
Tausta
Containerizing yritys Java-sovelluksia on edelleen haaste lähinnä koska nykyiset sovelluksen kokoonpano kehyksiä ei käsitellä monimutkaisia riippuvuuksia, ulkoinen integraatiosta tai automaattinen skaalaus työnkulkuja post-säännöstä. Lisäksi lyhytaikaisten suunnittelu konttien tarkoitti, että kehittäjät piti käynnistyä uusiin astioihin ja luoda uudelleen monimutkainen riippuvuuksia ja ulkoinen integraatiot jokaisen version päivityksen.
DCHQ, saatavilla isännöi ja on-oletuksesta versiot, käsitellään kaikkia näitä haasteita ja yksinkertaistaa containerization Laitoksen Java-sovellusten avulla ennakkoa sovellus sävellys varten, joka ulottuu ikkunasta Luo rajat kuva ympäristömuuttuja siteet, laajennettavissa BASH kirjoitus laajennuksia, jotka voivat vedota pyynnöstä aika tai post-säännöksen, ja hakemus klustereiden korkean käytettävyyden useiden isäntien tai alueita tukee automaattista skaalaus.
Kun hakemus on varauksia, käyttäjä voi seurata suorittimen, muistin, & I / O käynnissä konttien, saada ilmoituksia ja hälytyksiä, ja pääset sovellus varmuuskopioita, automaattinen asteikko in / out työnkulkuja, ja plug-in suorituksen työnkulkuja päivittää käynnissä kontteja. Lisäksi out-of-box työnkulkuja, jotka helpottavat Jatkuva toimitus Jenkins avulla kehittäjät voivat päivittää Java WAR tiedot käynnissä sovellus häiritsemättä olemassa olevaa riippuvuudet ja integraatiot.
Aiemmissa blogit, osoitimme end-to-end käyttöönoton automatisointiin eri Java-sovelluksia (kuten Pizza Shop ja Movie Store sovellukset) on moniportainen Docker-pohjainen sovellus pinot yli 13 erilaista pilvet & virtualisointialustoja. Kattava luettelo näistä blogeja, voit vierailla tällä sivulla: http://dchq.co/docker-java-applications.html
Kuitenkin monet käyttäjät ovat edelleen sekava joitakin keskeisiä näkökohtia sovelluksen mallinnus. Näitä kysymyksiä ovat:
- Mistä nämä ympäristömuuttujat tulevat omassa YAML-pohjainen sovellus mallin?
- Miten tietokanta alustetaan oikea skeema tarvitaan minun Java-sovelluksen?
- Minulla on jo käyttöä koskevan suunnitelman minun WebLogic Application Server. Voinko ajaa oman käsikirjoituksen käyttöönottoon Java-sovelluksen?
Vastatakseen näihin kysymyksiin, loimme näyte "Nimet Directory" Java-sovellus tässä GitHub hanke, joka voidaan ottaa käyttöön seuraavilla sovellus pinot:
- Apache (httpd) ja Nginx (kuormituksen tasapainotus)
- JBoss, Tomcat ja laituri (kuten sovelluspalvelin)
- Solr (koko tekstin haku)
- Mongo, Cassandra, MySQL, ja Oracle (tietokantaan)
Tässä projektissa, annamme askel-askeleelta opas konfigurointiin, käyttöönoton ja hallinnan tämän Java-sovellus käyttää eri sovellus pinot ja eri pilvi / virtuaalisen infrastruktuurin.
Me kattaa:
- Määrittäminen Java-tiedostot tietokantaan ja Solr yhteys ympäristömuuttujat
- Käyttämällä liquibase papu alustaa liitetty tietokantaan
- Rakentaminen YAML-pohjainen sovellus malleja, joita voidaan käyttää uudelleen kaikissa Linux isäntä käynnissä kaikkialla
- Provisioning & automaattinen skaalaus olevaa infrastruktuuria tahansa cloud (Rackspace ollessa esimerkkinä tässä blogissa)
- Käyttöönotossa Monikerroksisiin Java sovellus Rackspace klusterin
- Seuranta CPU, muisti & I / O Käynnissä Kontit
- Ottaminen Jatkuva Delivery työnkulku Jenkins päivittää WAR tiedot käynnissä sovelluksia, kun rakentaa laukeaa
- Skaalaus ulos Application Server Cluster kun sovellus on resursseja rajoittaa käyttämällä Service Discovery puitteet päivittää kuormantasaus palvelun
Määrittäminen Java-tiedostot Database ja Solr Connection Ympäristömuuttujat
Voit kopioida tämän näyte "Names Directory" Java sovelluksen GitHub.
Tämä on tärkein askel "Dockerizing" Java-sovelluksen. Jotta hyödyntää ympäristömuuttujat voi kulkea juostessa säiliöitä, sinun täytyy varmistaa, että sovellus on määritetty niin, että voit muuttaa tiettyjä ominaisuuksia pyynnöstä aikaan - kuten:
- Solr URL-porttiin haluat käyttää
- Tietokannan kuljettaja haluat käyttää
- Tietokanta URL
- Tietokanta käyttäjätiedot
- Mikä tahansa muut parametrit, jotka haluat muuttaa pyydettäessä aikaan (esim min / max yhteys altaan kokoisia, odotuksen aikakatkaisu jne)
Tämän saavuttamiseksi olemme luoneet useita Java-tiedostot julistaa ympäristömuuttujat meidän täytyy käyttää yhteyden tietokantaan ja Solr. Java-tiedostot löytyvät määrityshakemisto:
Katsotaan ensin examine SolrConfig.java : https://github.com/dchqinc/dchq-docker-java-solr-mongo-cassandra-example/blob/master/src/main/java/dchq/dbconnect/config/SolrConfig.java
Huomaat, että solr_host ja solr_port ovat ilmoitettu ympäristömuuttujat että voit siirtää ajettaessa sovelluspalvelin astiaan.
Nyt examine DatabaseConfig.java : https://github.com/dchqinc/dchq-docker-java-solr-mongo-cassandra-example/blob/master/src/main/java/dchq/dbconnect/config/DatabaseConfig.java
Huomaat, että database_driverClassName , database_url , database_username , ja database_password ovat ilmoitettu ympäristömuuttujat että voit siirtää ajettaessa sovelluspalvelin astiaan. Niitä käytetään yhteyden MySQL, PostgreSQL ja Oracle-tietokantoja.
Seuraavaksi käymme examine MongoConfig.java : https://github.com/dchqinc/dchq-docker-java-solr-mongo-cassandra-example/blob/master/src/main/java/dchq/dbconnect/config/MongoConfig.java
Huomaat, että mongo_url on ilmoitettu ympäristömuuttujat että voit siirtää ajettaessa sovelluspalvelin astiaan.
Kuitenkin MongoConfig.java käytetään myös kansoittavat tietokantaan oikealla skeema & pöytä käynnistettäessä - jos tämä taulukko ei jo.
Lopuksi will examine CassandraConfig.java : https://github.com/dchqinc/dchq-docker-java-solr-mongo-cassandra-example/blob/master/src/main/java/dchq/dbconnect/config/CassandraConfig.java
Huomaat, että cassandra_url on ilmoitettu ympäristömuuttujat että voit siirtää ajettaessa sovelluspalvelin astiaan.
Käyttäen Liquibase Bean alustaa Connected MySQL, PostgreSQL ja Oracle-tietokantoja
Suosittelemme yleensä alustetaan tietokantakaavan osana Java-sovelluksen käyttöönottoa itse. Näin sinun ei tarvitse huolehtia ylläpidosta erillistä SQL-tiedostoja, jotka on toteutettu tietokantaan erikseen.
Jos kuitenkin on jo nuo SQL tiedostot ja silti mieluummin suorittamalla ne tietokantaan erikseen - niin DCHQ voi auttaa automatisoimaan tätä prosessia sen plug-in puitteissa. Voit viitata tähän osio lisätietoja.
Alustaminen Mongo ja Cassandra tietokantoja on katettu MongoConfig.java ja CassandraConfig.java tiedostoja.
MySQL, PostgreSQL ja Oracle, The liquibase papu käytetään DatabaseConfig.java tiedosto tarkistaa DataSource ja SQL lausunnot upgrade.sql. Liquibase kappaleita jotka changelog lausunnot ovat ristiriidassa kunkin tietokannan.
Tässä on todellinen upgrade.sql tiedosto SQL alustamisen skeema on kytketty MySQL, PostgreSQL tai Oracle.
Building the YAML-pohjainen sovellus malleja, joita käytetään uudelleen kaikissa Linux Host Running Anywhere
Kun olet kirjautunut sisään DCHQ (joko isännöi DCHQ.io tai yrityksen tiloissa versio), käyttäjä voi navigoida App & Machine ja napsauta + painiketta luoda uuden Docker Luo malliin.
Olemme luoneet 24 sovellusmalleja käyttämällä virallisia kuvia Docker Hub samasta "Names Directory" Java-sovellus - mutta eri sovelluspalvelimet ja tietokantoja.
Mallit sisältävät esimerkkejä seuraavista hakemuksen pinot (saman Java):
- Apache (httpd) & Nginx - kuormituksen tasapainotus
- Solr - koko tekstin haku
- Tomcat, Jetty ja JBoss - sovelluksen palvelimet
- Mongo, Cassandra, MySQL, ja Oracle XE - että tietokantojen
Laajennuksia Määritä Web-palvelimet ja sovelluspalvelimet At Pyyntöajankohta & Post-Provision
Kaikilla näillä sovellusmalleja, huomaat, että jotkut astiat vetoavat BASH script laajennukset pyynnöstä aikaa, jotta määrittää säiliöön. Nämä laajennukset voidaan suorittaa post-säännöstä samoin.
Nämä laajennukset voidaan luoda siirtymällä Laajennukset . Kun BASH käsikirjoitus on säädetty, DCHQ agentti suorittaa tämä kirjoitus säiliön sisällä . Käyttäjä voi määrittää argumentteja, jotka voidaan ohittaa pyynnöstä aikaa ja post-säännöstä. Mitään edeltää $ merkkiä pidetään väitteen - esimerkiksi $ file_url voi olla peruste, jonka avulla kehittäjät voivat määrittää ladata URL-osoite WAR-tiedosto. Tämä voidaan ohittaa pyynnöstä aikaa ja post-säännöstä, kun käyttäjä haluaa päivittää Java WAR tiedoston käynnissä astiaan.
Plug-in ID on annettava määritettäessä YAML-pohjainen sovellus malliin. Esimerkiksi vedota bash script plug-in nginx, me viittaisi plug-in ID seuraavasti:
Esimerkissä malleja, olemme vedoten 4 BASH kirjoitus laajennuksia.
Nginx vetoaa bash script plug-in, joka ruiskuttaa säiliö IP: n hakemuksen palvelimet default.conf tiedoston dynaamisesti (tai pyynnöstä aikaa). Plug-in ID on 0H1Nk .
Apache (httpd) vetoaa bash script plug-in, joka ruiskuttaa säiliö IP: n hakemuksen palvelimet httpd.conf tiedosto dynaamisesti (tai pyynnöstä aikaa). Plug-in ID on uazUi .
Kauneus Nginx ja Apache (httpd) laajennuksia on, että ne voidaan suorittaa post-säännöksen osana sovelluspalvelin klusteri mittakaavassa tai skaalata ulos. Tämä tekee mahdolliseksi määritellä automaattinen mittakaavan politiikkaa, joka automaattisesti päivittää web-palvelimen (tai kuormituksen tasausta). Tämä on osa DCHQ n Service Discovery puitteissa.
Service Discovery With Plug-In elinkaaren vaiheet
Elinkaari parametri laajennukset voit määrittää sitä vaihetta tai tapahtuman suorittamiseksi plug-in. Jos ei elinkaaren on määritelty, niin oletuksena, plug-in tulee suorittaa on_create . Tässä ovat tuettuja elinkaaren vaiheet:
- on_create - suorittaa plug-in luodessaan säiliössä
- on_start - suorittaa plug-in jälkeen säiliöön alkaa
- on_stop - suorittaa plug-in ennen säiliöön pysähtyy
- on_destroy - suorittaa plug-in ennen tuhota säiliössä
- post_create - suorittaa plug-in, kun säiliö on luotu ja käynnissä
- post_start [: Node] - suorittaa plug-in jälkeen toiseen astiaan alkaa
- post_stop [: Node] - suorittaa plug-in jälkeen toiseen astiaan pysähtyy
- post_destroy [: Node] - suorittaa plug-in jälkeen toiseen astiaan on tuhottu
- post_scale_out [: Node] - suorittaa plug-in toisensa jälkeen klusterin konttien skaalautuu ulos
- post_scale_in [: Node] - suorittaa plug-in toisensa jälkeen klusterin konttien skaalataan
Päästäkseen nginx ja Apache (httpd) laajennuksia alla EULA lisenssin, varmista, että olet joko:
Sovellus palvelimet (Tomcat, Jetty ja JBoss) ovat myös vetoamalla BASH script plug-in lähettämään Java WAR tiedoston pääsee GitHub URL.
Tomcat, JBoss ja laituri vetoavat täsmälleen sama BASH script plug-in (plug-in ID: oncXN ) - paitsi WAR-tiedosto on saada käyttöön eri hakemistoihin:
- Tomcat - dir = / usr / local / tomcat / webapps / ROOT.war
- Jetty - dir = / var / lib / laituri / webapps / ROOT.war
- JBoss - dir = / opt / JBoss / wildfly / standalone / asennuksia / ROOT.war
Solr vetoaa eri BASH script plug-in (plug-in ID: doX8s ), joka saa names.zip tiedosto ja pura se / opt / SOLR / server / SOLR /
CLUSTER_SIZE Ja Isäntä Ominaissuureita HA Deployment useille palvelimet
Huomaat, että CLUSTER_SIZE parametrin avulla voit määrittää konttien määrä käynnistää (samalla sovelluksen riippuvuudet).
Isäntä parametri voit määrittää isännän haluat käyttää kontti asennuksia. Tämä on mahdollista, jos on valittu kudos kuten verkottumista kerros luodessasi klustereita. Näin voit varmistaa korkean käytettävyyden hakemuksesi palvelinklustereille eri isännät (tai alueet) ja voit noudattaa affiniteetilla sääntöjä, joilla varmistetaan, että tietokanta toimii erillisessä isäntä esimerkiksi. Tässä ovat arvoja tuettu isäntä parametrin:
- palvelimen1, host2, host3 jne - valitsee isäntä satunnaisesti sisällä data-keskus (tai cluster) konttien asennuksia
- IP-osoite 1, IP-osoite 2 jne - avulla käyttäjä määrittää todellisen IP-osoitteet käyttää konttien asennuksia
- Hostname 1, Hostname 2, jne. - Avulla käyttäjä voi määrittää todellisen isäntänimien käyttää konttien asennuksia
- Jäkerimerkit (esimerkiksi "DB- ", tai "app-srv- ") - Määritä yleismerkkejä käyttää sisällä hostname
Ympäristö Muuttuva siteet Across Images
Lisäksi käyttäjä voi luoda rajat kuva ympäristömuuttujan siteet tekemällä viittauksella toiseen kuvan ympäristömuuttuja. Tässä tapauksessa olemme tehneet useita sidokset - kuten database_url = jdbc: mysql: // {{MySQL | container_hostname}}: 3306 / {{MySQL | MYSQL_DATABASE}} - jossa tietokannan säilön nimi ratkaistaan dynaamisesti pyynnöstä aikaa ja käytetään varmistamaan, että sovelluspalvelimet voivat luoda yhteyden tietokantaan.
Tässä on luettelo tuetuista ympäristömuuttujan arvoihin:
- {{alphanumeric | 8}} - luo satunnainen 8-merkkinen aakkosnumeerinen merkkijono. Tämä on kätevää, kun luodaan satunnaisia salasanoja.
- {{Image Name | ip}} - voit syöttää isäntä IP-osoitteen säiliön arvon ympäristömuuttuja. Tämä on eniten hyötyä mahdollistaa middleware tier muodostaa yhteyden tietokantaan.
- {{Image Name | container_ip}} - voit kirjoittaa nimen säiliön arvon ympäristömuuttuja. Tämä on eniten hyötyä mahdollistaa middleware tier luoda suojattu yhteys tietokantaan (paljastamatta tietokannan portti).
- {{Image Name | container_private_ip}} - voit syöttää sisäinen IP säiliön kuin arvo ympäristömuuttuja. Tämä on eniten hyötyä mahdollistaa middleware tier luoda suojattu yhteys tietokantaan (paljastamatta tietokannan portti).
- {{Image Name | port_Port Number}} - voit syöttää portin numero kontin kuin arvo ympäristömuuttuja. Tämä on eniten hyötyä mahdollistaa middleware tier muodostaa yhteyden tietokantaan. Tässä tapauksessa portin numeron on oltava sisäinen porttinumero - ei siis ulkoisen portin, joka on kohdistettu säiliöön. Esimerkiksi {{PostgreSQL | port_5432}} käännetään todellinen ulkoinen portti, joka mahdollistaa middleware tier muodostaa yhteyden tietokantaan.
- {{Image Name | Environment Variable Name}} - voit syöttää arvon kuvan ympäristön muuttuja toiseen kuvaan ympäristöön muuttuja. Käyttö tapaukset täällä ovat rajattomat - kuten useimmat moniportainen sovelluksissa on cross-kuvan riippuvuudet.
Tässä on neljä esimerkkiä. Löydät muokata ja suorittaa kaikki 24 malleja itse.
Multi-Tier Java (nginx-Tomcat-Solr-Mongo)
Multi-Tier Java (nginx-JBoss-Solr-Oracle-XE)
Multi-Tier Java (ApacheLB-Tomcat-Solr-Cassandra)
Multi-Tier Java (ApacheLB-aallonmurtajan-Solr-Mongo)
Provisioning & Auto-skaalaus olevaa infrastruktuuria rajoittamattomaan Cloud
Kun hakemus on tallennettu, käyttäjä voi rekisteröidä Cloud Provider automatisoida provisioinnin ja automaattinen skaalaus klustereiden 12. eri cloud päätepisteiden kuten VMware vSphere, OpenStack, CloudStack, Amazon Web Services, Rackspace, Microsoft Azure, DigitalOcean, IBM SoftLayer, Google Compute Engine, ja monet muut.
Ensin käyttäjä voi rekisteröidä Cloud Provider Rackspace (esimerkiksi) siirtymällä Cloud Providers ja sitten napsauttamalla + painiketta valitaksesi Rackspace . Rackspace API avain on annettava - jota voidaan hakea Tilin asetukset osiossa Rackspace Cloud Ohjauspaneeli.
Käyttäjä voi sitten luoda klusterin, jossa on automaattinen mittakaavan politiikkaa automaattisesti spin uusia Cloud palvelimet. Tämä voidaan tehdä siirtymällä klusterit sivulle ja sitten napsauttamalla + -painiketta. Voit valita kapasiteetti-pohjainen sijoitus politiikka ja sitten Pujotella kuten verkottumista kerros helpottamiseksi turvallisen, salasanalla suojattu rajat kontti viestintä useiden isäntien sisällä klusterin. Auto-Scale Policy voi esimerkiksi asettaa enimmäismäärä VM: n (tai Cloud palvelimet) 10.
Käyttäjä voi nyt säännöstä useita Cloud Palvelimet juuri luodun klusterin joko UI-työnkulku tai määrittelemällä yksinkertaisen YAML-pohjainen kone Luo malli, jota voi tiedustella Self-Service Library.
UI-pohjainen työnkulku - Käyttäjä voi pyytää Rackspace Cloud Palvelimet siirtymällä Koneet ja sitten napsauttamalla + painiketta valitaksesi Rackspace . Kun Cloud Provider on valittu, käyttäjä voi valita alueen, koon ja kuvan tarvitaan. Portit avataan oletusarvoisesti Rackspace Cloud palvelimet mahtuu joitakin sataman vaatimuksia (esim 32000-59000 varten ikkunasta, 6783 ja kutoa, ja 5672 varten RabbitMQ). Klusteri jälkeen valitaan ja kuinka monta Cloud Palvelimet voidaan määrittää.
YAML-pohjainen Machine Luo Template - Käyttäjä voi luoda ensin Machine Luo mallin Rackspace siirtymällä Koneet ja valitsemalla sitten Machine Luo .
Tässä mallin pyytämiseksi 4GB Cloud Server.
Tuettu parametrit Machine Luo mallin voidaan tiivistää seuraavasti:
- Kuvaus : kuvaus suunnitelma / template
- instanceType : Cloud tarjoaja tietyn arvon (esim general1-4)
- alue : Cloud tarjoaja tietyn arvon (esim IAD)
- image : Pakollinen - täysin pätevä image ID / nimi (esim IAD / 5ed162cc-b4eb-4371-b24a-a0ae73376c73 tai vSphere VM Mallin nimi)
- käyttäjätunnus : Valinnainen - vain vSphere VM malli käyttäjätunnus
- salasana : Valinnainen - vain vSphere VM malli salattu salasana. Voit salata salasana päätepisteen https://www.dchq.io/#/encrypt
- verkko : Valinnainen - Cloud tarjoaja tietyn arvon (esim oletus)
- securityGroup : Cloud tarjoaja tietyn arvon (esim dchq-turvallisuus-ryhmä)
- Avainsanapari : Cloud tarjoaja tietyn arvon (esim yksityinen avain)
- openPorts : Valinnainen - pilkulla erotetut porttiarvot
- count : Total ei VM: n, oletuksena 1.
Kun kone Luo pohja on tallennettu, käyttäjä voi pyytää tämän koneen päässä Self-Service Library . Käyttäjä voi napsauttaa Muokkaa ja valitse Cloud Provider ja Cluster käyttää provisiointiohjelmistojen näitä Rackspace Cloud palvelimet.
Käyttöönotto Multi-Tier Java Application On The Rackspace Cluster
Kun Cloud Palvelimet ovat varauksia, käyttäjä voi ottaa käyttöön moniportainen, satamatyöläinen perustuvia Java-sovelluksia uuden Cloud palvelimet. Tämä voidaan tehdä siirtymällä itsepalvelukonsolin Kirjasto ja sitten klikkaamalla Muokkaa pyytää Monikerroksisiin sovellus.
Käyttäjä voi valita Environment Tag (kuten DEV tai QE) ja Rackspace Cluster luotu ennen klikkaamalla Luo Machines .
Pääsy In-selain terminaalin Running Containers
Komento kehotekuvakkeen pitäisi olla saatavilla vieressä konttien "nimet Live sovellukset -sivulla. Näin käyttäjät voivat syöttää säiliöön käyttämällä suojattua kommunikointiprotokolla välittäjän kautta viestin jonoon. Valkoinen luettelo komennoista voidaan määritellä Vuokralainen Admin varmistaa, että käyttäjät eivät tee mitään haitallisia muutoksia ajettavalla säiliöihin.
Tomcat käyttöönottoa esimerkiksi käytimme komentorivi varmista, että Java WAR tiedosto lähetettiin / usr / local / tomcat / webapps / hakemistoon.
Seuranta CPU, muisti & I / O käyttöaste Running Containers
Kun sovellus on käynnissä, meidän kehittäjät seurata suorittimen, muistin, & I / O käynnissä konttien saada ilmoituksen, kun nämä mittarit ylittää ennalta määritellyn kynnysarvon. Tämä on erityisen hyödyllistä, kun meidän kehittäjät suorittamaan toiminnallista ja kuormitustestauksen.
Käyttäjä voi suorittaa historiallinen seuranta analyysi ja korreloivat asioita säiliöön päivitykset tai rakentaa käyttöönottoja. Tämä voidaan tehdä klikkaamalla Actions valikossa käynnissä olevassa sovelluksessa ja sitten Monitoring . Muokattu ajanjakso voidaan valita tarkastella suorittimen, muistin ja I / O-historiallisesti.
Ottaminen Jatkuva Delivery työnkulun Jenkins päivittää WAR File Of The Running Application Kun Build laukeaa
Kehittäjille haluaa seurata "muuttumaton" konttien palauttamalla Docker kuvien sisältää ohjelman koodi ja spinning uusia säiliöihin jokaisen sovelluksen päivitys, DCHQ tarjoaa automaattisen build ominaisuus, jonka avulla kehittäjät voivat luoda automaattisesti Docker kuvia Dockerfiles tai yksityisten GitHub sisältäviä projekteja Dockerfiles.
Kuitenkin monet kehittäjät saattavat haluta päivittää käynnissä sovelluspalvelin säiliöt uusimman Java WAR-tiedoston sijaan. Siihen DCHQ avulla kehittäjät voivat mahdollistaa jatkuvan toimituksen työnkulkua Jenkins. Tämä voidaan tehdä klikkaamalla Actions valikossa käynnissä olevassa sovelluksessa ja valitsemalla sitten jatkuva toimitus . Käyttäjä voi valita Jenkins esimerkiksi joka on jo rekisteröity DCHQ, todellinen työ sen Jenkins, jotka tuottavat uusin WAR-tiedoston, ja sitten BASH script plug-in tarttua tähän rakentaa ja ottaa sen juoksevaan sovelluspalvelin. Kun tämä käytäntö on tallennettu, DCHQ tarttuu uusimmat WAR tiedosto Jenkins tahansa rakentaa käynnistyy ja asentaa sen käynnissä sovelluspalvelin.
Kehittäjät, seurauksena on aina viimeisin Java WAR-tiedoston käyttöön niiden käynnissä säiliöiden DEV / TEST ympäristöissä.
Skaalaus Menneet Tomcat Application Server Cluster ja hyödy Service Löytämisrunko päivittää kuormantasaajana
Jos käynnissä sovellus tulee rajalliset resurssit, käyttäjä voi skaalata ulos sovelluksen vastaamaan kasvavaan kuormitusta. Lisäksi käyttäjä voi ajastaa asteikon aikana työaikana ja mittakaavassa viikonloppuisin esimerkiksi.
Jos haluat skaalata ulos klusterin Tomcat palvelimet 1-2, käyttäjä voi klikata Toiminnot valikossa käynnissä olevassa sovelluksessa ja valitse Scale Out . Käyttäjä voi sitten määritellä uusi koko klusterin ja sitten Suorita nyt .
Koska asteikko ulos suoritetaan, Service Discovery kehystä käytetään päivittämään kuormantasaajana. Plug-in automaattisesti suoritetaan Apache päivittää Apache n httpd.conf tiedosto niin, että se on tietoinen uuden sovelluspalvelimen lisätty. Tämä johtuu siitä olemme määritelty post_scale_out: AppServer koska elinkaaren tapahtuma tämän laajennuksen.
Hakemus aika-linja on saatavilla seurata jokainen muutos tehty hakemuksen tarkastuksen ja diagnostiikka. Tämä pääsee laajennettavan valikosta sivun alareunassa on käynnissä olevassa sovelluksessa. Tällöin Service Discovery puitteissa toteuttanut Apache plugin automaattisesti heti Application Server klusteri skaalata ulos.
Hälytykset ja ilmoitukset ovat käytettävissä, kun säiliöitä tai isännät ovat alas tai kun CPU ja muistin käyttö joko isäntien tai kontit ylittävät tietyn vähimmäismäärän.
johtopäätös
Containerizing yritys Java-sovelluksia on edelleen haaste lähinnä koska nykyiset sovelluksen kokoonpano kehyksiä ei käsitellä monimutkaisia riippuvuuksia, ulkoinen integraatiosta tai automaattinen skaalaus työnkulkuja post-säännöstä. Lisäksi lyhytaikaisten suunnittelu konttien tarkoitti, että kehittäjät piti käynnistyä uusiin astioihin ja luoda uudelleen monimutkainen riippuvuuksia ja ulkoinen integraatiot jokaisen version päivityksen.
DCHQ, saatavilla isännöi ja on-oletuksesta versiot, käsitellään kaikkia näitä haasteita ja yksinkertaistaa containerization Laitoksen Java-sovellusten avulla ennakkoa sovelluksen kokoonpano puitteet, jotka helpottavat rajat kuva ympäristömuuttuja siteet, laajennettavissa BASH kirjoitus laajennuksia, jotka voidaan käynnistää osoitteessa pyytää aika tai post-säännöksen, ja hakemus klustereiden korkean käytettävyyden useiden isäntien tai alueita tukee automaattista skaalaus.
päästä käsiksi out-of-box Monikerroksisiin Java malleja sekä sovelluksen elinkaaren hallinnan toimintoja, kuten seuranta, kontti päivityksiä, asteikko in / out ja jatkuva toimitus.
No comments:
Post a Comment