GH GambleHub

Хадамоти кашфи и DNS

Кашфи хидмати и DNS

1) Чаро ба шумо лозим аст

Дар системаҳои тақсимшуда гиреҳҳо пайдо мешаванд ва нопадид мешаванд ва муштариён бояд намунаҳои кории хидматро зуд ва боэътимод пайдо кунанд. DNS - қабати универсалии ном; кашфи хидмат - стратегияи мувофиқ кардани номи хидмат бо нуқтаҳои воқеӣ, бо назардошти сиёсати саломатӣ, вазн ва масир.

Ҳадафҳои асосӣ:
  • номҳои устувор ба ҷои суроғаҳои эфемерӣ,
  • навсозии дақиқ, вале на ғавғо (тавозун байни тару тоза ва TTL),
  • таназзул бе тирамоҳи пурра (нокомӣ/санҷиши саломатӣ),
  • ҳадди аққали "фарзия" дар муштарӣ: танаффус, бозхонд, сиёсати кэш.

2) Моделҳои кашфи хидмат

2. 1 Мизоҷ-тараф

Худи муштарӣ ин номро ба маҷмӯи нуқтаҳои ниҳоӣ ва тавозун (мудаввар робин, EWMA, ҳаш аз рӯи калид) ҳал мекунад. Сарчашма - DNS (A/AAAA/SRV), феҳристи хизматрасонӣ (Консул/Эврика), рӯйхати статикӣ.

Тарафдор: камтар SPOF-ҳои марказӣ, алгоритмҳои фасеҳ.
Омӯз: гуногунрангии муштариён, нав кардани мантиқ мушкилтар аст.

2. 2 Сервер (тарафи сервер)

Мизоҷ ба пеши/LB (L4/L7 дарвоза/воридшавӣ) меравад. Мувозинат ва санҷиши саломатӣ - дар тарафи прокси/тавозун.

Тарафдор: ҷои ягонаи сиёсат, мушоҳида.
Омӯз: Периметри хеле дастрас лозим аст (N + 1, multi-AZ).

2. 3 Гибрид

DNS маҷмӯи нуқтаҳои воридшавиро (LB-ҳои минтақавӣ) медиҳад, баъд мувозинатро L7/mesh мекунад.

3) DNS: асосҳо, сабтҳо ва TTL

3. 1 Намудҳои асосӣ

A/AAAA - суроғаҳои IPv4/IPv6.
CNAME - тахаллус ба номи дигар (на ба боло).
SRV - '_ хидмат. _ прото. ном '→ мизбон/порт/вазн/афзалият (барои g: RPC/LDAP/SIP ва ғайра).
TXT/HTTP/HTTPS - метамаълумот/нишондиҳандаҳо (аз ҷумла барои HTTP-кашф).
NS/SOA - ҳайат ва сифатҳои минтақа.

3. 2 TTL ва кэш

Кэш аз инҳо дастрас аст: ҳалли OS, ҳалли маҳалли маҳал, гиреҳҳо (NodE Local DNS/Core-DNS), провайдер, рекурсерҳои фосилавӣ ва муштарии китобхона. Тозагии воқеӣ = min (TTL, сиёсати муштарӣ). Кэши манфӣ (NXDOMAIN) инчунин тавассути 'SOA нигоҳ дошта мешавад. MINIME '/' TTL '.

Тавсияҳо:
  • Prod - TTL 30-120s барои сабтҳои динамикӣ, 300-600s барои устувор.
  • Барои коммутаторҳо (feilover) TTL-и пастшударо пешакӣ омода кунед, на "ҳангоми оташ".
  • Кэши часпандаи китобхонаҳоро баррасӣ кунед (Java/Go/Node) - агар лозим бошад, TTL-и ҳалкунандаро дар вақти корӣ танзим кунед.

4) Сиёсати мувозинати DNS ва таҳаммулпазирии гуноҳ

Вазни RR - вазнҳо дар A/AAAA/SRV.
Нокомӣ - маҷмӯаҳои ибтидоӣ/миёна (санҷиши саломатӣ дар берун).
Geo/Latency - вокуниш ба "наздиктарин" POP/минтақа.
Anycast - як IP дар POP-и гуногун (BGP); тобовар ба халалдоршавии минтақавӣ.
Split-horizon - ҷавобҳои гуногун дар дохили VPC/on-prem ва Интернет.
GSLB як тавозуни глобалӣ бо санҷишҳо ва сиёсатҳо (ниҳонӣ, гео, қобилият) мебошад.

5) Санҷиши саломатӣ ва тару тоза

Худи DNS "гунг" аст: саломатии ақибмондаҳоро намедонад. Аз ин рӯ:
  • Ё як муоинаи берунаи тиббӣ сабтҳо/вазнҳоро идора мекунад (GSLB, Route53/Traffic-policy, беруна-dns + намунаҳо).
  • Ё муштарии mesh/mesh як outlier-ejection фаъол месозад ва аз бисёр нуқтаҳои ниҳоӣ такрор мекунад.

6) Кубернетес: кашф аз қуттӣ

