Wéi Yandex.Market Sich funktionéiert a wat geschitt wann ee vun de Serveren feelt

Moien, mäin Numm ass Evgeniy. Ech schaffen an der Yandex.Market Sich Infrastruktur. Ech wëll der Habr Gemeinschaft iwwer déi bannescht Kichen vum Maart soen - an ech hunn vill ze soen. Als éischt, wéi d'Maart Sich funktionnéiert, Prozesser an Architektur. Wéi këmmere mir mat Noutsituatiounen: Wat geschitt wann ee Server erof geet? Wat wann et 100 esou Serveren sinn?

Dir léiert och wéi mir nei Funktionalitéit op enger Rëtsch Serveren gläichzäiteg implementéieren. A wéi mir komplex Servicer direkt an der Produktioun testen, ouni Nodeel fir d'Benotzer ze verursaachen. Am Allgemengen, wéi d'Maart Sich funktionnéiert sou datt jiddereen eng gutt Zäit huet.

Wéi Yandex.Market Sich funktionéiert a wat geschitt wann ee vun de Serveren feelt

E bëssen iwwer eis: wéi ee Problem mir léisen

Wann Dir Text aginn, no engem Produkt no Parameteren sicht oder Präisser a verschiddene Geschäfter vergläicht, ginn all Ufro un de Sichservice geschéckt. Sich ass de gréisste Service um Maart.

Mir veraarbechten all Sich Ufroen: vun de Siten market.yandex.ru, beru.ru, Supercheck Service, Yandex.Advisor, mobil Uwendungen. Mir enthalen och Produktoffer an de Sichresultater op yandex.ru.

Wéi Yandex.Market Sich funktionéiert a wat geschitt wann ee vun de Serveren feelt

Mat Sichservice mengen ech net nëmmen d'Sich selwer, mee och eng Datebank mat allen Offeren um Maart. D'Skala ass dëst: méi wéi eng Milliard Sichufroe ginn pro Dag veraarbecht. An alles soll séier funktionnéieren, ouni Ënnerbriechungen an ëmmer dat gewënschte Resultat produzéieren.

Wat ass wat: Maartarchitektur

Ech wäert kuerz déi aktuell Architektur vum Maart beschreiwen. Et kann ongeféier duerch d'Diagramm hei ënnen beschriwwe ginn:
Wéi Yandex.Market Sich funktionéiert a wat geschitt wann ee vun de Serveren feelt
Loosst eis soen datt e Partnergeschäft bei eis kënnt. Hie seet, ech wëll e Spillsaach verkafen: dës béis Kaz mat engem Knuet. An eng aner rosen Kaz ouni Knuewel. A just eng Kaz. Da muss de Buttek Offeren virbereeden, fir déi de Maart sicht. De Buttek generéiert e speziellen XML mat Offeren a kommunizéiert de Wee zu dësem XML duerch d'Affiliate Interface. Den Indexer luet dann periodesch dës XML erof, kontrolléiert op Feeler a späichert all Informatioun an eng rieseg Datebank.

Et gi vill sou gespäichert xmls. E Sichindex gëtt aus dëser Datebank erstallt. Den Index gëtt am internen Format gespäichert. Nodeems Dir den Index erstallt hutt, lued de Layout Service et op Sichserveren erop.

Als Resultat erschéngt eng rosen Kaz mat engem Squeaker an der Datebank, an den Index vun der Kaz erschéngt um Server.

Ech soen Iech wéi mir no enger Kaz am Deel iwwer Sicharchitektur sichen.

Maart Sich Architektur

Mir liewen an enger Welt vu Mikroservicer: all erakommen Ufro market.yandex.ru verursaacht vill Ënnersufroen, an Dosende vu Servicer sinn an hirer Veraarbechtung involvéiert. D'Diagramm weist nëmmen e puer:

