فلوی 4SO GeoDNS: مشاهده‌ی ترافیک، شناخت توپولوژی، پاسخ بر اساس سیاست، پایش سلامت، بهینه‌سازی تصمیم‌ها.

AUTHORITATIVE DNS / GLOBAL TRAFFIC

4SO GeoDNSDNS Control Plane with an Independent Serving Path

مدیریت API-first وضعیت مطلوب DNS، Validation، Immutable Revision، Blue/Green Delivery، Health-aware Routing، DNSSEC و چرخه‌ی عمر نود در یک فرایند واحد قرار می‌گیرند؛ در حالی که Query Path از Manager مستقل باقی می‌ماند.

Authoritative DNSGlobal TrafficDNSSECBlue / Green

اجزای 4SO GeoDNS: مسیر Query جدا از مسیر کنترل

  1. ۱ResolverQuery از Resolver همراه با شبکه‌ی ECS یا Resolver به نود DNS می‌رسد.
  2. ۲نود DNSdnsdist ← Runtime فعال PowerDNS (Blue/Green) ← وضعیت محلی PostgreSQL؛ بدون Manager زنده در مسیر Query.
  3. ۳سیاست Geo/ECSاولویت قطعی روی ECS، CIDR، ASN/سازمان و جغرافیا؛ Lua دلخواه کاربر پذیرفته نمی‌شود.
  4. ۴Endpoint منطقه‌ای سالمپاسخ به Endpoint سالمی اشاره می‌کند که سیاست برای این Query انتخاب کرده است.
  5. ۵Endpoint ناسالمسلامت خارج از مسیر Query محاسبه می‌شود؛ نود فقط Snapshot نسخه‌دار محلی را می‌خواند.
  6. ۶ManagerProduct API بر پایه‌ی FastAPI؛ PostgreSQL مرجع وضعیت مطلوب، Audit و Outbox است.
  7. ۷Revision تغییرناپذیرWorker و Node Agent با mTLS رنگ غیرفعال را Stage، بازخوانی و سپس به‌صورت اتمیک Cutover می‌کنند.
۰۱PROBLEM & OUTCOME

مسئله‌ی محصول

یک تغییر کوچک DNS می‌تواند Blast Radius بزرگی داشته باشد.

Authoritative DNS باید هم سریع و همیشه در دسترس باشد و هم تغییراتش دقیق، قابل Audit و قابل Rollback. GeoDNS مسیر Configuration را از مسیر Serving جدا می‌کند.

۰۱SERVING

Serving نباید به Manager وابسته باشد

Query path روی نود DNS و آخرین وضعیت تأییدشده باقی می‌ماند.

۰۲CHANGE CONTROL

تغییر مستقیم در محیط اجرا ممنوع

Record و Policy ابتدا به Revision تبدیل می‌شوند و بعد Stage و Verify می‌شوند.

۰۳TRAFFIC

Traffic Policy نیازمند داده‌ی معتبر است

Endpoint health و eligibility از Observation پذیرفته‌شده می‌آیند، نه وضعیت ساختگی Browser.

۰۴SECURITY

DNSSEC خودش چرخه‌ی عمر دارد

Key، Sign، Rollover و بازیابی باید به‌اندازه‌ی مدیریت Zone کنترل‌شده باشند.

۰۲CAPABILITY SNAPSHOT

نمای قابلیت‌ها

Zone، Traffic و Security در یک Control Plane.

GeoDNS علاوه بر Authoritative Records، Delivery، Traffic Management و چرخه‌ی عمر نود را نیز بخشی از همان محصول می‌داند.

۰۱ZONES & RRSETS

Zone و رکوردها Type-safe

Forward/Reverse Zone، مجموعه‌های RRset Typed و Import/Export کنترل‌شده.

۰۲REVISIONS

Immutable Revisions

Changeset، Snapshot Hash و Revision برای Audit و Rollback.

۰۳BLUE / GREEN

Blue/Green Delivery

Stage روی Color غیرفعال، بازخوانی وضعیت و سپس Cutover اتمیک.

۰۴TRAFFIC

Global Traffic Management

Endpoint، Pool، Region، Health Perspective و Policy پاسخ.

۰۵DNSSEC

چرخه‌ی عمر DNSSEC

