Fa'afaigofie ona pulea fa'atonuga microservice ile microconfig.io

O se tasi o faʻafitauli autu i le atinaʻeina ma le faʻaogaina mulimuli ane o microservices o le faʻatulagaina lelei ma le saʻo o latou tulaga. I lo'u manatu, e mafai ona fesoasoani se auivi fou i lenei mea microconfig.io. E fa'ataga ai oe e fo'ia nisi o galuega fa'atulagaina masani o fa'atonuga fa'apitoa.

Afai e tele au microservices, ma o latou taʻitasi e sau ma lana lava faila / faila faila, ona i ai lea o se avanoa maualuga e faia ai se mea sese i se tasi oi latou, lea e mafai ona faigata tele ona puʻeina e aunoa ma se tomai talafeagai ma se faiga faʻapipiʻi. O le galuega autu o loʻo faʻatulagaina e le auivi mo ia lava o le faʻaitiitia o faʻataʻitaʻiga faʻataʻitaʻiga faʻalua, faʻaitiitia ai le faʻaopoopoina o se mea sese.

Seʻi o tatou vaavaai i se faaaʻoaʻoga. Fa'apea o lo'o i ai sau talosaga faigofie ma se faila faila yaml. E mafai ona avea ma so'o se microservice i so'o se gagana. Se'i va'ai pe fa'apefea ona fa'aoga le fa'ava'a i lenei tautua.

Ae muamua, mo le sili atu le faigofie, seʻi o tatou faia se galuega gaogao i Idea IDE, pe a uma ona faʻapipiʻi le microconfig.io plugin i totonu:

Fa'afaigofie ona pulea fa'atonuga microservice ile microconfig.io

Matou te setiina le faʻapipiʻiina o le faʻapipiʻi faʻapipiʻi, e mafai ona e faʻaogaina le faʻaogaina le faʻaogaina, e pei o le faʻamalama i luga.

O la matou tautua e taʻua o le faʻatonuga, ona matou faia lea i se galuega fou se fausaga tutusa:

Fa'afaigofie ona pulea fa'atonuga microservice ile microconfig.io

Tuu le faila faatulagaina i totonu o le pusa ma le igoa o le auaunaga - talosaga.yaml. O microservices uma e faʻalauiloaina i se ituaiga o siosiomaga, o lea, i le faaopoopo atu i le fatuina o se config mo le auaunaga lava ia, e tatau ona faʻamatalaina le siosiomaga lava ia: mo lenei mea o le a matou fatuina se faila. envs ma fa'aopoopo i ai se faila ma le igoa o lo tatou siosiomaga faigaluega. O lea la, o le auivi o le a fatuina faila faila mo auaunaga i le siosiomaga dev, talu ai o lenei parakalafa o loʻo faʻatulagaina i le faʻapipiʻi faʻapipiʻi.

Faiga faila dev.yaml o le a fai si faigofie:

mainorder:
    components:
         - order

O lo'o galue le fa'ava'a ma fa'atonuga e fa'apotopoto fa'atasi. Mo la matou auaunaga, filifili se igoa mo le vaega fa'atonuga. E maua e le auivi ia vaega taʻitasi o talosaga i le faila o le siosiomaga ma fatuina faʻasalalauga mo i latou uma, lea e maua i totonu o laupepa tutusa.

I totonu o le faila faatulagaga o auaunaga lava ia Poloaiga Sei o tatou fa'amaoti na'o le tasi le parakalafa mo le taimi nei:

spring.application.name: order

Seʻi o tatou taʻavale le plugin, ma o le a faʻatupuina le faʻatulagaina manaʻomia mo la tatou auaunaga e tusa ai ma le ala o loʻo faʻamaonia i meatotino:

Fa'afaigofie ona pulea fa'atonuga microservice ile microconfig.io

mafai alu atu ma e aunoa ma le faʻapipiʻiina o se mea faʻapipiʻi, naʻo le siiina mai o le faʻasalalauga faʻavae ma faʻagasolo mai le laina faʻatonu.
O lenei fofo e talafeagai mo le faʻaogaina i luga o se fale faʻapipiʻi.

