Facile administrare microservice configurationes cum microconfig.io

Una praecipuorum quaestionum in evolutione et subsequenti operatione microserviorum est competentis et accurata conformatio earum instantiarum. Opinor, nova compage hoc adiuvare potest microconfig.io. Permittit ut aliqua exercitatione applicationis munerum configurationis satis eleganter solvere.

Si multa parvae operae habes, et unaquaeque earum cum sua configuratione file/linea venit, magna est probabilitas ut errorem in uno ex illis capias, quod difficillime potest sine arte propria et ratio colligationis capere. Praecipuum opus, quod compages sibi ponit, est duplicata instantia conformationis ambitum obscurare, eo quod verisimilitudo minuat errorem augendi.

Intueamur exemplum. Dicamus nos habere applicationem simplex cum configuratione file yaml. Hoc microservire in quavis lingua potest. Videamus quomodo compages huic ministerio applicari possit.

Sed primum, ad maiorem commodum, in idea IDE consilium inane creemus, microconfig.io plugin in eo insertis:

Facile administrare microservice configurationes cum microconfig.io

Plugini launch configurationem constituimus, configuratione defaltam uti potes, sicut in screenshot supra.

Ministerium nostrum ordo appellatur, deinde in novo incepto similem structuram creabimus;

Facile administrare microservice configurationes cum microconfig.io

Pone configurationem lima in folder cum servitio nominis - application.yaml. Omnes microservices in aliquo ambitu iaciuntur, ut, praeter config ad ipsum servitium creando, ambitum ipsum describere necesse est: hoc enim folder creemus. envs et ei fasciculum addas nomine ambitus nostri laboris. Ita, compages imaginum configurationem efficiet pro officiis in ambitu devcum hic modulus in lectis plugin ponitur.

File structure dev.yaml satis simplex erit;

mainorder:
    components:
         - order

Artificium operatur cum conformationibus quae inter se continentur. Pro nostro servitio, nomen pro sodalitate elige mainorder. In compage invenit unumquemque talem coetum applicationum in fasciculo ambiente et figuras pro omnibus illis creat, quas in folders respondentibus invenit.

In servitium occasus file ipsum ordinem Specificare unum tantum modulum nunc:

spring.application.name: order

Nunc curramus plugin et debitam configurationem pro servitio nostro generabit secundum viam in proprietatibus definitis:

Facile administrare microservice configurationes cum microconfig.io

potes accipere per et sine plugin inaugurari, simpliciter deprimens compagem distributionis et currens ex linea mandatorum.
Haec solutio usibus apta servo aedificato est.

Notatu dignum est quod compagem perfecte intelligit rerum syntaxi, id est, fasciculi proprietatis ordinariae quae simul in usu esse possunt yaml figurarum.

Addamus aliud servitium pretium et inpediunt existentem.
Π’ ordinem:

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

Π’ pretium:

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

Praecipuum problema cum his configurationibus praesentia est magna copia crustulum exemplarium in uncinis servitutis. Videamus quomodo compages proderit ad tollendum. Sit scriptor maxime conspicuum incipere - praesentia configurationis eureka in descriptione uniuscuiusque microservice. Novam directorium cum uncinis fasciculi faciamus et novam illi conformationem addamus:

Facile administrare microservice configurationes cum microconfig.io

Nunc addamus lineam ad singula incepta nostra #include eureka.

Artus automatice configurationem eurecam inveniet et eam ad imaginum figurarum usus describet, cum separatio eureka figuratio non creabitur, quandoquidem eam in fasciculo ambitu non definiemus. dev.yaml. Срвис ordinem:

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

Possumus etiam movere occasus datorum in configurationem separatum, mutato importare lineam ad #include eureka, oraculum.

Notatu dignum est singulas tabulas regenerare, cum limae configurationis regenerare, ab compage investigari et in speciali fasciculo iuxta limam principalem conformationem collocari. Ingressus in stipes eius similis est: β€œRepono 1 proprietas mutatur ad . order/diff-application.yaml" Hoc tibi permittit ut mutationes magnas conformationis imaginum cito deprehendas.

