Si fudud ugu maamul isku xidhka adeega-yar ee microconfig.io

Mid ka mid ah dhibaatooyinka ugu waaweyn ee horumarinta iyo hawlgalka dambe ee adeeg-yaraha ayaa ah habaynta karti iyo sax ah ee tusaalooyinkooda. Fikradayda, qaab cusub ayaa kaa caawin kara arrintan microconfig.io. Waxay kuu ogolaanaysaa inaad si xarrago leh u xalliso qaar ka mid ah hawlaha habaynta codsiga caadiga ah.

Haddii aad haysatid microservices badan, oo mid kasta oo iyaga ka mid ah ay la yimaadaan faylka qaabeynta / faylalka, markaa waxaa jira suurtogalnimada sare ee qaladka mid ka mid ah, taas oo noqon karta mid aad u adag in la qabto iyada oo aan lahayn xirfad sax ah iyo nidaamka qorista. Hawsha ugu weyn ee qaab-dhismeedku u dejiyo nafsad ahaantiisa waa in la yareeyo halbeegyada qaabaynta tusaalaha nuqulka ah, si loo yareeyo suurtagalnimada in lagu daro khalad.

Bal aan tusaale u soo qaadano. Aynu nidhaahno waxaanu haynaa codsi fudud oo leh faylka qaabaynta yaml. Tani waxay noqon kartaa adeeg-yar oo kasta oo luuqad kasta ah. Aynu aragno sida qaab-dhismeedka loogu dabaqi karo adeeggan.

Laakiin marka hore, si ay ugu habboonaato, aan ku abuurno mashruuc madhan Fikradda IDE, ka dib markii aan ku rakibno plugin microconfig.io:

Si fudud ugu maamul isku xidhka adeega-yar ee microconfig.io

Waxaanu dejinay qaabaynta furaha plugin; waxaad isticmaali kartaa qaabaynta caadiga ah, sida sawirka kore.

Adeegeena waxaa loo yaqaan nidaam, ka dibna mashruuc cusub waxaan abuuri doonaa qaab-dhismeed la mid ah:

Si fudud ugu maamul isku xidhka adeega-yar ee microconfig.io

Dhig faylka qaabeynta galka magaca adeegga - codsi.yaml. Dhammaan adeegayaasha yaryar waxaa lagu bilaabay nooc ka mid ah deegaanka, marka, marka lagu daro abuurista qaabeynta adeegga lafteeda, waxaa lagama maarmaan ah in la qeexo deegaanka laftiisa: tan waxaan abuuri doonaa gal envs kuna dar fayl leh magaca deegaanka shaqada. Haddaba, qaab-dhismeedku wuxuu abuuri doonaa habaynta faylasha adeegyada deegaanka dev, maadaama halbeeggaan lagu dejiyay goobaha plugin.

Qaab dhismeedka faylka dev.yaml waxay noqon doontaa mid fudud:

mainorder:
    components:
         - order

Qaab-dhismeedku wuxuu la shaqeeyaa habayn la isku daray. Adeegeena, kooxda u door magac guud ahaan. Qaab-dhismeedku wuxuu ka helaa koox kasta oo codsiyo ah oo ku jira faylka deegaanka wuxuuna u sameeyaa isku-habeyn dhammaantood, kuwaas oo ay ka helaan galka u dhigma.

In goobaha adeegga laftiisa faylka si Aynu hadda cayimin halbeeg keliya:

spring.application.name: order

Hadda aynu wadno plugin, oo waxay soo saari doontaa qaabeynta loo baahan yahay adeegeena iyadoo loo eegayo dariiqa lagu qeexay guryaha:

Si fudud ugu maamul isku xidhka adeega-yar ee microconfig.io

awooddo soo ag mari iyo iyada oo aan la rakibin plugin, si fudud u soo dejisan qaybinta qaab-dhismeedka oo ka socodsiiya khadka taliska.
Xalkani wuxuu ku habboon yahay isticmaalka server-ka dhismaha.

Waxaa xusid mudan in qaab-dhismeedka uu si fiican u fahmayo hantida syntax, yacni, galalka hantida caadiga ah ee la wada isticmaali karo yaml habaynta.

Aan ku darno adeeg kale bixinta kan jirana sii adkeeya.
Π’ si:

eureka:
 instance.preferIpAddress: true
 client:
   serviceUrl:
     defaultZone: http://192.89.89.111:6782/eureka/
server.port: 9999
spring.application.name: order
db.url: 192.168.0.100

Π’ bixinta:

eureka:
 instance.preferIpAddress: true
 client:
   serviceUrl:
     defaultZone: http://192.89.89.111:6782/eureka/