E taua le matauina o le auivi malamalama atoatoa meatotino syntax, o lona uiga, faila meatotino masani e mafai ona faʻaoga faʻatasi i totonu yaml fetuutuunaiga.

Sei o tatou faaopoopo i ai se isi auaunaga totogi ma faafaigata le mea o iai.
В Poloaiga:

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

В totogi:

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

O le faʻafitauli autu i nei faʻatonuga o le i ai lea o le tele o kopi-faʻapipiʻi i totonu o le tautua. Se'i tatou va'ai pe fa'apefea ona fesoasoani le auivi e fa'aumatia ai. Sei o tatou amata i le mea sili ona manino - o le i ai o le faʻatulagaina eureka i le faʻamatalaga o microservice taʻitasi. Sei o tatou faia se lisi fou ma le faila seti ma faaopoopo i ai se faatulagaga fou:

Fa'afaigofie ona pulea fa'atonuga microservice ile microconfig.io

Ma o lea sei o tatou faaopoopo le laina i a tatou galuega faatino taitasi #e aofia ai le eureka.

O le auivi o le a otometi lava ona maua le eureka configuration ma kopi i le faila o le auʻaunaga, ae o le a le faia se isi faʻatulagaga eureka, talu ai matou te le faʻamaonia i le faila o le siosiomaga. dev.yaml. Auaunaga Poloaiga:

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

E mafai fo'i ona matou fa'anofoina fa'amaumauga tu'ufa'atasiga i se isi fa'aopoopo e ala i le suia o le laina fa'aulufale mai i #e aofia ai le eureka, tautala.

E taua le maitauina o le faʻavae e siaki suiga taʻitasi pe a toe faʻafouina faila faʻatulagaina ma tuʻu i totonu o se faila faʻapitoa i tafatafa o le faila faʻatulagaina autu. O le faʻamatalaga i totonu o lana ogalaau e pei o lenei: "Teuina 1 meatotino suia i order/diff-application.yaml" O lenei mea e mafai ai e oe ona vave iloa suiga i faila lapopoa.

O le aveeseina o vaega masani o le faʻatulagaga e mafai ai ona e faʻaumatia le tele o kopi-faʻapipiʻi le manaʻomia, ae e le faʻatagaina oe e faʻafaigofie ona faia se faʻatulagaga mo siosiomaga eseese - o faʻaiʻuga oa matou 'auʻaunaga e tulaga ese ma faigata-faʻailoga, e leaga lenei. Tatou taumafai e aveese lenei mea.

O se vaifofo lelei o le tausia lea o fa'ai'uga uma i se fa'atulagaga e mafai e isi ona fa'asino i ai. Mo lenei fa'amoemoe, ua fa'aofi mai le lagolago mo tagata e tu'uina atu i totonu o le auivi. O le auala lea o le a suia ai le faila faʻatulagaina eureka:

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

Se'i o tatou va'ai pe fa'afefea ona fa'aogaina lenei mea fa'apipi'i. E maua e le faiga se vaega e igoa iʻuga ma vaavaai mo lona uiga eurekaip, ona sui lea i la tatou faatulagaga. Ae faapefea siosiomaga eseese? Ina ia faia lenei mea, fai se faila faila i totonu iʻuga le ituaiga lea application.dev.yaml. O le auivi tuto'atasi, e fa'avae i luga o le fa'aopoopoga o faila, e filifili po'o fea le si'osi'omaga e iai lenei fa'atulagaga ma utaina ai:

Fa'afaigofie ona pulea fa'atonuga microservice ile microconfig.io

Dev faila i totonu:

eurekaip: 192.89.89.111
dbip: 192.168.0.100

E mafai ona matou faia le faatulagaga tutusa mo taulaga oa matou auaunaga:

server.port: ${ports@order}.

O faʻatulagaga taua uma o loʻo i totonu o le nofoaga e tasi, ma faʻaitiitia ai le avanoa o mea sese ona o faʻasalalauga faʻasalalau i faila faila.

O le faʻavaa e maua ai le tele o mea e tuʻuina atu, mo se faʻataʻitaʻiga, e mafai ona e mauaina le igoa o le lisi o loʻo i ai le faila faila ma tuʻuina atu:

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