Communes partes configurationis removere te permittit ut multum supervacuum crustulum exsolvas, sed non permittit te molliter conformationem facere pro diversis ambitibus - fines officiorum nostrorum singularia et dura-codeda, hoc malum est. Hoc auferre conemur.

Bona solutio erit omnes terminos in una configuratione servare omnes alios referendos esse. Ad hanc rem subsidia locatoribus in ambitum introducta sunt. Hoc est quomodo lima configurationem mutabit eureka:

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

Nunc videamus quomodo placens hic operatur. Systema invenit componentis nomine endpoints et vultus significatio in eo eurekaipac deinde in nostram configurationem substituit. Sed quid de variis ambitibus? Hoc facere, lima occasus crea in endpoints hoc genus application.dev.yaml. Artus independenter, in extensione tabella innixus, decernit quaenam rerum haec conformatio pertineat et onerat:

Facile administrare microservice configurationes cum microconfig.io

Dev tabella contenta:

eurekaip: 192.89.89.111
dbip: 192.168.0.100

Eundem conformationem efficere possumus pro portuum nostrorum officiorum;

server.port: ${ports@order}.

Omnes unctiones magni momenti in uno loco sunt, inde verisimilitudo errorum reducens ob parametros dispersos in imaginum conformatione.

In compage multa praeparatoria locatorum praebet, exempli gratia, nomen indicem in quo tabella configurationis sita est et assignare potes;

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

Propter hoc opus non est nomen applicationis in schemate definire ac etiam in communi modulo collocari, exempli gratia, in eadem eureka:

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

Configuratio lima ordinem redigentur ad unam lineam;

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

Si non indigemus aliquo obitus e configuratione parente, id in schemate nostro definire possumus et in generatione applicabitur. Hoc est, si aliqua de causa nomen singulare pro ordine muneris indigemus, modulum modo relinquemus spring.application.name.

Dicamus te necesse esse addere consuetudinis uncinis colligationes ad ministerium, quae in singulis fasciculis reponuntur, v.gr. logback.xml. Disiunctos occasus pro eo creare faciamus:

Facile administrare microservice configurationes cum microconfig.io

In fundamentali configuratione, compagem indicabimus ubi uncinis aperiendis uncinis usibus necessariis utendo @ConfigDir:

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

In file logback.xml vexillum appendentes configuramus, quae vicissim etiam locatores continere possunt compagem in generatione confiforum mutare, exempli gratia:

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

Addendo import ad configurationes servitium logback, sponte colligationem ad unumquemque servitium conformatum accipimus:

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

Tempus est ut diligentius perspiciamus omnia quae praesto sunt compage:

${hoc@env} β€” Praesens nomen refert ambitus.
${…@nomen} β€” Redit nomen componentis.
${…@configDir} β€” refert plenam viam ad directorium config componentis.
${…@resultDir} - refert plenam semitam ad directorium destinatum componentis (quae inde lima in hoc indice ponentur).
${hoc@configRoot} - refert plenam semitam ad radices directorium configurationis copia.

Systema etiam permittit ut variabiles ambitus obtineas, exempli gratia iter ad Java:
${env@JAVA_HOME}
Aut, cum idem scriptum est Java, possumus variabiles systematis vocationi similes Systema:: getProperty utens structura sic:
${[Inscriptio protected]}
Memorabile est auxilium pro extensione linguae Ver EL. Locutiones sequentes in schemate applicabiles sunt:

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

et uti potes locali variabilium in configuration lima utens expressione #var:

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

Ita compages instrumentum satis validum est ad bene-tunationem et flexibilem configurationem microserviorum. Artus perfecte suum munus principale adimplet - exemplum crustulum eliminans in uncinis, uncinis consolidantibus et, consequenter, errores possibilis obscurando, dum permittit te facile coniungi figuras et eas in varias ambitus mutare.

Si interesse in hoc compage, suadeo ut paginam officialem invisens et plenam cognoscat documentumaut in fontes fodere hic.

Source: www.habr.com