Strömprocessorer växer fram inom industrin som en apparat som driver analytiska men också uppdragskritiska tjänster som hanterar kärnan av ihållande applikationslogik. Förutom skalbarhet och låg latens är därför ett stigande systembehov förstklassigt stöd för applikationstillstånd tillsammans med starka konsekventa garantier och anpassningsförmåga till omkonfigureringar av kluster, programfixar och partiella fel. Även om tidigare systemforskning har tagit itu med några av dessa specifika problem, ligger den praktiska utmaningen i hur sådana garantier kan förverkligas på ett öppet, icke-inträngande sätt som befriar användaren från onödiga begränsningar. Sådana behov tjänade som de viktigaste designprinciperna för statlig förvaltning i Apache Flink, en öppen källkod, skalbar ström processor. Vi presenterar Flinks kärna rörledning, under flygning mekanism som garanterar skapandet av lätta, konsekventa, distribuerade ögonblicksbilder av applikationstillstånd, gradvis, utan att påverka kontinuerlig körning. Konsistenta ögonblicksbilder täcker alla behov av systemomkonfigurering, feltolerans och versionshantering genom grov kornig upprullningsback-återställning. Tillämpningstillstånd deklareras uttryckligen till systemet, vilket möjliggör effektiv partitionering och transparent förbinder sig till ihållande lagring. Vi presenterar vidare Flinks backend implementeringar och mekanismer för hög tillgänglighet, externa statliga frågor och utdata åtagande. Slutligen visar vi hur dessa mekanismer beter sig i praktiken med mätvärden och stora spridningsinsikter som uppvisar kompromisser med låg prestanda i vårt tillvägagångssätt och de allmänna fördelarna med att utnyttja asynkroni i kontinuerliga, men ändå hållbara systemutbyggnader.
Flink REF implementerar feltolerans med en global och asynkron ögonblicksbild av applikationstillstånd.
State Management in Apache Flink®: Consistent Stateful Distributed Stream Processing
{'venue': 'PVLDB', 'journal': 'PVLDB', 'mag_field_of_study': ['Computer Science']}