复杂的web—web中B/S网络架构

科技动态 2018-07-16 阅读原文

web中B/S网络架构

1:web中B/S网络架构

2:CDN工作机制和架构

3:负载均衡;

B/S分别是浏览器/服务器,架构流程为;

当你访问网站的时候,浏览器发送各种请求给浏览器,
服务器返回各种默认资源给用户;

这当中涉及好多的东西,怕是全讲出来会有被打

1:域名到ip地址的映射;浏览器发送请求,然后DNS域名服务解析你访问的一个网站域名,例如将我的博客域名解析成ip地址;

2:负载均衡LB设备选择服务器处理请求;服务器不止一台,需要哪台服务器去解决,就需要负载均衡设备LB确定哪台来处理你的请求;

3:到数据库, 文件系统,分布式缓存系统取数据;请求可能需要一些数据,文件,这些信息服务器没有,服务器需要去别的地方找,别的地方有三个:
数据库, 文件系统,分布式缓存系统;

4:CDN处理一些静态资源请求;
有时候,还需要加载个图片,需要加载渲染的样式css/js什么的,就需要向CDN服务器请求;

其中1涉及的DNS域名解析细致包含十个步骤:

1:浏览器检查浏览器缓存,有的话直接解析;

2:没有就检查操作系统缓存host文件;(去年十二月之前可以更改本机中的缓存host文件,让其解析到外网,实现FQ,现在不行了,当然我不提倡这种做法,这样不安全,例如域名挟持,当你让你访问b站总是跳转到某宝或者某东的付款页面什么的)

3:还没有就去检查本地的DNS服务器查找,LDNS一般是在本地的电信移动或者自己学校,不会很远;

4:还没有就去根域名服务器Root Server请求了,全球只有十三台的;位于美国的;

5:根域名Root Server返回给本地域名服务器LDNS
一个查到的国际顶级域名服务器gTLD Server,

6:LDNS向得到的gTLD请求,

7:gTLD查到域名对应的Name Server服务商,电信移动等,域名让Name Server完成;

8: Name Server查询储存的域名和ip对应关系,包含其TTL一块返回给DNS Server, ;

9:lDNS接收并缓存对应关系,缓存时间是TTL;

10:LDNS最终返回给用户解析结果;

电脑上可以敲一下:win+R,输入cmd

跟踪解析:

nslookup 域名

清除缓存:

ipconfig/flushdns

域名解析方式有五种:域名解析记录主要分为A记录、MX记录、CNAME记录、NS记录和TXT记录。

A记录:

A代表的是Address,用来指定域名对应的IP地址,如将 item.taobao.com
指定到115.238.23.241,将 switch.taobao.com
指定到121.14.24.241。A记录可以将多个域名解析到一个IP地址,但是不能将一个域名解析到多个IP地址。

MX记录:

表示的是Mail Exchange,就是可以将某个域名下的邮件服务器指向自己的Mail Server,如 taobao.com
域名的A记录IP地址是115.238.25.245,如果MX记录设置为115.238.25.246,是 xxx@taobao.com
的邮件路由,DNS会将邮件发送到115.238.25.246所在的服务器,而正常通过Web请求的话仍然解析到A记录的IP地址。

CNAME记录:

全称是Canonical Name(别名解析)。所谓的别名解析就是可以为一个域名设置一个或者多个别名。如将 taobao.com
解析到 chaojijuhui.com
,将 srcfan.com
也解析到 chaojijuhui.com
。其中 chaojijuhui.com
分别是 taobao.com
srcfan.com
的别名。前面的跟踪域名解析中的” www.taobao.com
. 1542 IN CNAME www.gslb.taobao.com
”就是CNAME解析。

NS记录:

为某个域名指定DNS解析服务器,也就是这个域名有指定的IP地址的DNS服务器去解析,前面的” gslb.taobao.com
. 86400 IN NS gslbns2.taobao. com.”就是NS解析。

TXT记录:

为某个主机名或域名设置说明,如可以为 taobao.com
设置TXT记录为”nupt想象之中”这样的说明。

其中涉及的东西不变的是url,全部基于http传输协议,ip是网络动态分的,你开个飞行模式再关闭就改变了的;

第二步中涉及的负载均衡设备LB选择服务器的方式
主要分为三种:

链路负载,操作系统负载,集群负载

链路负载:DNS解析成不同的ip,访问的不同的服务器;

操作系统负载:利用操作系统级别的软中断,硬中断,达到负载均衡;(不懂)


集群负载:硬负载F5和软负载LVS+Nginx等包含太多运维和架构知识了,https的普及导致架构修改好多,贴个历史演进; http://www.cnblogs.com/mindwind/p/5339657.html

第三部文件读写最最最关键,写不完的,写不完的,到数据库, 文件系统,分布式缓存系统取数据,互联网信息传输瓶颈就是这个;

第四步中CDN处理静态资源主要涉及

CDN工作机制和架构

CDN内容分布网络流量分配网络,比镜像智能,相当于 镜像+缓存+整体负载均衡GSLB,工作机制如下:

1:重复上面说的dns解析步骤就不说了,不过这次是为了解析到距离公司最近CDN节点的ip地址;

2:其中涉及公司自己的DNS会将CNAME解析到另外一个域名来指向CDN全局DNS服务器GTM,GTM来确定位置并返回最近的CDN节点

3:拿到最近CDN节点的ip地址后,就直接访问静态文件,如果最近CDN还没有,CDN再去源站取文件

博客园精华区

责编内容by:博客园精华区阅读原文】。感谢您的支持!

您可能感兴趣的

Envato不停机迁移边缘网络提供商 看新闻很累?看技术新闻更累?试试 下载InfoQ手机客户端 ,每天上下班路上听新闻,有趣还有料! CDN提供商 Envato 通过 迁移 边缘网络,将旗下分布式拒绝服务(DDoS)和Web应用程序防火墙(WAF...
阿里云CDN高级技术专家阙寒:Tengine直播最佳实践... 在上周刚落幕的开源人盛会IT人也迎来了开源盛会LinuxCon + ContainerCon + CloudOpen中国(简称LC3)大会上,阿里云CDN团队的高级技术专家阙寒(花名),为大家分享CDN在使用Tengine构建直播系统的一些...
森华易腾推出CDN智能服务管理平台 坚持服务至上理念,森华易腾近日宣布推出CDN服务新平台——森华易腾CDN智能服务管理平台。 迎合未来发展趋势 CDN即内容分发网络。其基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更...
阿里云全站CDN – PHP代码 因为还是用WP的多,还是发WP代码吧,EMLOG用户只需要修改钩子就可以了. 这个文件放到function.php的结尾,自动加载.
DNS, CDNs and CAs represent Achilles’ Heel f... Internet infrastructure may be fairly resilient thanks to its distributed nature, but the web we've built on top of i...