Faʻafetai i lenei mea, e leai se mea e manaʻomia e faʻamaonia ai le igoa ole talosaga ile faʻatulagaina ma e mafai foi ona tuʻuina i se faʻaoga masani, mo se faʻataʻitaʻiga, i le eureka tutusa:

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

Le faila faatulagaina Poloaiga o le a fa'aitiitia i le laina e tasi:

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

Afai tatou te le manaʻomia soʻo se faʻatulagaga mai le faʻatulagaga matua, e mafai ona matou faʻamaonia i la matou faʻatulagaga ma o le a faʻaaogaina i le taimi o le augatupulaga. O lona uiga, afai mo nisi mafuaʻaga matou te manaʻomia ai se igoa tulaga ese mo le faʻatonuga o le tautua, matou te tuʻua le parakalafa spring.application.name.

Fa'apea e te mana'omia le fa'aopoopoina o fa'amaumauga tu'ufa'atasiga i le 'au'aunaga, o lo'o teuina i se isi faila, mo se fa'ata'ita'iga, logback.xml. Sei o tatou faia se vaega eseese o faatulagaga mo ia:

Fa'afaigofie ona pulea fa'atonuga microservice ile microconfig.io

I le faʻatulagaga faʻavae, matou te taʻuina atu le faʻavae poʻo fea e tuʻu ai le faila faʻapipiʻi faʻapipiʻi matou te manaʻomia e faʻaaoga ai se mea e teu ai @ConfigDir:

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

I le faila logback.xml matou te faʻapipiʻiina mea faʻapipiʻi masani, lea e mafai foi ona i ai ni mea e tuʻu ai mea o le a suia le faʻavae i le taimi o le fausiaina o configs, mo se faʻataʻitaʻiga:

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

E ala i le fa'aopoopoina o le fa'aulufale mai i fa'atonuga o auaunaga toe fa'afo'i, e otometi lava ona matou fa'apipi'i fa'amaumauga mo auaunaga ta'itasi:

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

Ua oʻo i le taimi e faʻamasani atili ai i auʻiliʻiliga uma o loʻo avanoa avanoa o le faʻavae:

${this@env} - toe faafoi le igoa o le siosiomaga o loʻo iai nei.
${…@igoa} — toe faafoi le igoa o le vaega.
${…@configDir} - toe fa'afo'i le ala atoa i le fa'atonuga o le vaega.
${…@resultDir} - toe fa'afo'i le ala atoa i le lisi o mea e alu i ai (o le a tu'u faila i totonu o le lisi lea).
${this@configRoot} - toe faafoi le ala atoa i le root directory o le faleoloa faatulagaina.

O le faiga e mafai ai foi ona e maua suiga o le siosiomaga, mo se faʻataʻitaʻiga le ala i java:
${env@JAVA_HOME}
Poo le, talu ai o le fa'avae ua tusia i totonu JAVA, e mafai ona tatou maua suiga faiga tutusa ma le valaau System::getProperty faʻaaogaina se fausaga e pei o lenei:
${[imeli puipuia]}
E taua le ta'ua o le lagolago mo le gagana fa'alautele Tautotogo EL. O fa'amatalaga nei e fa'atatau i le fa'atulagaga:

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

ma e mafai ona e faʻaogaina suiga faʻapitonuʻu i faila faila e faʻaaoga ai le faʻamatalaga #var:

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

O le mea lea, o le faʻavae o se meafaigaluega malosi tele mo le faʻaogaina lelei ma le fetuutuunai faʻatulagaina o microservices. E faʻataunuʻu atoatoa e le faʻavae lana galuega autu - faʻaumatia kopi-faʻapipiʻi i faʻatulagaga, faʻamalosia tulaga ma, o se taunuuga, faʻaitiitia mea sese, aʻo faʻatagaina oe e faigofie ona tuʻufaʻatasia faʻasalalauga ma suia mo siosiomaga eseese.

Afai e te fiafia i lenei faʻavae, ou te fautuaina e asiasi i lona itulau aloaia ma faamasani i le atoatoa fa'amaumauga, pe eli i puna iinei.

puna: www.habr.com

Faaopoopo i ai se faamatalaga