Wéi Yandex.Market Sich funktionéiert a wat geschitt wann ee vun de Serveren feelt
Vereinfacht Ufro Veraarbechtung Schema

All Service huet eng wonnerbar Saach - säin eegene Balancer mat engem eenzegaartegen Numm:

Wéi Yandex.Market Sich funktionéiert a wat geschitt wann ee vun de Serveren feelt

De Balancer gëtt eis méi Flexibilitéit beim Gestioun vum Service: Dir kënnt zum Beispill Serveren ausschalten, wat dacks fir Updates néideg ass. De Balancer gesäit datt de Server net verfügbar ass an automatesch Ufroen un aner Serveren oder Datenzenteren ëmgeleet. Wann Dir e Server addéiert oder ewechhuelt, gëtt d'Laascht automatesch tëscht de Serveren verdeelt.

Den eenzegaartegen Numm vum Balancer hänkt net vum Rechenzentrum of. Wann de Service A eng Ufro un B mécht, da gëtt de Standardbalancer B d'Ufro un den aktuellen Datenzenter ëmgeleet. Wann de Service net verfügbar ass oder net am aktuellen Rechenzentrum existéiert, da gëtt d'Ufro un aner Rechenzentren ëmgeleet.

Eng eenzeg FQDN fir all Rechenzentren erlaabt Service A komplett abstrakt vu Plazen. Seng Demande un de Service B gëtt ëmmer veraarbecht. Ausnam ass de Fall wann de Service an allen Datenzentere läit.

Awer net alles ass sou roseg mat dësem Balancer: mir hunn eng zousätzlech Zwëschenkomponent. De Balancer kann onbestänneg sinn, an dëse Problem gëtt vu redundante Serveren geléist. Et gëtt och eng zousätzlech Verspéidung tëscht Servicer A a B. Mä an der Praxis ass et manner wéi 1 ms a fir déi meescht Servicer ass dat net kritesch.

Ëmgank mat der Onerwaart: Sich Service Gläichgewiicht a Widderstandsfäegkeet

Stellt Iech vir datt et en Zesummebroch ass: Dir musst eng Kaz mat engem Squeaker fannen, awer de Server crasht. Oder 100 Serveren. Wéi rauszekommen? Mir loossen de Benotzer wierklech ouni Kaz?

D'Situatioun ass erschreckend, awer mir si prett dofir. Ech soen Iech an Uerdnung.

D'Sichinfrastruktur ass a verschiddenen Datenzenteren:

Wéi Yandex.Market Sich funktionéiert a wat geschitt wann ee vun de Serveren feelt

Beim Entwerfen enthalen mir d'Méiglechkeet fir een Datenzenter auszeschalten. D'Liewen ass voller Iwwerraschungen - zum Beispill, e Bagger kann en ënnerierdesche Kabel schneiden (jo, dat ass geschitt). D'Kapazitéit an de verbleiwen Rechenzentren sollt genuch sinn fir Spëtzbelaaschtung z'erhalen.

Loosst eis en eenzegen Datenzenter betruechten. All Datenzenter huet datselwecht Balancer Operatiounsschema:

Wéi Yandex.Market Sich funktionéiert a wat geschitt wann ee vun de Serveren feelt
Ee Balancer ass op d'mannst dräi kierperlech Serveren. Dës Redundanz ass fir Zouverlässegkeet gemaach. Balancer lafen op HAProx.

Mir hunn HAProx gewielt wéinst senger héijer Leeschtung, gerénger Ressourcefuerderung a breet Funktionalitéit. Eis Sich Software leeft bannent all Server.

D'Wahrscheinlechkeet datt ee Server versoen ass niddereg. Awer wann Dir vill Serveren hutt, erhéicht d'Wahrscheinlechkeet datt op d'mannst een erof geet.

