castomFLOW
Otvorite castomFLOW

Покретања којима можете веровати

Нико не примећује аутоматизацију док не пошаље нешто двапут

Онда га сви примете. Четири механизма на овој страници постоје јер су грешке ове врсте софтвера увек исте четири грешке, и све су избегне дизајном, а не пажњом.

Simulirajte pre objavljivanja

Пошаљите стварни запис кроз искључен ток рада и прочитајте тачно шта би се десило: пређени пут, сваку вредност у сваком кораку, формулацију сваке поруке и захтев који би отишао ка сваком спољашњем систему.

Ништа не излази из зграде. Ниједан е-поштом није послат, ниједан рачун издат, ниједно наплата покушана, ниједан ред записан. Спољашњи позиви се бележе као намерe, са садржајем који би био послат, тако да видите да ли је мапирање исправно пре него што постане некоме проблем.

Симулације су начин да одговорите на питање које спречава људе да укључе аутоматизацију: шта ће ово стварно урадити?

Симулација · поруџбина 88 214Ништа није послато
  • 1Провера адресеПодударено. Написали бисмо 6 поља.
  • ?УсловНаручбина преко 1 000 zł? Не — 289,00 zł. Узет је краћи пут.
  • 3ФактураПослали бисмо POST ка систему за фактурисање. Садржај захтева приказан у целини.
  • !Овде ухваћеноСтопа ПДВ-а мапирана из погрешног поља. Пронађено у симулацији, а не у сандуку рачуновође.

Послато: ништаНаплаћено: ништа

Сваки ток иде по верзији на коју је ушао

Објављивање измене на току посла не додирује токове који су већ у њему. Сваки ток је везан за верзију на којој је почео и завршава ту верзију, ма колико трајао и ма колико ви у међувремену мењали.

Тако можете преуредити ток посла док десет хиљада људи стоји на пола пута, а сваки од њих завршава ток који му је обећан. Алтернатива — дизајн у коме се цео даљи пут материјализује на улазу — је разлог што уређивање живе аутоматизације делује опасно у већини алата. Овде је то потпуно обично.

Нови токови добијају нову верзију од тренутка објаве. Верзија на којој је ток записана је на самом току, тако да питање о понашању у марту има одговор у септембру.

Уређивање уживоv4 → v5
  • 1Пре2 918 токова у току, сви на v4. Неки чекају два дана.
  • 2Објави v5Два корака преуреджена, једна порука преписана.
  • 3ПослеТих 2 918 завршава v4. Све што почиње од 11:40 иде на v5.
  • §Никоније примио половину једног тока и половину другог.

Верзија забележена на сваком токуСтаре верзије задржане

Поновни покушаји који не могу да пошаљу двапут

Корак је чиста функција својих улаза, а његови ефекти се предају заједно са самим померањем тока на следећи корак. Не постоји прозор у коме је порука већ послата, а ток то не зна.

То је читава тајна, и то је структурно својство, а не обећање. Радник убијен усред корака — деплој, пад, машина која нестане — оставља ток тачно тамо где је био. Други радник га преузима и поново извршава корак. Пошто се ефекат и померање предају као једно, или се обоје десило или ништа.

Одлазни позиви ка системима који подржавају кључеве идемпотентности носе такав кључ, изведен из тока и корака, тако да друга страна такође може препознати понављање.

Радник угашен усред слањаОпорављено
  • 1Корак 5 почињеПошаљите обавештење о испоруци.
  • ✕Радник умиреДеплој. Ништа није предато.
  • 2ПреузетоДруги радник налази ток још увек на кораку 5.
  • ✓Послато једномКупац је примио једну е-поруку, а не две.

Ефекти се предају заједно са померањемКључ идемпотентности по току и кораку

Дневник писан да га човек чита

Сваки ток, сваки корак, грана коју је изабрао и вредност која је то одлучила. Времена по кораку. Захтев и одговор сваког спољашњег позива, са сакривеним акредитивима. Верзија на којој је ток био. Где ток чека и до када.

Када неко пита шта се десило са наруџбином постављеном четрнаестог, постоји одговор, а његово налажење траје минут уместо поподнева повезивања дневника три система.

Неуспешни покретања се сакупљају на једном месту са груписаним разлогом, тако да „четрдесет један неуспех преко ноћи” постаје „један добављач је враћао 503 девет минута”, уместо четрдесет једна засебна истраживања.

Преко ноћи, груписано41 неуспех
  • 1Један узрокAPI добављача враћао је 503 између 02:41 и 02:50.
  • 2Шта се догодилоСва 41 су поново покушана; 39 је успело из другог покушаја.
  • 3ПреосталоДва су заустављена и чекају особу. Оба су наведена са редом који није успео.
  • §Не четрдесет једанистраживања. Једно, и одлука о два записа.

Акредитиви сакривениВерзија забележена

Шта не тврдимо

Не објављујемо цифру доступности на маркетиншкој страници, јер је број без временског прозора мерења и дефиниције „доступности” само декорација. Ако Вам је уговорно потребна, питајте нас и разговараћемо о томе на шта стварно можемо да се обавежемо.

Такође не можемо учинити да буде туђ API поуздан. Ако је добављач ван функције, ток посла који од њега зависи чека, покушава поново и на крају се зауставља са јасним разлогом. Оно што можемо обећати јесте да је неуспех видљив, да ништа не оштећује и да наставак не шаље поруку други пут.

О чекању: покретање које чека два дана је wake_at на покретању, а не посао који стоји у реду. Зато ток посла може да држи сто хиљада покретања у чекању од три недеље без икаквог трошка, и зато број покретања која тренутно чекају није нешто о чему морате да размишљате.

Покретање о коме никада не размишљате је оно које је успело.