server.port: 9998
spring.application.name: payments
db.url: 192.168.0.100

Dhibaatada ugu weyn ee qaabeyntan waa joogitaanka qadar badan oo nuqul ah oo ku jira goobaha adeegga. Aynu aragno sida qaab-dhismeedku u caawin doono in laga takhaluso. Aan ku bilowno kuwa ugu cad - joogitaanka qaabeynta eureka ee sharraxaadda adeeg kasta oo yar yar. Aan abuurno hage cusub oo wata faylka dejinta oo aan ku darno qaabayn cusub:

Si fudud ugu maamul isku xidhka adeega-yar ee microconfig.io

Oo hadda aynu ku darno khadka mid kasta oo ka mid ah mashaariicdayada #waxaa ku jira eureka.

Qaab dhismeedka wuxuu si toos ah u heli doonaa qaabeynta eureka wuxuuna koobi doonaa faylalka qaabeynta adeegga, halka qaabeynta eureka gaar ah aan la abuuri doonin, maadaama aan lagu qeexi doonin faylka deegaanka. dev.yaml. Adeegga si:

#include eureka
server.port: 9999
spring.application.name: order
db.url: 192.168.0.100

Waxa kale oo aanu u wareejin karnaa goobaha kaydka xogta qaabayn gooni ah annagoo u beddelayna khadka soo dejinta #waxaa ku jira eureka, oracle.

Waxaa xusid mudan in qaab-dhismeedku uu raadraaco isbeddel kasta marka dib loo soo nooleeyo faylasha qaabeynta oo uu ku dhejiyo fayl gaar ah oo ku xiga faylka qaabeynta ugu weyn. Gelida logu wuxuu u eg yahay sidan: β€œ1 hanti oo la kaydiyay ayaa isu beddeshay dalbo/arji kala duwanaansho.yaml" Tani waxay kuu ogolaaneysaa inaad si dhakhso ah u ogaato isbeddelada faylasha qaabeynta ee waaweyn.

Ka saarida qaybaha caadiga ah ee qaabeynta waxay kuu ogolaaneysaa inaad ka takhalusto wax badan oo nuqul-koobi ah oo aan loo baahnayn, laakiin ma ogola inaad si dabacsan u abuurto qaabeynta jawiyo kala duwan - dhammaadka adeegyadayada waa kuwo gaar ah oo adag-coded, tani waa mid xun. Aan isku dayno inaan ka saarno kan.

Xalka wanaagsan wuxuu noqon lahaa in dhammaan qodobbada dhamaadka lagu hayo hal qaab oo kuwa kale tixraaci karaan. Ujeedadan awgeed, taageerada boos-haynta ayaa la soo galiyay qaabka. Tani waa sida faylka qaabeynta uu isku bedeli doono eureka:

 client:
   serviceUrl:
     defaultZone: http://${endpoints@eurekaip}:6782/eureka/

Hadda aan aragno sida meeleeyahani u shaqeeyo. Nidaamku wuxuu helayaa qayb la magacaabay ugu dambeyntii oo macne ka raadiyo eurekaip, ka dibna u beddela qaabeyntayada. Laakiin ka warran deegaannada kala duwan? Si tan loo sameeyo, samee faylka dejinta ugu dambeyntii nooca soo socda codsi.dev.yaml. Qaab-dhismeedka si madaxbanaan, oo ku salaysan kordhinta faylka, ayaa go'aamisa jawiga qaabayntan uu leeyahay oo uu ku shubo:

Si fudud ugu maamul isku xidhka adeega-yar ee microconfig.io

Waxyaabaha ku jira faylka Dev:

eurekaip: 192.89.89.111
dbip: 192.168.0.100

Waxaan u abuuri karnaa isku qaabayn dekedaha adeegyadeena:

server.port: ${ports@order}.

Dhammaan goobaha muhiimka ah waxay ku yaalaan hal meel, taas oo yaraynaysa suurtagalnimada khaladaadka sababtoo ah cabbirada kala firdhisan ee faylasha qaabeynta.

Qaab-dhismeedku wuxuu bixiyaa meelo badan oo diyaarsan, tusaale ahaan, waxaad heli kartaa magaca tusaha uu ku yaallo faylka qaabeynta oo ku meelee:

#include eureka, oracle
server.port: ${ports@order}
spring.application.name: ${this@name}

Waad ku mahadsan tahay tan, looma baahna in lagu daro magaca codsiga ee qaabeynta waxaana sidoo kale lagu dhejin karaa cutub caadi ah, tusaale ahaan, isla eureka:

