Fionnachtain Seirbhíse i gcórais dáilte ag baint úsáide as an sampla Consal. Alexander Sigachev

Molaim duit an athscríbhinn de thuarascáil Alexander Sigachev Discovery Service a léamh i gcórais dáilte ag baint úsáide as Consal mar shampla.

Cruthaíodh Fionnachtain Seirbhíse ionas gur féidir leat feidhmchlár nua a nascadh lenár dtimpeallacht reatha ar an gcostas is lú. Trí úsáid a bhaint as Service Discovery, is féidir linn coimeádán docker nó seirbhís fhíorúil a scaradh ón timpeallacht ina bhfuil sé ar siúl.

Cuirim fáilte roimh chách! Is mise Alexander Sigachev, táim ag obair le Inventos. Agus inniu beidh mé in aithne duit a leithéid de choincheap mar Fhionnachtain Seirbhíse. Breathnaímid ar Fhionnachtain Seirbhíse ag baint úsáide as Consal mar shampla.

Fionnachtain Seirbhíse i gcórais dáilte ag baint úsáide as an sampla Consal. Alexander Sigachev

Cad iad na fadhbanna a réitíonn Seirbhís Fionnachtana? Cruthaíodh Fionnachtain Seirbhíse ionas gur féidir leat feidhmchlár nua a nascadh lenár dtimpeallacht reatha ar an gcostas is lú. Trí úsáid a bhaint as Service Discovery, is féidir linn coimeádán docker nó seirbhís fhíorúil a scaradh ón timpeallacht ina bhfuil sé ar siúl.

Cén chosúlacht atá air? I sampla clasaiceach ar an ngréasán, is é seo an ceann tosaigh a ghlacann le hiarratas an úsáideora. Ansin bealaí sé chuig an inneall é. Sa sampla seo, cothromaíonn an t-ualach-cothromóir seo dhá inneall.

Fionnachtain Seirbhíse i gcórais dáilte ag baint úsáide as an sampla Consal. Alexander Sigachev

Anseo feicimid go bhfuil an tríú húsc den iarratas á sheoladh againn. Dá réir sin, nuair a thosaíonn an t-iarratas, cláraíonn sé le Service Discovery. Tugann Service Discovery fógra don lódchothromóir. Athraíonn an t-ualach-chothromóir a chumraíocht go huathoibríoch agus cuirtear an t-inneall nua i bhfeidhm. Ar an mbealach seo, is féidir backends a chur leis, nó, os a choinne sin, a eisiamh ón obair.

Fionnachtain Seirbhíse i gcórais dáilte ag baint úsáide as an sampla Consal. Alexander Sigachev

Cad eile atá áisiúil a dhéanamh le Fionnachtain Seirbhíse? Is féidir le Service Discovery cumraíochtaí nginx, teastais, agus liosta de fhreastalaithe inneall gníomhacha a stóráil.

Fionnachtain Seirbhíse i gcórais dáilte ag baint úsáide as an sampla Consal. Alexander SigachevLigeann Fionnachtain Seirbhíse duit teipeanna a bhrath agus teipeanna a bhrath freisin. Cad iad na scéimeanna féideartha chun teipeanna a bhrath?

  • Cuireann an feidhmchlár seo a d’fhorbair muid go huathoibríoch in iúl do Service Discovery go bhfuil sé fós ag feidhmiú.
  • Déanann Service Discovery, as a chuid féin, vótaíocht ar an iarratas ar infhaighteacht.
  • Nó bainimid úsáid as script nó feidhmchlár tríú páirtí a sheiceálann ár n-iarratas ar infhaighteacht agus a chuireann in iúl don Fhionnachtain Seirbhíse go bhfuil gach rud ceart go leor agus gur féidir leis oibriú, nó, ar an taobh eile, go bhfuil gach rud go dona agus ní mór an t-iarratas seo a eisiamh ón gcothromaíocht.

Is féidir gach ceann de na scéimeanna a úsáid ag brath ar na bogearraí a úsáidimid. Mar shampla, tá muid díreach tosaithe ar thionscadal nua a fhorbairt, ansin is féidir linn scéim a sholáthar go héasca nuair a chuireann ár n-iarratas in iúl don Fhionnachtain Seirbhíse. Nó is féidir linn a nascadh go bhfuil Discovery Seirbhíse á sheiceáil.