Dëst ass wat an der Realitéit geschitt: Server Crash. Dofir ass et néideg de Status vun all Serveren permanent ze kontrolléieren. Wann de Server ophält ze reagéieren, gëtt en automatesch vum Traffic getrennt. Fir dësen Zweck huet HAProxy en agebaute Gesondheetscheck. Et geet op all Server eemol pro Sekonn mat enger HTTP Ufro "/ping".

Eng aner Feature vun HAProxy: Agent-Check erlaabt Iech all Server gläichméisseg ze lueden. Fir dëst ze maachen, verbënnt HAProxy op all Server, a si ginn hir Gewiicht zréck ofhängeg vun der aktueller Belaaschtung vun 1 op 100. D'Gewiicht gëtt berechent op Basis vun der Unzuel vun Ufroen an der Schlaang fir d'Veraarbechtung an d'Laascht op de Prozessor.

Elo iwwer d'Katze fannen. D'Sichresultater an Ufroe wéi: /search?text=angry+cat. Fir d'Sich séier ze sinn, muss de ganze Kaz Index an RAM passen. Och d'Liesen vun der SSD ass net séier genuch.

Eemol war d'Offer-Datebank kleng, an de RAM vun engem Server war genuch dofir. Wéi d'Offerbasis gewuess ass, passt alles net méi an dësem RAM, an d'Donnéeën goufen an zwee Deeler opgedeelt: Scherp 1 a Scherp 2.

Wéi Yandex.Market Sich funktionéiert a wat geschitt wann ee vun de Serveren feelt
Mä dat geschitt ëmmer: all Léisung, och eng gutt, bréngt aner Problemer.

De Balancer ass nach ëmmer op all Server gaangen. Mä op der Maschinn, wou d'Demande koum, war nëmmen d'Halschent vum Index. De Rescht war op anere Serveren. Dofir huet de Server missen op eng Nopeschmaschinn goen. Nodeems d'Donnéeë vu béide Servere kritt hunn, goufen d'Resultater kombinéiert an nei klasséiert.

Zënter datt de Balancer Ufroe gläichméisseg verdeelt, waren all Serveren engagéiert fir nei Ranking, an net nëmmen Daten ze schécken.

De Problem ass geschitt wann en Nopeschserver net verfügbar war. D'Léisung war e puer Serveren mat verschiddene Prioritéiten als "Nopesch" Server ze spezifizéieren. Éischt, war d'Ufro un d'Serveren am aktuellen Rack geschéckt. Wann et keng Äntwert gouf, gouf d'Ufro un all Server an dësem Rechenzentrum geschéckt. A schlussendlech goung d'Ufro un aner Datenzenteren.
Wéi d'Zuel vun de Propositioune gewuess ass, goufen d'Donnéeën a véier Deeler opgedeelt. Mä dëst war net d'Limite.

