GH GambleHub

API և նորարարության համատեղելիությունը

1) Հիմնական սկզբունքները

Diitive-first: ավելացրեք նոր, առանց կոտրելու հինը (նոր oporative դաշտեր/endpoints, նոր enum-արժեքներ)։

Կայուն պայմանագրեր. <<Ինչ է խոստացված ճշգրտման մեջ և աշխատում>>։ վարքագիծը փաստագրված է։

Backward> Forward 'հետադարձ փոխանցման գերակայություն; forward-ը պատրաստված է toler.ru-readers-ի միջոցով։

Փաստաթղթերը առաջնային են 'ճշմարտության միակ աղբյուրը registry (OpenAPI/AsyncAPI/Delo) սխեմայի տարբերակն է։

Ակնհայտ էվոլյուցիա 'breaking-ը միայն նոր major-տարբերակի և միգրացիոն ուղեցույցի միջոցով է։

2) Փոփոխությունների տաքսոնոմիա

2. 1 Համատեղելի (MINOR/PATCH)

Սպիտակուցային դաշտերի ավելացումը/հեդերը, նոր էնդպոինտները, query-express-ը դեֆոլտներով։

Լիմիտների ավելացումը («page _ size», TTL), սխալների հստակեցումը առանց պարամետրերի/սեմանտիկայի փոփոխության։

Էնումի արժեքների ավելացումը, եթե հաճախորդները անտեսում են «անծանոթ» (toler.ru-reader)։

2. 2 Երկիմաստ (Behavioral)

Դեֆոլտների փոփոխությունը, տեսակավորման կարգը, բարակ թայմաուտները, քվոտը կարող է «կոտրել» բիզնես տրամաբանությունը։ Պահանջում է RFC + անոնսը և կանարեկները։

2. 3 Կոտրող (MAJOR)

Դաշտերի վերանվանումը/հեռացումը, տեսակը/ձևաչափը, այլընտրանքային սխալների փոխարինումը, հակառակ անհամատեղելիությունը/սխեմաները։

3) Տարբերակման քաղաքականությունը

Ռազմավարություն '«path versioning» («/v1 », «/v2»)։

Minor/patch: «ավելացրեք, մի կոտրիր»։

Թվագրված վերնագրերը (դոպը) '«X-API-Version-Date» փափուկ աստիճանական փոփոխությունների համար։

