Mikropakalpojumu stāvoklis saskaņā ar Temporal Technologies

  • Jul 19, 2023

Inženiertehniskie risinājumi mezglu kļūmēm ir ļoti svarīgi, lai mākoņprogrammas varētu turpināt darbu. Temporal nozog lapu no Java vēstures ar starpprogrammatūru stāvokļa pārvaldībai, kas paredzēta kļūmju novēršanai.

pulkstenis.jpg
Shutterstock

Paredzams, ka galalietotājam mākoņpakalpojumi vienkāršo dzīvi un nodrošina lielāku veiklību. Tomēr izstrādātājam tie var padarīt dzīvi daudz sarežģītāku to izplatītā rakstura dēļ. Viens no izaicinājumiem ir stāvokļa pārvaldība, kas ir otrs raksturs datu bāzu praktiķiem, bet ne vienmēr lietotņu izstrādātājiem. Tas ir tas izaicinājums Temporālās tehnoloģijas ir uzņēmusies, nodrošinot valsts vadību aiz mikropakalpojumu organizēšanas, uzņemot pakalpojumus, piemēram, Istio atstāt prom.

Saprotams, ka jūs, iespējams, nekad iepriekš neesat dzirdējuši par šo divus gadus veco uzņēmumu, jo tā niecīgā tīmekļa vietne liek uzņēmumam gandrīz izskatīties tā, it kā tas joprojām ir slepens. Nav skaidrs, vai Temporal ir liela daļa apmaksātu klientu; tajā ir uzskaitīti vairāki logotipi, piemēram, Datadog, Netflix, Instacart, Qualtrics, Box un citi, taču tie ir atvērtā pirmkoda tehnoloģijas lietotāji, nevis maksājoši klienti. Ja jūs pietiekami rūpīgi izrakaties, jūs faktiski varat atrast reālu dokumentāciju. Bet tikai gadījumā, ja mēs aizmirstam to pieminēt, Temporal tikko nodrošināja 103 miljonu ASV dolāru B sērijas kārtu.

Konkrēti, Temporal precīzi nosaka šauru uzdevumu: mikropakalpojumu stāvokļa pārvaldību. Ņemot vērā, ka mikropakalpojumi parasti tiek aktivizēti augsti izplatītās mākoņu vidēs, pārvaldības stāvoklis ir līdzīgs transakciju horeogrāfijai bez meistara vai vairāku galveno datu bāzē. Tas ir izaicinājums, ko, piemēram, Cassandra izstrādātāji labi zinām. Datu bāzēs viss ir saistīts ar darījumu konsekvences līdzsvarošanu ar rakstīšanas pieejamību. Lietojumprogrammu vai mikropakalpojumu līmenī runa ir par pieejamību, kur ķēde (šajā gadījumā skaitļošanas mezgli, kas mitina konkrētus mikropakalpojumus) būs tik spēcīga, cik spēcīga ir tās vājākais posms.

Pārvaldības stāvoklis, kas veic transakcijas, ir galvenais, lai nodrošinātu, ka rezultāti ir derīgi un aktuāli, un lai sistēma, neatkarīgi no tā, vai tā ir datubāze vai lietojumprogramma, netiktu avarēta. Piemēram, izņemot skaidru naudu no bankas bankomāta, valsts vadība ir būtiska, lai nodrošinātu, ka darījums tiek pabeigts tikai tad, kad konts ir debetēts.

Nepieciešamība pārvaldīt stāvokli sadalītās vidēs ir ļoti svarīga, jo ar vairākām kustīgām daļām pastāv pienācīga iespējamība, ka viena no tām neizdosies. Tāpēc jebkam, kas darbojas internetā vai mākonī, ir nepieciešama neveiksmju izstrāde, iesaistot kļūmjpārlēce un risinājumi, tāpēc viena mezgla darbības pārtraukums neizraisīs visas lietojumprogrammas avārijas vai apkalpošana.

Datu bāzu pasaulē valsts dzinēji parasti bija iebūvēti; ja palaižat datu bāzi, jums nav jāraksta savs stāvokļa dzinējs. AppDev pasaulē tas tā nav; izstrādātājiem parasti bija jāraksta savs.