Signing، شواهد DS، Rollover و Restore/Reconcile.

۰۶TRANSFERS

Secondary / Transfer

TSIG، AXFR/IXFR، Catalog Zone و چرخه‌ی عمر Secondary Provider.

۰۷NODE LIFECYCLE

عملیات نود DNS

Onboard، Drain، Replace، Remove و Fleet rollout.

۰۸OBSERVABILITY

DNS Observability

Health، Metrics، Alert، Incident و Synthetic DNS Probe.

4SO

مسیر معمول Query کوتاه می‌ماند: Resolver → نود DNS → محیط اجرای فعال → وضعیت محلی. هیچ Query عادی برای پاسخ به Manager یا Database بین‌منطقه‌ای وابسته نیست.

۰۳DEPLOYMENT PROFILES

مدل استقرار

از یک Manager و یک نود DNS تا چند Region.

حداقل توپولوژی محصول ساده است و HA یا Multi-region شرط شروع نیست؛ نود و Region به‌صورت افزایشی اضافه می‌شوند.

پروفایلControl PlaneServing Planeکاربرد
پایه۱ Manager۱ نود DNSراه‌اندازی ساده و کامل Authoritative DNS
چندنودManager مرکزیچند نود DNSافزونگی Serving و Rollout کنترل‌شده
چند SiteControl Plane واحدنودها در چند Siteتفکیک دامنه‌ی خرابی و نزدیکی به Resolver
Multi-regionمدیریت مرکزی با فرایند منطقه‌ایServing مستقل در چند RegionGlobal Traffic و تاب‌آوری گسترده
۰۴ARCHITECTURE

معماری

Configuration path بلندتر است؛ Serving path عمداً کوتاه.

تغییر DNS باید از Validation، Revision و Delivery عبور کند. پاسخ DNS اما مستقیماً از محیط اجرای تأییدشده‌ی نود ارائه می‌شود.

CONTROLPanel / Product APIAuthentication، دامنه، RBAC و Typed Validation.
↓
AUTHORITYوضعیت مطلوب / Revision / Jobوضعیت تراکنشی، Revision غیرقابل‌تغییر، Audit و شواهد.
↓
DELIVERYWorker + Node Agent با mTLSStage، بازخوانی وضعیت، Verify و Atomic Cutover.
↓
SERVINGنود Authoritative DNSdnsdist و محیط اجرای فعال PowerDNS با وضعیت محلی تأییدشده.
لایهComponentوظیفهFail-safe behavior
Product APIFastAPI + scoped RBACZone/RRset، traffic policy، node lifecycle و typed validationBrowser مستقیماً runtime DNS را mutate نمی‌کند
AuthorityPostgreSQL + transactional outboxDesired state، audit، job/revision stateMutation و event publication در یک مرز تراکنشی
DeliveryWorker + mTLS Node AgentStage inactive color، read-back، verify و atomic cutoverFailed delivery قبل از serving متوقف می‌شود
DNS EdgednsdistStable serving entry و انتخاب active PowerDNS colorQuery path به Manager وابسته نیست
Authoritative RuntimePowerDNS blue/green + local PostgreSQLServe آخرین revision تأییدشدهControl-plane outage پاسخ DNS را از آخرین state سالم ادامه می‌دهد
SecurityDNSSEC · TSIG · transfer policySigning، rollover و zone-transfer trustSecret material وارد Panel/Audit/Evidence نمی‌شود
TECH

Geo-routing & Health Contract. تصمیم DNS از policy کامپایل‌شده و snapshot محلی خوانده می‌شود؛ Query Path هیچ health-check شبکه‌ای را در لحظه‌ی پاسخ اجرا نمی‌کند.