Má fuair muid an t-iarratas le hoidhreacht nó má d'fhorbair duine éigin eile é, ansin tá an tríú rogha oiriúnach anseo, nuair a scríobhaimid láimhseálaí, agus tagann sé seo go léir isteach inár gcuid oibre go huathoibríoch.

Fionnachtain Seirbhíse i gcórais dáilte ag baint úsáide as an sampla Consal. Alexander Sigachev

Seo sampla amháin. Atosaítear an t-ualach-chothromóir i bhfoirm nginx. Is fóntais roghnach é seo a chuirtear ar fáil le Consal. Teimpléad consal é seo. Déanaimid cur síos ar an riail. Deirimid go bhfuil muid ag baint úsáide as teimpléad (Golang Template Engine). Nuair a tharlaíonn teagmhais, nuair a bhíonn fógraí go bhfuil athruithe tar éis tarlú, déantar é a athghiniúint agus seoltar an t-ordú “athlódáil” chuig Service Discovery. Is é an sampla is simplí nuair a dhéantar nginx a athchumrú ag imeacht agus a atosú.

Fionnachtain Seirbhíse i gcórais dáilte ag baint úsáide as an sampla Consal. Alexander Sigachev

Cad is Consal ann?

  • Ar an gcéad dul síos, is é seo Fionnachtain Seirbhíse.

  • Tá meicníocht seiceála infhaighteachta aige - Seiceáil Sláinte.

  • Tá Stór KV aige freisin.

  • Agus tá sé bunaithe ar an gcumas Il Datacenter a úsáid.

Cad chuige ar féidir é seo go léir a úsáid? Sa KV Store is féidir linn cumraíochtaí samplacha a stóráil. Seiceáil Sláinte is féidir linn an tseirbhís áitiúil a sheiceáil agus fógra a thabhairt. Úsáidtear Multi Datacenter ionas gur féidir léarscáil seirbhíse a thógáil. Mar shampla, tá roinnt criosanna agus bealaí tráchta ag Amazon ar an mbealach is fearr is féidir ionas nach mbeidh aon iarrataí neamhriachtanacha idir ionaid sonraí, a ghearrtar ar leithligh ó thrácht áitiúil agus, dá réir sin, tá níos lú latency acu.

Fionnachtain Seirbhíse i gcórais dáilte ag baint úsáide as an sampla Consal. Alexander Sigachev

Tuigimid beagán faoi na téarmaí a úsáidtear i gConsal.

  • Is seirbhís é Consal atá scríofa in Go. Ceann de na buntáistí a bhaineann le clár Téigh ná 1 chomhad dénártha nach bhfuil tú ach ag íoslódáil. Seolta ó áit ar bith agus níl aon spleáchais agat.
  • Ansin, ag baint úsáide as na heochracha, is féidir linn an tseirbhís seo a thosú i mód cliant nó i mód freastalaí.
  • Chomh maith leis sin, ceadaíonn an tréith “datacenter” duit bratach a shocrú cén lárionad sonraí lena mbaineann an freastalaí seo.
  • Comhdhearcadh – bunaithe ar phrótacal an rafta. Má tá suim ag éinne, is féidir leat tuilleadh a léamh faoi seo ar shuíomh Gréasáin an Chonsal. Is prótacal é seo a ligeann duit an ceannaire a chinneadh agus a chinneadh cén t-airgead a mheastar a bheith bailí agus inrochtana.
  • Is prótacal é Gossip a chumasaíonn idirghníomhú idir nóid. Thairis sin, tá an córas seo díláraithe. Laistigh de lárionad sonraí amháin, déanann gach nóid cumarsáid lena gcomharsana. Agus, dá réir sin, tarchuirtear faisnéis faoin staid reatha chuig a chéile. Is féidir linn a rá go bhfuil sé seo gossip idir comharsana.
  • Gossip LAN – malartú sonraí áitiúil idir comharsana laistigh den ionad sonraí céanna.
  • WAN Gossip - a úsáidtear nuair is gá dúinn faisnéis a shioncrónú idir dhá ionad sonraí. Sreabhann faisnéise idir nóid atá marcáilte mar fhreastalaí.
  • RPC – ligeann sé duit iarratais a fhorghníomhú trí chliant ar fhreastalaí.