Номҳои хидмат: 'svc. фазои ном. svc. кластер. маҳаллӣ '.
Кластери IP: IP виртуалии устувор + kube-proxy/ebpf.
Хадамоти Headless ('кластери IP: Ҳеҷ'): A-сабтҳоро ба pods (ё subdomains онҳо), SRV барои бандарҳо медиҳад.
Нуқтаи ниҳоӣ: рӯйхати миқёси нуқтаҳои ниҳоӣ (ивазкунандаи нуқтаҳои ниҳоӣ).
Core-DNS: ҳалли кластери DNS; плагинҳо аз нав менависанд/қолаб/пеш/кэш; минтақаи 'kube-dns'.
DNSC Node Local DNSC bache: кэши маҳаллӣ дар гиреҳ → таъхири камтар ва дахолати мушкилоти ҳалли болооб.

Мисол: Headless + SRV

yaml apiVersion: v1 kind: Service metadata: { name: payments, namespace: prod }
spec:
clusterIP: None selector: { app: payments }
ports:
- name: grpc port: 50051 targetPort: 50051

Мизоҷ метавонад '_ grpc. _ tcp. пардохтҳо. прод. svc. кластер. маҳаллӣ '(SRV) ва гирифтани мизбон/порт/вазн.

Қисми DNS (порчаи харита)

yaml apiVersion: v1 kind: ConfigMap metadata: { name: coredns, namespace: kube-system }
data:
Corefile:
.:53 {
errors health ready cache 30 loop forward. /etc/resolv. conf prometheus:9153 reload
}
DNS-и маҳаллӣ (ғояҳо):
  • Демон Сет бо ҳалкунандаи маҳаллӣ дар '169. 254. 20. 10`; кубелет ин нуктаро муайян мекунад.
  • P99 ҳалли номро коҳиш медиҳад ва аз пардаи болоии DNS муҳофизат мекунад.

7) Кашфи хидмат вне K8s

Консул: агент, санҷиши саломатӣ, феҳристи хидматҳо, интерфейси DNS ('.consul'), КВ барои конфигуратсияҳо.
Эврика/Зоопарк/etcd: сабти ном барои JVM/мерос; аксар вақт дар якҷоягӣ бо sidecar/дарвоза.
Фиристанда/Истио: EDS/x-DS (Endpoint Discovery) ва SDS (асрҳо); хидматҳо тавассути ҳавопаймои назоратӣ эълон карда мешаванд.

8) Амнияти DNS

DNSSEC: тамомияти сабтро ҳифз кунед (имзои минтақа). Муҳим барои доменҳои ҷамъиятӣ.
Иҷро кардан/Иҷро кардан: канал ба рамзгузории рекурсия (сиёсати дохилӣ, мутобиқат).
ACL ва тақсимшавӣ: минтақаи хусусӣ - танҳо аз VPC/VPN.
Муҳофизат аз заҳролудшавӣ аз кэш: тасодуфии порт/ID, TTL-ҳои кӯтоҳ барои динамика.
Сиёсатҳо оид ба egress: DNS-ро танҳо дар ҳалкунандаҳои боэътимод иҷозат диҳед, сабт кунед.

9) Рафтори муштариён ва ақибнишинӣ

Эҳтиром TTL: бепоён нигоҳ надоред, бо қарорҳои зуд-зуд "ғайриқонунӣ" накунед (тӯфон ба рекурсивӣ).
Eyeballs хушбахт (IP .v4/IP * v6), пайвастҳои мувозӣ ба якчанд A/AAAA думро кам мекунанд.
Танҳо барои дархостҳои idempotent; jitter, маҳдудияти бозпардохти буҷа.

Танзими танзими ҳалли вақти корӣ:
  • Java: 'шабакасозӣ. кэш. tl ',' либоси шабакавӣ. кэш. манфӣ. тл '.
  • Бирав: 'GODEBUG = netdns = go '/' cgo', 'Resolver. Афзалияти Go ',' Dialtimeout '.
  • Гиреҳ: 'dns. Тартиби пешфарз ('ipv4first') ',' ҷустуҷӯ 's' all: true '.

10) Гузариши GSLB/DNS: амалия

TTL-ро аз 300 → 60 24-48 соат пеш аз гузариш ба нақша гиред.
Маҷмӯи канарейкаи нуқтаҳои вазни камро барои санҷиш нигоҳ доред.
Ба ҷои навсозии дастии A-records, вазни + санҷиши саломатиро истифода баред.
Барои статика/канор - Anycast; барои API - Geo/Latency + L7-feiler зуд.

11) Мушоҳида ва SLO барои ном

Нишондиҳандаҳо:
  • Сатҳи/таъхири дархостҳои DNS, таносуби хит кэш, хатогиҳо аз рӯи намуд (SERVFAIL/NXDOMAIN).
  • Фоизи дархостҳо бо посухҳои кӯҳна (агар истифодаи кэши кӯҳна).
  • Муваффақияти амалиёти корбар дар тағироти сабт (бизнес SLI).
  • p95/p99 ҳалли вақт дар барномаҳо.