حوزهورودی / Mechanismقرارداد فنی
Client localityECS یا Recursive Resolver IPECS معتبر در صورت مجازبودن استفاده می‌شود؛ در غیر این صورت Resolver IP مبنای انتخاب است.
Geo / network matchCIDR، ASN/Organization، Country/Subdivision/Continent/CityOverrideهای دقیق و geography با priority عددی و ترتیب deterministic ارزیابی می‌شوند.
Native GeoIPPowerDNS geoip backend + Country/ASN MMDBGeoIP کنار gpgsql قرار می‌گیرد؛ Zone data از authority اصلی به YAML/GeoIP backend منتقل نمی‌شود.
HealthTCP/UDP/HTTP/HTTPS/TLS/DNS/gRPC/ICMP probesHealth خارج از Query Path محاسبه می‌شود و stateهایی مثل HEALTHY/DEGRADED/SUSPECT/UNHEALTHY در snapshot نسخه‌دار ثبت می‌شوند.
Policy compilerStructured policy → trusted runtime materialArbitrary Lua پذیرفته نمی‌شود؛ compiler خروجی reproducible و hash متصل به Revision تولید می‌کند.
SimulationResolver/ECS/time/health/dataset inputsRule match، selected pool/endpoint، fallback path، answer و TTL پیش از publish قابل شبیه‌سازی‌اند.
ECS cache isolationPolicy-aware cache keyingپاسخ‌های وابسته به client network نباید بین contextهای ECS نامرتبط cache-leak شوند.
۰۵LIFECYCLE

چرخه‌ی عمر

هر تغییر DNS یک مسیر قابل مشاهده دارد.

Edit تا Publish فقط چند کلیک نیست؛ Validation، Revision، Stage، بازخوانی وضعیت و بازیابی هرکدام وضعیت مشخص دارند.

۰۱ویرایشEdit
۰۲اعتبارسنجیValidate
۰۳ساخت RevisionSeal
۰۴آماده‌سازیStage
۰۵بازخوانی وضعیتVerify
۰۶انتشارCutover
۰۷پایشObserve
۰۸Rollback / بازیابیRecover
۰۶DNS PROFILES

پروفایل قابلیت

Authoritative DNS فقط یک Zone Editor نیست.

هر لایه از Authoritative Data تا Global Traffic و Security یک Profile عملیاتی مستقل دارد.

Authoritative DNSZONES

مدیریت Zone و RRset با Revision.

  • Forward / Reverse
  • Typed RRsets
  • Scheduled / templated changes
Traffic ManagementGTM

پاسخ بر اساس Endpoint و Policy.

  • Pools / Endpoints
  • Geo / health policy
  • Maintenance windows
DNS SecurityDNSSEC / TSIG

Trust و Transfer security درون محصول.

  • DNSSEC signing / rollover
  • TSIG
  • Transfer policy
ناوگان نودهای DNSDNS NODES

چرخه‌ی عمر نودهای Serving.

  • Enroll / mTLS
  • Drain / Replace
  • Fleet rollout
DeliveryBLUE / GREEN

انتشار امن و قابل برگشت.

  • Inactive staging
  • اعتبارسنجی بازخوانی وضعیت
  • Atomic cutover
بازیابیCONTROL PLANE

حفاظت از وضعیت مدیریتی.

  • Backup / Restore
  • Release rollback
  • فرایند بازیابی بحران
۰۷ACTION & WORKFLOW CONTRACT

فلو Job، Cutover و Recovery

Job فقط وقتی replay می‌شود که side-effect boundary آن شناخته شده باشد.

Mutationها idempotent و project-scoped هستند؛ node mutation، fleet rollout و certificate rotation روی یک node همزمان باز نمی‌مانند. Worker ownership با lease و execution epoch fence می‌شود.

۰۱QueueQUEUED
۰۲RetryRETRY
۰۳LeaseRUNNING + EPOCH
۰۴StageVERIFY / CUTOVER
۰۵SuccessSUCCEEDED
۰۶FailureFAILED / CANCELLED
۰۷RollbackROLLED_BACK
BLUE / GREEN CUTOVER

Stage روی Color غیرفعال

DNS read-back قبل از جابه‌جایی Active Color انجام می‌شود.

DNS QUERY ENTRY
↓
ACTIVE
BLUE
⇄
STAGED
GREEN
↓
DNS
VERIFY
revision → stage inactive → authoritative read-back → atomic cutover
Stage ناموفق Active Serving را تغییر نمی‌دهد.
HEALTH BRANCH

Primary یا Fallback بر اساس Snapshot

Query path هیچ probe شبکه‌ای را همان لحظه اجرا نمی‌کند.

CLIENT CONTEXT
ECS / RESOLVER
↓
POLICY + HEALTH SNAPSHOT
↓
PRIMARY
HEALTHY?
PRIMARY
↙ ↘
FALLBACK
Health state نسخه‌دار است؛ stale snapshot می‌تواند policy را block کند.
DR LOOP

