DNS nginx 在架构中的巧用

时间:2022-09-26 00:11:27
DNS服务的基本功能: (本质: 一个域名对应一个外网IP,一个外网IP 对应一台nginx服务,一台ninx 服务对应多个后台服务,实现后台服务 负载扩展)
客户的请求域名时,dns先解析域名为具体的外网ip,返给客户端客户端拿到外网IP, 访问外网IP指向 反向代理 nginxnginx 配置多个后台的 web-server实现服务端的负载均衡

DNS  反向代理水平扩展(本质:一个域名对应 多个外网IP,每个外网IP对应一台 nginx服务, 每台ninx映射相同的内网后台服务,实现反向代理ninx的负载 和后台服务的负载 )
DNS水平扩展nginx的思想: DNS 采取轮询的方式,把每一次域名请求解析为 对应的外网ip中的某一个 
应对场景: 鉴于nginx时整个系统的唯一入口,如果系统吞吐超过nginx的性能极限,承载不了过多的域名流量,难以扩容, 可通过 在dns服务上对同一个域名配置多个nginx外网IP, 每次DNS解析请求,轮询返回不同的IP

nginx层面下更小粒度的 分布式负载: 一般思想: 分模块集群部署
更小粒度的思想:
当个别模块流量比较大时,可以把这些模块在根据具体业务切分, 实现更小粒度的 分布式集群

京东商城的一个场景:
www.jd.com  首页  (可以设想为 DNS 解析域名 ,到可能多个外网IP,到对应多台nginx服务, 到多个后台集群服务)
www.xxxx.com  通过首页跳转某一个模块后,域名变为一个新的域名,而非jd的子域名 由此可见,京东商城的不同模块由不同的ninx负载,实现分布式集群