《深入分析Java Web》阅读笔记1

最近买了四本书,从君山大神的《深入分析Java Web》开始看。

大学的课程有些是真的无聊听不下去,预期玩手机浪费时间,不如看看技术类的书籍。

以下文章内容并非完全原创,引用和概括了书中的部分内容结合了个人感想,如有侵权联系删除!

废话结束。


第一章 深入Web请求过程

①B/S架构

优点:

  • 客户端使用的是统一的浏览器,具有统一性,不需要配置特殊的配置和网络连接,有效的屏蔽了不同服务提供商供给用户使用服务的差异,用户使用方便,操作简单。
  • 服务端(Server)使用的是统一的HTTP协议,为服务的提供商简化了开发的模式,使得服务器开发者可以采用相对规范的开发模式,大大节省开发成本。如A爬车、IIS、Nginx、Tomcat、JBoss等,这些服务器可以直接拿来使用,使得开发者只需要关注开发业务的逻辑。
  • 与传统C/S架构的长连接相比,HTTP采用无状态的短连接通信方式,通常情况下,一次请求就完成了一次数据交互,通常对应一个业务逻辑。这种方式可以同时服务更多的用户,提供了高并发量的可能。

②DNS域名解析

过程:

  1. 当浏览器中输入域名按下回车后,浏览器会先检查缓存中有没有这个域名解析过的ip地址,如果缓存中有,那么解析过程就结束。
  2. 若浏览器缓存中没有,浏览器则去查找操作系统中的缓存中是否有该域名对应的DNS解析结果。操作系统中也有一个域名解析的过程,在Windows中的路径为C:\Windows\System32\drivers\etc\hosts文件来设置它,如果在这里设置了一个域名对应的Ip地址,那么浏览器会首先使用这个Ip。
  3. 若本机中仍然无法解析则操作系统就会将 该域名发送给本机设置的“DNS服务器地址”中的LDNS,接入本地的DNS解析服务器,如互联网应用提供商在该城市设定的解析服务器,在LDNS服务器缓存中寻找该域名对应的IP地址,大约80%的域名解析到这一部就完成了,LDNS主要承担了域名的解析工作。
  4. 如果LDNS中仍未解析成功,LDNS就会发送到Root Server域名服务器请求解析,Root Server域名服务器返回给本地域名服务器(LDNS)一个所查询域的主域名服务器(gTLD Server 如.com、.cn、.org等)。
  5. 本地域名服务器继续向根服务器返回的gTLD服务器发送请求。
  6. gTLD服务器接受请求后返回查询域名对应的域名服务器(Name Server)的地址,Name Server是你注册的域名服务器,例如你在某个域名服务提供商申请域名,那么这个域名的解析任务就是在该提供商的服务器完成。
  7. Name Server域名服务器会查询它存储的域名和IP的映射关系表,然后连通一个TTL值返回给DNS Server域名服务器。
  8. Local DNS Server(LDS)收到返回的域名对应ip和TTL值后会缓存在本地。缓存的时间由TTL控制。
  9. LDS把解析的结果返回给用户,用户根据TTL值缓存在本地中,域名的解析过程结束。

③CDN加速

简介:

  • CDN是构建在网络上的内容分发网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等模块,使用户从距离最近的CDN服务器获得所需的内容,目前CDN都是以缓存网站中的静态内容为主,例如CSS,JS,图片和静态页面等数据,用户从主站服务器获得动态内容后再从CDN服务器上下载静态数据,从而加速网页数据内容的下载速度。

④负载均衡

简介:

  • 负载均衡就是对服务器工作任务进行调度分配,分摊到多个执行单元上执行,如CDN服务器,应用服务器等,共同完成任务。它可以提高服务器的访问速度及利用效率。解决高并发下的网络拥堵。

常见的的负载均衡架构有三种:链路负载均衡,集群负载均衡,操作系统负载均衡。

  1. 链路负载均衡是由DNS的解析完成的,用户访问哪个Web Server是由DNS Server来控制。该架构方式的优点是能够直接访问目标服务器,不需要经过层层代理服务器转发,通常访问速度会更快。缺点是由于DNS在本地和LDNS服务器上都有缓存,一旦某一台Web Server出问题,那么很难及时更新用户的域名解析缓存,那么用户将无法访问该域名。
  2. 集群负载均衡分为硬件负载均衡和软件负载均衡。
    • 硬件负载均衡:一般使用一台专门的设备来转发请求,性能优异,但是通常该设备非常昂贵,并且为了安全考虑需要准备备用机,而且在服务量突然增大超出极限时不能进行动态扩容。
    • 软件负载均衡:最常见的一种负载均衡方式,它的特点是使用成本低,缺点是一次访问请求需要经过多次的代理服务器会增加网络延时。
  3. 操作系统负载均衡:利用操作系统的软中断或者硬件中断来达到负载均衡,如可以设置多队列网卡等来实现(没看懂啥意思)

猜你喜欢

转载自blog.csdn.net/weixin_43184769/article/details/82670413