Cur síos ar RPC. Ligean le rá go bhfuil Consal ag rith mar chliant ar mheaisín fíorúil nó ar fhreastalaí fisiceach. Déanaimid teagmháil leis go háitiúil. Agus ansin iarrann an cliant áitiúil faisnéis ón bhfreastalaí agus déantar é a shioncronú. Ag brath ar na socruithe, is féidir faisnéis a aisghabháil ón taisce áitiúil, nó is féidir í a shioncronú leis an gceannaire, leis an máistir freastalaí.

Tá buntáistí agus míbhuntáistí ag baint leis an dá scéim seo. Má oibrímid le taisce áitiúil, ansin tá sé tapa. Má oibrímid le sonraí atá stóráilte ar an bhfreastalaí, tógann sé níos faide, ach faighimid faisnéis níos ábhartha.

Fionnachtain Seirbhíse i gcórais dáilte ag baint úsáide as an sampla Consal. Alexander Sigachev

Má thaispeánann tú é seo go grafach, is é seo pictiúr an tsuímh. Feicimid go bhfuil triúr máistreachta againn ag rith. Tá ceann amháin marcáilte le réiltín mar cheannaire. Sa sampla seo, tá trí chliaint ann a mhalartaíonn faisnéis go háitiúil trí UDP/TCP. Agus aistrítear faisnéis idir ionaid sonraí idir freastalaithe. Anseo idirghníomhaíonn cliaint lena chéile go háitiúil.

Fionnachtain Seirbhíse i gcórais dáilte ag baint úsáide as an sampla Consal. Alexander Sigachev

Cén API a sholáthraíonn Consal? Chun faisnéis a fháil, tá dhá chineál API ag Consal.

Is é seo an DNS API. De réir réamhshocraithe, ritheann Consal ar phort 8600. Is féidir linn seachfhreastalaí iarratais a chumrú agus rochtain a sholáthar trí réiteach áitiúil, trí DNS áitiúil. Is féidir linn fiosrú de réir fearainn agus faisnéis seolta IP a fháil mar fhreagra.

HTTP API - nó is féidir linn faisnéis a iarraidh go háitiúil faoi sheirbhís shonrach ar phort 8500 agus freagra JSON a fháil, cén IP atá ag an bhfreastalaí, cén óstach, cén port atá cláraithe. Agus is féidir faisnéis bhreise a tharchur trí chomhartha.

Fionnachtain Seirbhíse i gcórais dáilte ag baint úsáide as an sampla Consal. Alexander Sigachev

Cad is gá duit a rith Consal?

Sa chéad rogha, i mód forbróra cuirimid in iúl don bhratach gur mód forbróra é seo. Tosaíonn Gníomhaire mar fhreastalaí. Agus comhlíonann sé an fheidhm iomlán go neamhspleách ar mheaisín amháin. Áisiúil, tapa agus beagnach aon socruithe breise ag teastáil don chéad tús.

Is é an dara modh seoladh i dtáirgeadh. Is é seo an áit a éiríonn beagán casta ag tosú amach. Mura bhfuil aon leagan den chonsal againn, ní mór dúinn an chéad mheaisín a thabhairt isteach i bootstrap, ie an meaisín seo, a ghlacfaidh freagrachtaí an cheannaire. Ardaímid é, ansin ardaíonn muid an dara cás den fhreastalaí, ag tabhairt faisnéise dó áit a bhfuil ár máistir suite. Ardaímid an tríú ceann. Tar éis dúinn trí mheaisín a bheith ar bun, déanaimid é a atosú i mód gnáth ar an gcéad mheaisín ón bootstrap reatha. Déantar na sonraí a shioncronú agus tá an braisle tosaigh suas cheana féin.

Moltar trí nó seacht gcinn a rith i mód an fhreastalaí. Tá sé seo mar gheall ar an bhfíric, má thagann méadú ar líon na bhfreastalaithe, go dtiocfaidh méadú ar an am chun faisnéis a shioncronú eatarthu. Caithfidh líon na nóid a bheith corr chun córam a chinntiú.