Մեդիա տեսակներ (opz.) : `Accept: application/vnd. acme. v1 + json "բարակ գրանտի համար։

4) Դեպրեսիաներ և sunset

4. 1 Հաղորդակցման վերնագրեր


Deprecation: true
Sunset: 2026-03-31T00:00:00Z
Link: </guides/reports-v2>; rel="successor-version"

4. 2 Ելույթի կարգը

1. Հայտարարությունը պորտալում/հաղորդագրությունում/MSK rele.notes-ում։

2. Նախազգուշացման պատուհանը 90-180 օր է։

3. Dashborde adoption-ի կարգավիճակները։

4. Sunset-ից հետո 410 Gone-ը կամ «read-only» ռեժիմը grace ժամանակահատվածի համար, եթե համաձայնված է։

5) Մոսկվան և տարբերակների համատեղ գոյությունը

Dance-write/dult-read անցումային ժամանակահատվածում և զեկույցներով։

Ադապտերները (ժամանակավոր) 'հին payload-ի gateway-վերափոխումները նոր սխեմաներ են։ հարմարվողի կյանքի տևողությունը սահմանափակ է։

MSK օգնություն ՝ երկու տարբերակները աջակցող օրինագծեր, ավանդի նախազգուշացումներով (1 անգամ ընթացքի համար)։

Ֆիչա դրոշը 'նոր սեմանտիկայի իրականացումը 2019/տենանտների ցուցակով։

6) Backward և forward համատեղելիությունը

6. 1 Backward (հին հաճախորդները նոր սերվերն են)

Մի փոխեք տեսակների/պարտավորության պարամետրերը։

Նոր դաշտերը միայն օբյեկտիվ են։

Սխալները նախկին «error _ code» են, նոր ստանդարտ ավելացրեք, չփոխեք։

6. 2 Forward (նոր հաճախորդները հին սերվերն են)

Ստուգել հնարավորությունների առկայությունը (capabilities) «OPTIONS '//versions» միջոցով։

Գրեյս վարքագիծը 'հաճախորդը պետք է հանդուրժի բացակայող ավարտներին։

7) Պայմանագրեր և ավտոմատ ստուգումներ

Registry: Մենք ենք սխեմաների տարբերակները։ PR-դիֆերը բացատրում են «breaking/non-breaking» զեկույցները։

Լինթեր ՝ անուններ/տեսակներ, կուռքեր, պագինացիա, կայուն բջիջներ։

CDC (Consumer-Driven Corracom) 'CI-ում ինտեգրատորների թեստեր (Pact և անալոգներ)։

Գեյթ 'PR-ն արգելափակված է breaking-ով առանց' major bump '/RTS-ի։

CI-2019 օրինակ

yaml
- name: API Diff run: api-diff --from main --to $PR_SHA --fail-on=breaking --format junit --out diff. xml

8) Կանարյան արտադրությունը և հակառակ քայլը

Canary: 10 տոկոսը 25 տոկոսն է, 50 տոկոսը 3,100 տոկոսն է։ SLO-ի վատացման ժամանակ (5xx/latency/429)։

Բետա-բանալիներ 'allowlist-ի նոր տարբերակների հասանելիությունը։

Release freeze 'error-budget այրման ժամանակ։

Ընդունման վերլուծությունը 'հաճախորդների մասնաբաժինը նոր տարբերակով, հաճախորդի ժամանակը։

9) Մանրամասների համատեղելիությունը 'սխալներ, պագինացիաներ, գաղափարախոսություն

9. 1 Սխալներ

Չփոխեք HTTP ստատուսները գոյություն ունեցող սցենարներում։

«error _ code» կայուն; նոր պլանավորվում է միայն ավելացնել։

«Apple/problem + json» -ը միասնական ձևաչափ է։

9. 2 Պագինացիա

Անցումը cursor/keyset = MINOR-ին, եթե աջակցվում է հին 'set/limit "։

Փաստաթղթավորեք տեսակավորումը «(wwww.ated _ at, id)» և ռուսական կուրսորը։

9. 3 Idempotency

Write-ի համար '"Idempotency-Key '+" 49IDEMP _ REPLAY "հակամարտության ժամանակ։

Մոսկվան չպետք է փոխի կուռքերի իմաստը։

10) Gateway-տրանսֆորմացիան (երբ տեղին է)

Map v1-v2 դաշտեր, նորմալացնել սխալները, փոխակերպել www.dat/փողի։

Guardrails: Փոխակերպումները թափանցիկ են և տրամաբանվում են։ մի թաքցրեք breaking, այլ օգտագործեք որպես կամուրջ սահմանափակ ժամանակով։

11) Հաղորդակցություն և պորտալ

Changelog с датами (`added/changed/deprecated/removed/fixed`).

Տարբերակի քարտը 'կարգավիճակ (beta/GA/deprecated), sunset ամսաթիվը, հղումները։

Վեբհուկի ծանուցումները '"deprecation։ notice`, `version. released`, `plan. change`.

MSK rele.notes + դրոշը պորտալում։

12) Հաջողության մետրերը

Adoption rate v2 (խնդրանքով/հաճախորդներին)։

Backward-compat incidents (col-w-vo «կոտրվածք»)։

Error mix (4xx/5xx/429) մինչև/հետո։

Time-to-Adopt-ը միջին է։

Supronload (թիկետներ/105)։

Cost-to-Serve (մարտահրավերի ենթակառուցվածքային արժեքը)։

13) Օրինակներ և օրինակներ

13. 1 Տարբերակների և դեպրեսիաների վերնագիր


X-API-Version: v1
Deprecation: true
Sunset: 2026-03-31T00:00:00Z
Link: </v2/reports>; rel="successor-version"

13. 2 Տարբերակների քաղաքականությունը (YAML հատվածը)

yaml versioning:
strategy: "path"
compatibility:
minor: "additive-only"
patch: "bugfix/perf, no schema change"
deprecation:
min_notice_days: 120 rollout:
canary_steps: [10,25,50,100]
rollback_checks: ["5xx_rate","p95_latency","429_rate","adoption"]