client:
   serviceUrl:
     defaultZone: http://${endpoints@eurekaip}:6782/eureka/
 spring.application.name: ${this@name}

Faylka qaabeynta si waxaa loo dhimi doonaa hal sadar:

#include eureka, oracle
server.port: ${ports@order}

Haddii aanaan uga baahnayn wax habayn ah qaabeynta waalidka, waxaan ku qeexi karnaa qaabeyntayada waxaana lagu dabaqi doonaa inta lagu jiro jiilka. Taasi waa, haddii sabab qaar ka mid ah aan ugu baahanahay magac gaar ah adeegga dalbashada, kaliya waxaan ka tagi doonaa cabbirka guga.application.magaca.

Aynu nidhaahno waxaad u baahan tahay inaad ku darto habayn-qorista caadada u ah adeegga, kuwaas oo lagu kaydiyo fayl gaar ah, tusaale ahaan, dib u dhac.xml. Aan u abuurno koox gaar ah oo dejineedkeeda:

Si fudud ugu maamul isku xidhka adeega-yar ee microconfig.io

Qaabeynta aasaasiga ah, waxaan u sheegi doonaa qaabka meesha lagu dhejiyo faylka dejinta dejinta ee aan u baahanahay annaga oo adeegsanayna meel-haye @ConfigDir:

microconfig.template.logback.fromFile: ${logback@configDir}/logback.xml

Faylka ku jira dib u dhac.xml Waxaan dejineynaa lifaaqyada caadiga ah, kuwaas oo sidoo kale ka koobnaan kara meeleeyayaal in qaab-dhismeedku isbeddeli doono inta lagu jiro jiilka habaynta, tusaale ahaan:

<file>logs/${this@name}.log</file>

Adigoo ku dara soo dejinta qaabaynta adeega dib u dhac, waxaan si toos ah u helnaa hab-dhis u-gooynta adeeg kasta:

#include eureka, oracle, logback
server.port: ${ports@order}

Waa markii aad si faahfaahsan u baran lahayd dhammaan kuwa haysta qaab-dhismeedka:

${tan@env} - waxay soo celisaa magaca deegaanka hadda jira.
${…@name} - soo celisa magaca qaybta.
${…@configDir} - waxay ku soo celisaa wadadii buuxday ee hagaha habaynta qaybta.
${…@resultDir} - waxay ku soo celisaa dariiqa buuxda ee tusaha u socdo qaybta (faylalka ka soo baxa waxa lagu dhejin doonaa tusahan).
${this@configRoot} - waxay ku soo celisaa dariiqa buuxda ee tusaha xididka ee dukaanka qaabeynta.

Nidaamku sidoo kale wuxuu kuu ogolaanayaa inaad hesho doorsoomayaasha deegaanka, tusaale ahaan jidka loo maro java:
${env@JAVA_HOME}
Midkoodna, maadaama qaab-dhismeedka uu ku qoran yahay JAVA, waxaan heli karnaa doorsoomayaasha nidaamka la mid ah wacitaanka System ::helProperty iyadoo la isticmaalayo qaab dhismeed sidan oo kale ah:
${[emailka waa la ilaaliyay]}
Waxaa mudan in la xuso taageerada luqadda fidinta Guga EL. Tibaaxaha soo socda ayaa lagu dabaqi karaa qaabeynta:

connection.timeoutInMs: #{5 * 60 * 1000}
datasource.maximum-pool-size: #{${[email protected]} + 10} 

oo waxaad isticmaali kartaa doorsoomayaasha maxalliga ah ee faylasha qaabeynta adoo isticmaalaya odhaahda #var:

#var feedRoot: ${[email protected]}/feed
folder:
 root: ${this@feedRoot}
 success: ${this@feedRoot}/archive
 error: ${this@feedRoot}/error

Sidaa darteed, qaab-dhismeedku waa qalab si cadaalad ah u awood badan oo loogu talagalay hagaajinta hagaajinta iyo qaabeynta dabacsan ee adeeg-yaraha. Qaab-dhismeedku wuxuu si fiican u fuliyaa hawshiisa ugu muhiimsan - baabi'inta koobi-koobida ee goobaha, xoojinta goobaha iyo, natiijada, yaraynta khaladaadka suurtagalka ah, iyada oo kuu oggolaanaysa inaad si fudud isugu darto qaabeynta oo aad u bedesho deegaanno kala duwan.

Haddii aad xiisaynayso qaab-dhismeedkan, waxaan kugula talinayaa inaad booqato boggeeda rasmiga ah oo aad si buuxda u barato dukumeenti, ama qod ilahay halkan.

Source: www.habr.com

Add a comment