Momentan gëtt eng Konfiguratioun vun aacht Schiermer benotzt. Zousätzlech, fir nach méi Erënnerung ze spueren, gouf den Index an e Sichdeel opgedeelt (dee fir d'Sich benotzt gëtt) an e Snippet-Deel (deen net an der Sich involvéiert ass).

Ee Server enthält Informatioun fir nëmmen ee Shard. Dofir, fir de ganzen Index ze sichen, musst Dir op aacht Servere sichen déi verschidde Schäerft enthalen.

Servere sinn a Cluster gruppéiert. All Cluster enthält aacht Sichmotoren an ee Snippet Server.

Wéi Yandex.Market Sich funktionéiert a wat geschitt wann ee vun de Serveren feelt
De Snippet-Server leeft eng Schlësselwäert Datebank mat statesche Daten. Si sinn néideg fir Dokumenter auszeginn, zum Beispill eng Beschreiwung vun enger Kaz mat engem Squeaker. D'Donnéeë ginn speziell op e separaten Server transferéiert fir d'Erënnerung vu Sichserveren net ze lueden.

Zënter Dokument-IDen nëmmen an engem Index eenzegaarteg sinn, kann eng Situatioun entstoen, wou et keng Dokumenter an de Snippets sinn. Gutt, oder datt fir eng ID et verschidden Inhalter gëtt. Dofir, fir datt d'Sich funktionnéiert an d'Resultater zréckginn, gouf et e Bedierfnes fir Konsistenz am ganze Cluster. Ech soen Iech hei ënnen wéi mir d'Konsistenz iwwerwaachen.

D'Sich selwer ass wéi follegt strukturéiert: eng Sichufro kann op ee vun den aacht Server kommen. Loosst eis soen datt hien op de Server koum 1. Dëse Server veraarbecht all d'Argumenter a versteet wat a wéi sicht. Ofhängeg vun der Entréeën Ufro, kann de Server zousätzlech Ufroe fir extern Servicer fir déi néideg Informatioun maachen. Eng Ufro ka vu bis zu zéng Ufroe fir extern Servicer gefollegt ginn.

Nodeems Dir déi néideg Informatioun gesammelt hutt, fänkt eng Sich an der Offerdatenbank un. Fir dëst ze maachen, ginn Ënnersufroen op all aacht Serveren am Cluster gemaach.

Wann d'Äntwerte kritt sinn, ginn d'Resultater kombinéiert. Um Enn kënnen e puer méi Ënnerufroen zum Snippetserver gebraucht ginn fir d'Resultater ze generéieren.

Sichufroen am Cluster kucken wéi: /shard1?text=rosen+cat. Zousätzlech ginn Subqueries vun der Form dauernd tëscht all Server am Cluster eemol pro Sekonn gemaach: /status.

Ufro /status erkennt eng Situatioun wou de Server net verfügbar ass.

Et kontrolléiert och datt d'Sichmaschinn Versioun an d'Indexversioun d'selwecht sinn op all Server, soss ginn et inkonsistent Donnéeën am Cluster.

Trotz der Tatsaach, datt ee Snippet-Server Ufroe vun aacht Sichmotoren veraarbecht, ass säi Prozessor ganz liicht gelueden. Dofir transferéiere mir elo d'Snippetdaten op e separaten Service.

Wéi Yandex.Market Sich funktionéiert a wat geschitt wann ee vun de Serveren feelt

Fir Daten ze transferéieren, hu mir universal Schlësselen fir Dokumenter agefouert. Elo ass et onméiglech fir eng Situatioun wou Inhalt vun engem aneren Dokument mat engem Schlëssel zréckgeet.

Awer den Iwwergank op eng aner Architektur ass nach net fäerdeg. Elo wëlle mir den dedizéierten Snippet-Server lassgoen. An dann ganz ewech vun der Stärekoup Struktur. Dëst erlaabt eis weider einfach ze skaléieren. En zousätzleche Bonus ass bedeitend Eisenspueren.

An elo zu grujeleg Geschichte mat glécklechen Enn. Loosst eis e puer Fäll vu Serverunverfügbarkeet betruechten.

Eppes schrecklech ass geschitt: ee Server ass net verfügbar

Loosst eis soen datt ee Server net verfügbar ass. Da kënnen déi verbleiwen Serveren am Cluster weider reagéieren, awer d'Sichresultater wäerten onkomplett sinn.

Via Status Check /status Nopeschlänner Serveren verstoen dass een net disponibel ass. Dofir, fir Vollständegkeet z'erhalen, all Serveren am Cluster pro Ufro /ping si fänken un de Balancer ze reagéieren datt se och net verfügbar sinn. Et stellt sech eraus datt all Server am Stärekoup gestuerwen ass (wat net wouer ass). Dëst ass den Haaptnodeel vun eisem Clusterschema - dofir wëlle mir dovunner ewechkommen.

Wéi Yandex.Market Sich funktionéiert a wat geschitt wann ee vun de Serveren feelt

Ufroen, déi mat engem Fehler feelen, ginn vum Balancer op anere Serveren zréckginn.
De Balancer stoppt och de Benotzerverkéier op dout Serveren ze schécken, awer fiert weider hire Status ze kontrolléieren.

Wann de Server verfügbar ass, fänkt et un ze reagéieren /ping. Soubal normal Äntwerten op Pings vun doudege Serveren ufänken ze kommen, fänken d'Balancer un de Benotzerverkéier dohinner ze schécken. Cluster Operatioun ass restauréiert, hurra.

Nach méi schlëmm: vill Server sinn net verfügbar

E groussen Deel vun de Serveren am Rechenzentrum ginn ofgeschnidden. Wat ze maachen, wou ze lafen? De Balancer kënnt nees zur Rettung. All Balancer späichert stänneg an der Erënnerung déi aktuell Zuel vu Live Serveren. Et berechent dauernd de maximale Betrag vum Traffic deen den aktuellen Rechenzentrum veraarbecht kann.

Wann vill Serveren an engem Rechenzentrum erofgoen, realiséiert de Balancer datt dësen Rechenzentrum net den ganzen Traffic veraarbecht.

Da fänkt den iwwerschësseg Traffic zoufälleg un aner Datenzenteren ze verdeelen. Alles funktionnéiert, jiddereen ass glécklech.

Wéi Yandex.Market Sich funktionéiert a wat geschitt wann ee vun de Serveren feelt

Wéi mir et maachen: Verëffentlechungen

Loosst eis elo schwätzen iwwer wéi mir Ännerungen am Service publizéieren. Hei hu mir de Wee geholl fir Prozesser ze vereinfachen: eng nei Verëffentlechung ausrollen ass bal komplett automatiséiert.
Wann eng gewëssen Unzuel vun Ännerungen am Projet accumuléiert sinn, gëtt eng nei Verëffentlechung automatesch erstallt a säi Bau fänkt un.

Wéi Yandex.Market Sich funktionéiert a wat geschitt wann ee vun de Serveren feelt

Duerno gëtt de Service op d'Test gerullt, wou d'Stabilitéit vun der Operatioun gepréift gëtt.

Zur selwechter Zäit gëtt automatesch Leeschtungstestung gestart. Dëst gëtt vun engem speziellen Service gehandhabt. Ech wäert elo net doriwwer schwätzen - seng Beschreiwung ass wäert en separaten Artikel.

Wann d'Publikatioun am Test erfollegräich ass, gëtt d'Publikatioun vun der Verëffentlechung am Prestable automatesch gestart. Prestable ass e spezielle Cluster wou den normale Benotzerverkéier geleet gëtt. Wann et e Feeler zréckkënnt, mécht de Balancer eng nei Ufro un d'Produktioun.

A prestablen, Äntwertzäite gi gemooss a verglach mat der viregter Verëffentlechung an der Produktioun. Wann alles gutt ass, da verbënnt eng Persoun: iwwerpréift d'Grafiken an d'Resultater vum Lasttest a fänkt dann un d'Produktioun aus.

Alles Guddes geet un de Benotzer: A/B Testen

Et ass net ëmmer offensichtlech ob Ännerungen un engem Service wierklech Virdeeler bréngen. Fir d'Nëtzlechkeet vun Ännerungen ze moossen, sinn d'Leit mat A / B Tester komm. Ech soen Iech e bëssen iwwer wéi et funktionnéiert an Yandex.Market Sich.

Et fänkt alles un mat engem neien CGI Parameter derbäi ze ginn, deen nei Funktionalitéit erméiglecht. Loosst eis Parameter sinn: market_new_functionality=1. Dann am Code aktivéiere mir dës Funktionalitéit wann de Fändel präsent ass:

If (cgi.experiments.market_new_functionality) {
// enable new functionality
}

Nei Funktionalitéit gëtt an d'Produktioun ausgerullt.

Fir A / B Testen ze automatiséieren, gëtt et en engagéierten Service deen detailléiert Informatioun ubitt hei beschriwwen. En Experiment gëtt am Service erstallt. De Verkéiersdeel gëtt zum Beispill op 15% gesat. Prozentsaz ginn net fir Ufroen agestallt, mee fir Benotzer. D'Dauer vum Experiment gëtt och uginn, zum Beispill eng Woch.

Verschidde Experimenter kënne gläichzäiteg ausgefouert ginn. An den Astellunge kënnt Dir uginn ob Kräizung mat aneren Experimenter méiglech ass.

Als Resultat gëtt de Service automatesch en Argument derbäi market_new_functionality=1 ze 15% vun de Benotzer. Et berechent och automatesch déi gewielte Metriken. Nodeems d'Experiment ofgeschloss ass, kucken Analysten d'Resultater an zéien Conclusiounen. Baséierend op d'Resultater gëtt eng Entscheedung getraff fir op d'Produktioun oder d'Verfeinerung auszerollen.

Maart Handwierksgeschir: Testen an Produktioun

Et geschitt dacks datt Dir d'Operatioun vun enger neier Funktionalitéit an der Produktioun testen musst, awer Dir sidd net sécher, wéi et sech an "Kampf" Bedéngungen ënner schwéierer Belaaschtung behuelen.

Et gëtt eng Léisung: Fändelen an CGI Parameteren kënnen net nëmme fir A / B Testen benotzt ginn, awer och fir nei Funktionalitéit ze testen.

Mir hunn en Tool gemaach dat Iech erlaabt direkt d'Konfiguratioun op Dausende vu Serveren z'änneren ouni de Service u Risiken auszesetzen. Et gëtt Stop Tap genannt. Déi ursprénglech Iddi war fäeg ze sinn e puer Funktionalitéit ouni Layout séier auszeschalten. Dunn huet d'Instrument erweidert a gouf méi komplex.

De Service Flow Diagramm gëtt hei ënnen presentéiert:

Wéi Yandex.Market Sich funktionéiert a wat geschitt wann ee vun de Serveren feelt

Fändelwäerter ginn iwwer d'API gesat. De Management Service späichert dës Wäerter an der Datebank. All Server ginn eemol all zéng Sekonnen an d'Datebank, pompelen Fändelwäerter aus an applizéieren dës Wäerter op all Ufro.

Am Stop Tap kënnt Dir zwou Aarte vu Wäerter setzen:

1) Konditiounsausdréck. Gëlle wann ee vun de Wäerter richteg ass. Zum Beispill:

{
	"condition":"IS_DC1",
	"value":"3",
}, 
{
	"condition": "CLUSTER==2 and IS_BERU", 
	"value": "4!" 
}

De Wäert "3" gëtt applizéiert wann d'Ufro an der Plaz DC1 veraarbecht gëtt. An de Wäert ass "4" wann d'Ufro am zweete Cluster fir de beru.ru Site veraarbecht gëtt.

2) Bedingungslos Wäerter. Gëlle Par défaut wann keng vun de Konditiounen erfëllt sinn. Zum Beispill:

Wäert, Wäert!

Wann e Wäert mat engem Ausrufezeeche endet, gëtt et méi héich Prioritéit.

De CGI Parameter Parser parséiert d'URL. Da gëlt d'Wäerter vum Stop Tap.

Wäerter mat de folgende Prioritéite ginn ugewannt:

  1. Mat erhéicht Prioritéit vum Stop Tap (Ausrufezeeche).
  2. Wäert vun Ufro.
  3. Standardwäert vum Stop Tap.
  4. Standardwäert am Code.

Et gi vill Fändelen déi a bedingungswäerter uginn sinn - si si genuch fir all Szenarie déi eis bekannt sinn:

  • Datenzenter.
  • Ëmwelt: Produktioun, Testen, Schied.
  • Plaz: Maart, beru.
  • Cluster Zuel.