Readiness → Failover → Failback

DR action به readiness hash و topology freeze متصل است.

PRIMARY
SITE
→
READINESS
GATE
↓
FENCE
+ HASH
↑
DR
SITE
←
FAILBACK
VERIFY
backup ready → approval → failover → serving verify → controlled failback
Stale readiness یا unknown external state به Reconcile می‌رود.
ADDITIONAL OPERATIONAL FLOWS

فلوهای عملیاتی تکمیلی

Health و Node replacement مستقیماً روی کیفیت Serving اثر دارند و باید Flow مستقل داشته باشند.

Action / FlowAdmission / PreconditionsExecution / LockSuccess CriterionFailure / Recovery
Publish Zone / RRsetTyped validation، revision و policy compile قبل از deliveryStage روی inactive color → node read-back → atomic cutoverAuthoritative answer/TTL و active revision از serving path تأیید شودFailed stage serving را عوض نمی‌کند؛ rollback به color سالم نگه‌داری‌شده
Traffic PolicyStructured policy، priority و simulation بدون conflictCompiler material versioned؛ health snapshot خارج از query path مصرف می‌شودMatched rule/pool/endpoint و synthetic DNS behavior مطابق revisionArbitrary Lua رد می‌شود؛ policy conflict قبل از publish fail می‌شود
Node Onboarding / ReplaceIdentity/mTLS، preflight و node mutation availabilityDurable job با node lock؛ onboarding/day-2/fleet/cert-rotation overlap رد می‌شودNode observed healthy و rollout eligibility روشنNode onboarding failure به generic retry تبدیل نمی‌شود؛ fresh bootstrap ممکن است لازم باشد
DNSSEC / CertificateKey/identity lifecycle و approval در عملیات حساسStage/overlap/ack و rotation workflow owner-specificSigning/serving یا certificate observation با generation مورد انتظار match کندStale rotation/fleet mutation همزمان رد؛ secret material از public job projection حذف می‌شود
Control-plane RestoreBackup باید READY، repository-verified و دارای snapshot/hash evidence باشدPreflight → approval → execution → cutoverRESTORED فقط بعد از preflight binding و runtime verificationWorker interruption/unknown external state → RECONCILE_REQUIRED؛ blind retry ممنوع
DR Failover / FailbackReadiness job، topology freeze، fencing، rollback و RPO acknowledgement لازمAction به readiness state/hash و profile revision bind می‌شودActive site/traffic/database state به phase مورد انتظار برسدStale readiness یا topology mismatch رد؛ failback فقط از FAILED_OVER مجاز است
FLOW

Retry classification اپراتوری صریح است: SAFE_TO_RETRY، RECONCILE_REQUIRED، FRESH_BOOTSTRAP_REQUIRED یا FRESH_HEALTH_REQUEST_REQUIRED. Lease loss در workflowهای disruptive هرگز مجوز replay کور نیست.

۰۸OPERATIONS CATALOG

کاتالوگ عملیات

عملیات DNS با Blast Radius متناسب کنترل می‌شوند.

اپراتور برای تغییر Record، Rollout نود یا DNSSEC از همان فرایند محصول و Audit trail استفاده می‌کند.

Create / Edit Zoneمدیریت Zone و RRset با Validation و Revision.
PublishStage، بازخوانی وضعیت و Atomic Cutover به نسخه‌ی جدید.
Rollbackبازگشت به Color سالم نگه‌داری‌شده.
Traffic Policyمدیریت Endpoint، Pool و Health-aware response policy.
DNSSECSigning، Rollover و Restore/Reconcile.
Onboarding نودEnroll و آماده‌سازی نود DNS با Identity کنترل‌شده.
Drain / Replaceخروج یا جایگزینی نود بدون تغییر مستقیم محیط اجرای Zone.
ObserveHealth، Metrics، Alert و Synthetic DNS behavior.

DNS را با سرعت Serving و دقت یک سیستم توزیع‌شده اداره کنید.

4SO GeoDNS تغییرات را کنترل می‌کند، بدون اینکه Control Plane را وارد مسیر پاسخ DNS کند.

بازگشت به محصولات 4SO ←