Mikropakalpojumiem organizācijām papildus lietojumprogrammu sadarbībai parasti ir jāraksta savas valsts iekārtas. Pagaidu lietotājam Checkr, pakalpojums, kas nodrošina tiešsaistes darbinieku pagātnes pārbaudes, tipiskā darbplūsma bieži ietver 50 — 60 — automatizētas un manuālas darbības (katrs no tām ir mikropakalpojumi), izgūstot datus no dažādiem ārējiem avoti. Bija daudz Kafka rindu, lai žonglētos, ierakstot datus vairākās mērķa datu bāzēs, pēc tam rakstot loģiku, lai apvienotu rezultātus. Izmantojot pagaidu serveri, viņi varētu koncentrēties uz lietotni, nevis uz valsts dzinēju.

Temporal raksturo savu risinājumu kā "atvērtā koda platformu ļoti uzticamu, misijai kritiskas lietojumprogrammas plašā mērogā." Mikropakalpojumiem no pirmā acu uzmetiena tas izklausās līdzīgi servisa acs darīt. Bet pakalpojumu tīkli darbojas infrastruktūras līmenī, veidojot savienojumus un nodrošinot kļūmjpārlēci, ja mezgli nedarbojas. Turpretim Temporal koncentrējas uz lietojumprogrammas līmeni un konkrētāk, pārbauda, ​​vai kods vai tiek izpildīta loģika mikropakalpojumā un, ja nē, tiek pārvaldīti risinājumi saistībā ar kaskādi atkarības.

Problēma, ko Temporal atrisina ar mikropakalpojumiem, nav nekas cits. Kā minēts iepriekš, AppDev pasaulē stāvokļa dzinēji ir jāraksta kā ārējs kods vai jāapvieno kā daļa no kādas sistēmas. Tieši šī problēma bija jāatrisina arī interneta lietojumprogrammām, jo ​​tīmeklis bija bezvalsts, un tas noveda pie īpaša starpprogrammatūra vai lietotņu serveri, lai apstrādātu procesu ar tīmekļa lietojumprogrammām, kur populārā valoda, piemēram, Java, izmantoja savus mehānismus vadošā valsts.

Laika gaitā vēsture atkārtojas mikropakalpojumu līmenī. Tā stāvokļa pārvaldības servera tehnoloģija nāk no piecus gadus vecs atvērtā pirmkoda projekts tas bija Uber izstrādātā darba rezultāts. Tas ir uzcelts apkārt Pagaidu serveris, mikropakalpojumu orķestrēšanas platforma, kas atrodas starp skaitļošanas serveriem un izpildāmo pirmkodu.

Tas liek uzdot acīmredzamu jautājumu: ja mikropakalpojumi tiek izplatīti dabā, izpilde tiek izplatīta skaitļošanas vidēs, vai centrālais orķestrēšanas serveris nepārsniegs mērķi, ieviešot vienu neveiksme? Atbilde ir jauns "eksperimentāls" vairāku klasteru asinhronās replikācijas līdzeklis kam būtu jānodrošina vajadzīgās kļūmjpārlēces iespējas. Runājot par darījumu garantijām mikropakalpojumiem, nākotne joprojām ir nepabeigta.

Lielie dati

Kā uzzināt, vai esat iesaistīts datu aizsardzības pārkāpumā (un ko darīt tālāk)
Cīņa pret aizspriedumiem AI sākas ar datiem
Pareiza prognoze? Kā 180 meteorologi sniedz “pietiekami labus” laikapstākļu datus
Vēža terapija ir atkarīga no reibinoša datu apjoma. Lūk, kā tas tiek sakārtots mākonī
  • Kā uzzināt, vai esat iesaistīts datu aizsardzības pārkāpumā (un ko darīt tālāk)
  • Cīņa pret aizspriedumiem AI sākas ar datiem
  • Pareiza prognoze? Kā 180 meteorologi sniedz “pietiekami labus” laikapstākļu datus
  • Vēža terapija ir atkarīga no reibinoša datu apjoma. Lūk, kā tas tiek sakārtots mākonī