Fionnachtain Seirbhíse i gcórais dáilte ag baint úsáide as an sampla Consal. Alexander Sigachev

Conas a chuirtear Seiceálacha Sláinte ar fáil? Scríobhaimid riail fíoraithe i bhfoirm Json san eolaire cumraíochta Consal. Is é an chéad rogha infhaighteacht an fhearainn google.com sa sampla seo. Agus deirimid gur gá an seiceáil seo a dhéanamh ag eatraimh de 30 soicind. Ar an mbealach seo déanaimid seiceáil go bhfuil rochtain ag ár nód ar an líonra seachtrach.

Is é an dara rogha ná tú féin a sheiceáil. Bainimid úsáid as curl rialta chun localhost a ghlaoch ar an gcalafort sonraithe ag eatraimh 10 soicind.

Déantar achoimre ar na seiceálacha seo agus seoltar iad chuig Service Discovery. Bunaithe ar infhaighteacht, tá na nóid seo eisiata nó le feiceáil ar an liosta de na meaisíní atá ar fáil agus a oibríonn i gceart.

Fionnachtain Seirbhíse i gcórais dáilte ag baint úsáide as an sampla Consal. Alexander Sigachev

Soláthraíonn Consal comhéadan Chomhéadain freisin, a sheoltar le bratach ar leith agus a bheidh ar fáil ar an meaisín. Ligeann sé seo duit féachaint ar fhaisnéis agus is féidir leat roinnt athruithe a dhéanamh freisin.

Sa sampla seo, tá an táb “Seirbhís” oscailte. Léirítear go bhfuil trí sheirbhís á reáchtáil, Consal ar cheann acu. Líon na seiceálacha a rinneadh. Agus tá trí ionad sonraí ina bhfuil na meaisíní suite.

Fionnachtain Seirbhíse i gcórais dáilte ag baint úsáide as an sampla Consal. Alexander Sigachev

Is sampla é seo den chluaisín Nóid. Feicimid go bhfuil ainmneacha cumaisc acu a bhaineann le hionaid sonraí. Léiríonn sé freisin cé na seirbhísí atá á rith, i.e. feicimid nach bhfuil aon chlibeanna socraithe. Is féidir leis na clibeanna breise seo roinnt faisnéise a sholáthar a fhéadfaidh an forbróir a úsáid chun paraiméadair bhreise a shonrú.

Is féidir leat freisin faisnéis a tharchur chuig Consal faoi stádas na dioscaí agus an meán-ualach.

ceisteanna

Ceist: Tá coimeádán docker againn, conas é a úsáid le Consal?

Freagra: Tá roinnt cur chuige ann maidir le coimeádán docker. Ceann de na cinn is coitianta ná coimeádán duga tríú páirtí a úsáid atá freagrach as clárú. Ag am tosaithe, cuirtear soicéad duga ar aghaidh chuige. Déantar gach imeacht clárúcháin agus dífhoilsithe coimeádán a thaifeadadh sa Chonsal.

Ceist: Mar sin cuireann an Consal féin tús leis an gcoimeádán docker?

Freagra: Níl. Táimid ag rith coimeádán docker. Agus nuair a chumrú cuirimid in iúl - éisteacht le den sórt sin agus den sórt sin soicéad. Tá sé seo beagnach mar an gcéanna leis an gcaoi a n-oibrímid le teastas, nuair a uaslódálann muid faisnéis faoin áit agus faoin méid atá againn.

Ceist: Tharlaíonn sé go raibh taobh istigh den choimeádán Docker go bhfuil muid ag iarraidh a nascadh le Discovery Seirbhíse ba chóir go mbeadh cineál éigin de loighic is féidir sonraí a sheoladh chuig Consal?

Freagra: Níl i ndáiríre. Nuair a thosaíonn sé, cuirimid athróga tríd an athróg timpeallachta. Ligean le rá ainm seirbhíse, port seirbhíse. Éisteann an clár leis an bhfaisnéis seo agus cuireann sé isteach sa Chonsal é.

Ceist: Tá ceist eile agam faoin Chomhéadain. Rinneamar an Chomhéadain a imscaradh, mar shampla, ar fhreastalaí táirgeachta. Cad faoi shlándáil? Cá bhfuil na sonraí stóráilte? An féidir sonraí a charnadh ar bhealach éigin?