13. 3 OpENAPI 'դաշտի համատեղ ավելացում

yaml components:
schemas:
Report:
type: object required: [id, createdAt]
properties:
id: { type: string }
createdAt: { type: string, format: date-time }
cursor: { type: string, description: "optional for v1. 2+" } # additive

14) Չեկի թուղթը (MINOR/MAJOR)

MINOR

  • DIFF: non-breaking, linter կանաչ
  • Express/MSK նորարարված (օրինակներ/օրինակներ)
  • Կանարեյկա + SLO-ում
  • Կոմմ պլան, էջ պորտալում
  • Dashbords adoption և սխալներ

MAJOR

RFC/ADR, sunset ամսաթիվը և պատուհանը 90-180 օր։

  • v1-v2 կամուրջ (gateway) և միգրացիոն ուղեցույց
  • Dance-write/read և ծալքեր
  • DRK երկու API + նախազգուշացումով
  • Օդաչուն հիմնական ինտեգրատորներով

15) Իրականացման պլանը (3 իտացիա)

1. Հիմքը (երկու շաբաթ)

Registry սխեմաները, ոսպնյակը և www.diff CI-ում; քաղաքականությունը։ վերնագրեր «Deprecation/Sunset»։

2. Կառավարվող ուլտրաձայնները (3-4 շաբաթ)

Կանարեյկի, ֆիչի դրոշները, SLO-ալերտները։ տարբերակների պորտալը; MSK-ենթախմբերը երկու ճյուղերի աջակցությամբ։

3. Ավտոմատիզացիան և մասշտաբը (անընդհատ)

CI սպառողների թեստեր, sunset կանխատեսում adoption, ավտոմատ նոտացիա և հիշեցումներ։

16) Mini-FAQ

Կարո՞ ղ եք փոխել դաշտային տեսակը առանց major

Ոչ։ Նույնիսկ «տողը նշված թիվ» - breaking։ Մուտքագրեք նոր դաշտ, հինը 'deprecate։

Էնում 'կարո՞ ղ եք ավելացնել արժեքները։

Այո, եթե հաճախորդները toler.ru-readers են։ Հակառակ դեպքում, նախ տեղեկացումը և բետա։

Որքա՞ ն պետք է պահել հին տարբերակը։

Մինչ adoption նոր 3695 տոկոսն է և պահպանվում է տեղավորման պատուհանը։ Գրանցեք ժամանակը քաղաքականության մեջ։

Արդյունքը

API-ի համատեղելիությունը կարգապահությունն է 'diitive-մոտեցում, ֆորմալ սխեմաներ և դիֆեր, կանարեկուլներ, պարզ դեպրեսիաներ և կառավարվող ձեռնարկություններ։ Ամրագրեք փոփոխության քաղաքականությունը, ավտոմատիզացրեք ստուգումները և հաղորդակցությունները, ստուգեք adoption, և ձեր նորարարությունները կդադարեն կոտրել հաճախորդներին, իսկ էվոլյուցիայի արագությունը կաճի առանց հուսալիության։

Contact

Կապ հաստատեք մեզ հետ

Կապ հաստատեք մեզ հետ ցանկացած հարցի կամ աջակցության համար։Մենք միշտ պատրաստ ենք օգնել։

Telegram
@Gamble_GC
Սկսել ինտեգրացիան

Email-ը՝ պարտադիր է։ Telegram կամ WhatsApp — ըստ ցանկության։

Ձեր անունը ըստ ցանկության
Email ըստ ցանկության
Թեմա ըստ ցանկության
Նամակի բովանդակություն ըստ ցանկության
Telegram ըստ ցանկության
@
Եթե նշեք Telegram — մենք կպատասխանենք նաև այնտեղ՝ Email-ի дополнение-ով։
WhatsApp ըստ ցանկության
Ձևաչափ՝ երկրի կոդ և համար (օրինակ՝ +374XXXXXXXXX)։

Սեղմելով կոճակը՝ դուք համաձայնում եք տվյալների մշակման հետ։