Mat dësem Tool kënnt Dir nei Funktionalitéit op enger bestëmmter Grupp vu Serveren aktivéieren (zum Beispill nëmmen an engem Datenzenter) an d'Operatioun vun dëser Funktionalitéit testen ouni e besonnesche Risiko fir de ganze Service. Och wann Dir iergendwou e seriéise Feeler gemaach hutt, huet alles ugefaang ze falen an de ganze Rechenzentrum ass erofgaang, Balancer wäerten Ufroen an aner Rechenzentren viruleeden. Endbenotzer wäerten näischt bemierken.

Wann Dir e Problem bemierkt, kënnt Dir de Fändel direkt op säi fréiere Wäert zréckginn an d'Ännerunge ginn zréckgezunn.

Dëse Service huet och seng Nodeeler: d'Entwéckler hunn et ganz gär a probéieren dacks all Ännerungen an de Stop Tap ze drécken. Mir probéieren Mëssbrauch ze bekämpfen.

D'Stop Tap Approche funktionnéiert gutt wann Dir scho stabile Code prett hutt fir an d'Produktioun ausgerullt ze ginn. Zur selwechter Zäit hutt Dir nach ëmmer Zweifel, an Dir wëllt de Code an "Kampf" Konditiounen iwwerpréiwen.