Freagra: Sa Chomhéadain tá sonraí ón mbunachar sonraí agus ó Service Discovery. Shocraigh muid pasfhocail sna socruithe sinn féin.

Ceist: An féidir é seo a fhoilsiú ar an Idirlíon?

Freagra: De réir réamhshocraithe, tosaíonn Consal ar localhost. Chun foilsiú ar an Idirlíon, beidh ort seachfhreastalaí de chineál éigin a shuiteáil. Táimid freagrach as ár rialacha sábháilteachta féin.

Ceist: An soláthraíonn sé sonraí stairiúla as an mbosca? Tá sé suimiúil breathnú ar na staitisticí maidir le Seiceálacha Sláinte. Is féidir leat fadhbanna a dhiagnóiseadh freisin má theipeann ar an bhfreastalaí go minic.

Freagra: Níl mé cinnte go bhfuil sonraí seiceálacha ann.

Ceist: Níl an staid reatha chomh tábhachtach leis an dinimic.

Freagra: Le haghaidh anailíse – tá.

Ceist: An bhfuil sé níos fearr gan Discovery Service for Consal docker a úsáid?

Freagra: Ní mholfainn é a úsáid. Is é cuspóir na tuarascála a chur in iúl cén coincheap atá ann. Go stairiúil, rinne sé a bhealach, i mo thuairim, chuig an 1ú leagan. Anois tá réitigh níos iomláine ann, mar shampla, Kubernetes, a bhfuil seo go léir faoin gcochall. Mar chuid de Kubernetes Service Discovery tá sé níos lú ná Etcd. Ach níl mé chomh eolach air is atá mé ar Chonsal. Mar sin, chinn mé Fionnachtain Seirbhíse a dhéanamh ag baint úsáide as Consal mar shampla.

Ceist: Nach gcuireann an scéim le freastalaí ceannaire tús leis an bhfeidhmchlár ina iomláine? Agus conas a chinneann Consal ceannaire nua má tá an ceann seo suite?

Freagra: Tá cur síos ar phrótacal iomlán acu. Má tá suim agat, is féidir leat é a léamh.

Ceist: Feidhmíonn Consal mar fhreastalaí lán-chuimsitheach dúinn agus gach iarratas ag eitilt tríd?

Freagra: Ní fheidhmíonn sé mar fhreastalaí lán-chuimsitheach, ach glacann sé thar chrios ar leith. De ghnáth críochnaíonn sé le service.consul. Agus ansin táimid ag dul ar aghaidh go loighciúil. Ní úsáidimid ainmneacha fearainn i dtáirgeadh, ach an bonneagar inmheánach, a bhíonn i bhfolach taobh thiar de thaisce freastalaí de ghnáth má oibrímid ag baint úsáide as DNS.

Ceist: Is é sin, más mian linn rochtain a fháil ar bhunachar sonraí, ansin in aon chás beidh muid ag tarraingt Consal chun teacht ar an mbunachar sonraí seo ar dtús, ceart?

Freagra: Tá. Má oibrímid ag baint úsáide as DNS, ansin oibríonn sé mar an gcéanna gan Consal nuair a úsáidimid ainmneacha DNS. De ghnáth, ní tharraingíonn feidhmchláir nua-aimseartha an t-ainm fearainn i ngach iarratas, mar gheall ar shuiteáil muid ceangal, oibríonn gach rud agus go luath amach anseo ní féidir linn é a úsáid go praiticiúil. Má tá an nasc briste, ansin tá, fiafraíonn muid arís cá bhfuil ár mbonn agus téigh chuige.

comhrá táirge hashicorp - Comhrá úsáideora Hashicorp: Consal, Nomad, Terraform

P.S. Maidir le seiceálacha sláinte. Úsáideann Consal, cosúil le Kubernetes, an córas céanna chun stádas marthanachta seirbhíse a sheiceáil bunaithe ar stádas cóid.

200 OK for healthy
503 Service Unavailable for unhealthy

Foinsí:
https://www.consul.io/docs/agent/checks.html
https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/
https://thoslin.github.io/microservice-health-check-in-kubernetes/

Foinse: will.com

Add a comment