Изяснете задачата и решението
Това ръководство превръща уеб кукичките и пакетната обработка в прегледан оперативен работен процес. Той свързва решения за домейн, собственост, доказателства и приемане, така че резултатът да продължи да работи в производството.
Изберете синхронна, уебкукичка или пакетна доставка от обем, латентност, повторен опит и оперативна собственост.
Практически процес
- 1
Типове източници на инвентаризация, идентификатори, полета, локали, собственици и състояния на публикация.
- 2
Изберете модела на доставка от обем, латентност, редакционен контрол и толерантност на отказ.
- 3
Съпоставете изходния запис към отделен запис на езикова версия с трайна връзка.
- 4
Добавете удостоверяване, идемпотентност, повторен опит, анулиране на кеша, регистриране и контроли за достъп.
- 5
Тестова публикация, промени в източника, недостъпни резултати, връщане назад, работа с клавиатура и наблюдение преди пускане.
Пример или инструмент
Диаграмата на жизнения цикъл се превръща в договор за изпълнение за повторни опити, идемпотентност, наблюдение и повторение. В инструмента запишете също базовата линия, собственика, решението, доказателствата, отворения проблем и датата на одобрение. Използвайте реална страница или транзакция, така че екипът да види зависимости, изключения и работата по поддръжката, която следва освобождаването.
| Точка на решение | Записвайте | Критерий за приемане |
|---|---|---|
| Базово ниво | Наблюдавано текущо състояние | Източник и дата на запис |
| Решение | Избран вариант и обосновка | Обмислени риск и аудитория |
| Доказателство | Тествайте, документирайте или измервайте | Възможност за преглед и специфична за версията |
| Одобрение | Име, роля и дата | Спазени всички задължителни критерии |
Изберете доставка от латентност, обем и собственост
Използвайте синхронна доставка за малки интерактивни заявки, които обикновено завършват в рамките на времето за изчакване на интерфейса и могат незабавно да докладват резултат. Използвайте уеб кукички, когато работата е асинхронна, но всеки резултат трябва да влезе в CMS веднага щом е готов. Използвайте групова обработка за големи планирани колекции, контролиран импорт или миграции, където пропускателната способност и възпроизводимостта са по-важни от незабавната доставка. Моделите могат да съществуват едновременно, но всеки клас съдържание трябва да има документирана стойност по подразбиране.
Оценете дневен и пиков обем, размер на артикула, приемливо време за завършване, прозорец за повторен опит, изискване за поръчка, капацитет на рецензент и оперативен собственик. Бързият резултат няма стойност, ако редакционната опашка не може да го обработи. Включете ограничения нагоре и надолу по веригата: износ на CMS, скорост на API, работници на опашка, крайна точка за обратно извикване, записи в база данни, анулиране на кеша и работно натоварване за преглед. Изберете най-простия модел, който отговаря на пълната цел на услугата.
| Модел | Използвайте когато | Съществен контрол |
|---|---|---|
| Синхронен | Малка заявка и кратко ограничено забавяне | Време за изчакване с безопасен повторен опит на клиента |
| Уеб кукичка | Независимите работни места трябва да пристигнат незабавно | Проверка на подписа и обработка на идемпотентни събития |
| Партида | Голям контролиран комплект и планирано завършване | Манифест, контролна точка, помирение и повторение |
Внедрете проверим жизнен цикъл на webhook
Приемете само HTTPS POST, проверете подписа спрямо необработеното тяло, проверете толеранса на клеймото за време и отхвърлете неподдържаните версии на събития. Съхранявайте идентификатора на събитието под уникално ограничение, преди да приложите бизнес промени. Върнете успех след трайно получаване, след което обработете асинхронно. Повтарящото се събитие връща успех, без да повтаря страничния ефект. Завъртете тайните за подписване с период на припокриване и ограничете диагностичния изход, така че да не разкрива подписи или съдържание.
Състояния на модела като получено, валидирано, съпоставено, приложено, игнорирано, повторен опит и неуспешно. Свържете резултата с ID на заданието, ID на източника, редакция на източника, локал и режим. Ако текущият източник е по-нов, запазете резултата за проверка, но не отваряйте и не замествайте текущата чернова. Обработвайте събитията извън реда по правилата за преход на състоянието, а не по реда на пристигане. Съхранявайте инструмент за повторение, който изисква причина, идентичност на оператора и обхват.
- 1
Проверете транспорта, подписа на необработеното тяло, времевия печат, типа на събитието и версията на договора.
- 2
Поддържайте уникалното събитие и потвърдете трайното получаване.
- 3
Разрешете заданието и точната ревизия на източника, преди да промените CMS.
- 4
Приложете преход на идемпотентно състояние и създайте подлежащата на преглед чернова.
- 5
Запишете завършването или насочете събитието към контролиран повторен опит и възпроизвеждане.
Направете партидите възпроизводими и съвместими
Създайте неизменен манифест с идентификатор на партида, време на създаване, правило за заявка или избор, индивидуален идентификатор на елемент, редакция на източника, локал, режим, приоритет и контролна сума. Замразете манифеста преди изпращане, така че по-късна CMS заявка да не може да промени какво означава партидата. Разделете го на ограничени части и използвайте стабилни ключове за идемпотентност за всеки елемент. Завършване на контролна точка след трайни записи, така че работниците да могат да възобновят, без да започват отначало.
Накрая съгласувайте подадени, приети, завършени, отхвърлени, остарели, неуспешни и умишлено пропуснати елементи. Броят трябва да се балансира спрямо оригиналния манифест и всеки незавършен елемент се нуждае от причина и следващо действие. Възпроизвеждането на подмножество създава нов манифест за повторение, свързан с оригинала. Не променяйте оригиналните преброявания и не изтривайте неуспешни доказателства. Публикувайте групови резултати само в състояния на преглед, с ограничения на натоварването, които защитават редакционния екип.
Манифестът коригира идентичността на елемента, редакцията на източника, настройките и контролната сума.
Всяка операция на елемент е идемпотентна и може да се повтори независимо.
Контролните точки се възобновяват след прекъсване без дублиране на чернови.
Броят на крайния статус е точно съгласуван с манифеста.
Повторното възпроизвеждане е с обхват, разрешено, свързано и подлежащо на одит.
Наблюдавайте опашките и репетирайте възстановяването
Наблюдавайте процент на приети, процент на завършване, процент на грешки по категория, дълбочина на опашката, възраст на най-стария елемент, процентили на продължителност на обработката, неуспешни верификации на webhook, брой повторения, обем на мъртви писма, процент на остарели резултати и време от резултата до редакционното одобрение. Предупреждение за влиянието на потребителите и нарастващото изоставане, а не за изолирани преходни повреди. Таблата за управление разделят обработката на доставчика, доставката на обратно извикване, CMS приложението и редакционното време за изчакване.
Runbook идентифицира собственици, безопасна пауза, ограничения за мащабиране, ротация на идентификационни данни, одобрение за повторно възпроизвеждане, обработка на мъртви писма, комуникация с доставчика и проверка за възстановяване. Загубено обратно извикване при упражняване, повтарящо се събитие, събитие извън поръчка, прекъсване на доставчика, прекъсване на CMS, несъответствие на схема, изтекла тайна и частично пакетно завършване. Приемането изисква възстановяване без дублиране на публикуване, тиха загуба, ръчно редактиране на база данни или премахване на последното одобрено съдържание.
Роли, доказателства и одобрение
Съхранявайте генерирането отделно от публикуването. Успешният отговор е чернова, а не одобрение. Съхранявайте идентификатора на източника и версията, настройките за трансформация, идентификатора на резултата, състоянието на прегледа, одобряващия и времето за публикуване. Когато източникът се промени, маркирайте езиковата версия за преглед, вместо тихо да замествате одобреното съдържание. Това прави възможно връщане назад и одит на различни платформи.
Експлоатация и поддръжка
Работата не приключва с публикуването. Свържете езиковата версия или конфигурация с нейния източник, наблюдавайте мерките за качество и обслужване и дефинирайте конкретни тригери за преглед. Задействанията включват промени в източника, правни промени, нови нужди на аудиторията, повтарящи се въпроси за поддръжка, технически промени и инциденти. Посочен собственик оценява тригера, отваря нова ревизия, когато е необходимо, и записва подновено одобрение.
Контролен списък за публикуване
Интеграцията използва трайни идентификатори на източника.
Идентификационните данни се съхраняват от страната на сървъра и се сменят.
Дефинирани са изчакване, повторен опит и поведение при ограничаване на скоростта.
Повтарящите се искания са идемпотентни.
Генерираното съдържание влиза в състояние на преглед.
Промените в източника обезсилват или отварят отново версията.
Езиковата навигация работи с клавиатура и помощна технология.
Мониторингът обхваща повреди, опашки, забавяне и остаряло съдържание.