Ташхис:
  • Роҳро стратификатсия кунед: муштарӣ → кэши маҳаллӣ → кэши нодал → ҳалли кластер → рекурсияи провайдер.
  • Пайгирии NXDOMAIN (Хатогиҳои ном/Typo) ва SERVFAIL (Масъалаҳои рекурсия/Маҳдудиятҳои захираҳо).

12) Намунаҳои конфигуратсия

Core-DNS: аз нав сабт кардан ва минтақаи stub

yaml
.:53 {
log errors cache 60 rewrite name suffix. svc. cluster. local. svc. cluster. local forward. 10. 0. 0. 2 10. 0. 0. 3
}

example. internal:53 {
file /zones/example. internal. signed dnssec
}

системаи ҳалшуда

ini
[Resolve]
DNS=169. 254. 20. 10
FallbackDNS=1. 1. 1. 1 8. 8. 8. 8
Domains=~cluster. local ~internal
DNSSEC=yes

Фиристанда: DNS-таровати динамикӣ

yaml dns_refresh_rate: 5s dns_failure_refresh_rate:
base_interval: 2s max_interval: 30s respect_dns_ttl: true

dns (дастгирии минтақаи ҷамъиятӣ)

yaml args:
- --source=service
- --source=ingress
- --domain-filter=example. com
- --policy=upsert-only
- --txt-owner-id=cluster-prod

13) Рӯйхати санҷиши амалисозӣ (0-30 рӯз)

0-7 рӯз

Феҳристи номи хидмат, интихоби модел (client-/server-side/гибрид).
Basic TTL, панели панели DNSC DNSC, DNS-ро фаъол созед.
Манъи "IP-и сахт" дар конфиг/код.

8-20 рӯз

Хидматҳои бефоида + SRV барои GRPC; Нуқтаи нуқта фаъол аст.
GSLB/вазн барои берунӣ; санҷишҳои тиббӣ ва канарӣ.
Вақт/бозпас гирифтани мизоҷон ва буҷети бозпас танзим карда мешавад.

21-30 рӯз

Тақсим-уфуқ ва минтақаҳои хусусӣ; Аз рӯи сиёсат До/ДО.
Гузаронидани санҷиш (аз ҷониби TTL) ва feilover; пас аз таҳлил.
Mesh/EDS, сиёсати берунӣ-ejection фаъол аст.

14) Анти-намунаҳо

TTL = 0 дар prod → тӯфон ба такрорӣ, таъхирҳои пешгӯинашаванда.
Рамзи IP/порт, барои сатҳҳо CNAME/тахаллус нест.
Тағир додани сабтҳо "дастӣ" бидуни муоинаи тиббӣ ва канарейкаҳо.
Як ҳалкунандаи глобалӣ бе кэши гиреҳ (зарфият).
Нодида гирифтани кэши манфӣ (хӯшаҳои NXDOMAIN).
Кӯшишҳо барои "шифо додан" -и нокомии пойгоҳи додаҳо тавассути DNS ба ҷои қабати додаҳо/feilover.

15) Нишондиҳандаҳои камолот

100% номҳо истифода мебаранд; сифр ҳолатҳои сахт-IP.
Core-DNS/NodE Local дар фурӯш, таносуби кэш> 90% дар гиреҳҳо.
GSLB бо санҷишҳои тиббӣ, тугмаҳои ҳуҷҷатгузории TTL ва runbook.
SRV/Endpoint ​ ​ Slice барои давлатӣ/GRPC, вақти ҳалли p99 дар барномаҳо ≤ 20-30 мс.
Огоҳиҳо барои таназзули хит-таносуби cache SERVFAIL/NXDOMAIN.
Санҷишҳо дар CI: манъ ': охирин' ва IP-и сахт дар диаграммаҳо/конфигуратсияҳо.

16) Хулоса

Кашфи хидмат як шартномаи устувор ва интизоми кэш мебошад. Сохтани модели гибридӣ: DNS воридшавии зуд ва осонро медиҳад, L7/mesh - сиёсати саломатӣ ва интеллектуалӣ. TTL интеллектуалӣ, кэши мизбон, хидматҳои бефосила ва SRV-ро дар ҷойҳои зарурӣ нигоҳ доред, GSLB/Anycast-ро барои сарҳадҳои минтақавӣ истифода баред, ба NXDOMAIN/SERVFAIL ва p99 ҳалли вақт нигоҳ кунед. Он гоҳ номи шумо ҳамчун дороии боэътимод ҳамчун худи хидмат хоҳад буд.

Contact

Тамос гиред

Барои саволҳо е дастгирӣ ба мо муроҷиат кунед.Мо ҳамеша омодаем!

Оғози интегратсия

Email — муҳим аст. Telegram е WhatsApp — ихтиерӣ.

Номи шумо ихтиерӣ
Email ихтиерӣ
Мавзӯъ ихтиерӣ
Паем ихтиерӣ
Telegram ихтиерӣ
@
Агар Telegram нависед — ҷавобро ҳамон ҷо низ мегиред.
WhatsApp ихтиерӣ
Формат: рамзи кишвар + рақам (масалан, +992XXXXXXXXX).

Бо фиристодани форма шумо ба коркарди маълумот розӣ ҳастед.