Wéi och ëmmer, Stop Tap ass net gëeegent fir ze testen wärend der Entwécklung. Et gëtt e separaten Cluster fir Entwéckler, de "Shadow Cluster" genannt.

Secret Testen: Shadow Cluster

Ufroe vun engem vun de Stärekéip ginn an de Schattenkoup duplizéiert. Awer de Balancer ignoréiert d'Äntwerte vun dësem Cluster komplett. D'Diagramm vu senger Operatioun gëtt ënnendrënner presentéiert.

Wéi Yandex.Market Sich funktionéiert a wat geschitt wann ee vun de Serveren feelt

Mir kréien en Testcluster deen an echte "Kampf" Konditiounen ass. Normale Benotzerverkéier geet dohinner. D'Hardware a béide Cluster ass d'selwecht, sou datt d'Performance a Feeler kënne verglach ginn.

A well de Balancer Äntwerte komplett ignoréiert, wäerten d'Endbenotzer keng Äntwerte vum Schattencluster gesinn. Dofir ass et net Angscht e Feeler ze maachen.

Conclusiounen

Also, wéi hu mir d'Maart Sich opgebaut?

Fir alles glat ze maachen, trennen mir d'Funktionalitéit an getrennte Servicer. Op dës Manéier kënne mir nëmmen déi Komponenten skalaéieren déi mir brauchen an d'Komponente méi einfach maachen. Et ass einfach eng separat Komponent un en anert Team ze ginn an d'Verantwortung ze deelen fir drun ze schaffen. A bedeitend Erspuernisser am Eisen mat dëser Approche ass en offensichtleche Plus.

De Shadow Cluster hëlleft eis och: mir kënnen Servicer entwéckelen, se am Prozess testen an de Benotzer net stéieren.

Gutt, Testen an der Produktioun, natierlech. Braucht Dir d'Konfiguratioun op Dausende vu Serveren z'änneren? Einfach, benotzt de Stop Tap. Op dës Manéier kënnt Dir direkt eng fäerdeg komplex Léisung ausrollen an zréck an eng stabil Versioun rullen, wann Probleemer entstinn.

Ech hoffen ech konnt weisen wéi mir de Maart séier a stabil maachen mat enger ëmmer wuessender Basis vun Offeren. Wéi mir Serverproblemer léisen, mat enger grousser Unzuel vun Ufroen ëmgoen, d'Flexibilitéit vum Service verbesseren an dat maachen ouni d'Aarbechtsprozesser ze ënnerbriechen.

Source: will.com

Setzt e Commentaire