当前位置:首页 > 科技  > 软件

如何实现一个支持海量大并发的服务?

来源: 责编: 时间:2024-03-18 09:38:56 267观看
导读一、前言提到“海量大并发”,一般人首先想到的也许是春运期间的“12306”,或者曾经风光无二的“天猫双十一”。尤其是12306,据说其在春运期间的QPS(Queries-per-second 每秒查询率)达到100万。然而,无论“12306”或是“天

一、前言

提到“海量大并发”,一般人首先想到的也许是春运期间的“12306”,或者曾经风光无二的“天猫双十一”。尤其是12306,据说其在春运期间的QPS(Queries-per-second 每秒查询率)达到100万。86I28资讯网——每日最新资讯28at.com

然而,无论“12306”或是“天猫双十一”的并发有多高,其都注定无法超越另一个网络服务的并发量,它们再大的并发都只能算这个服务所承受并发的一部分,甚至可能还是比较小的那部分,这个服务就是:DNS。86I28资讯网——每日最新资讯28at.com

DNS为全球所有的互联网(Internet)用户提供域名解析服务,这些用户除了自然人,甚至包括大量自动运行的程序。DNS服务对互联网而言,如同空气一样重要,又如同空气一样无形。它是如此稳定而透明,就像不存在一样,实际却承受着几乎全世界最大的并发压力,而且是一年365天,时时刻刻都承受着。86I28资讯网——每日最新资讯28at.com

而无论是“12306”还是“天猫双十一”,它们所承受的并发再大,终究是要通过请求域名的方式来进行,所以它们的压力只会是DNS系统所承受压力的一部分。所以,如果你想研究“海量大并发”,不用看那些“解密12306”的文章,踏踏实实把DNS的原理搞透彻,这"海量大并发"的绝世武功基本就是你的了。86I28资讯网——每日最新资讯28at.com

二、关于DNS

那DNS是怎么做的呢?86I28资讯网——每日最新资讯28at.com

要支持如此巨量的并发,可以肯定的是,仅仅依靠软件是不够的,还需要相配套的硬件支持。所以首先需要足够数量的服务器,并将其广泛架设在用户群体之中,这里的第一批服务器就是“顶级域名服务器”。86I28资讯网——每日最新资讯28at.com

顶级域名服务器是一个集群,整体而言就像一个“内阁”,这个内阁会服务于一位皇帝,而这位皇帝就是“根域名服务器”。严格按照DNS系统来说,其实不止一位“皇帝”,即根域名服务器其实也远不止一台,这里为了简化模型就假定只有一个。86I28资讯网——每日最新资讯28at.com

每台顶级域名服务器就是“内阁大臣”,它们共同分担皇帝的压力。但内阁是直接辅佐皇帝的,并不直接承担业务压力,所以在顶级域名服务器之下,又有一个集群,那就是“权威域名服务器”。86I28资讯网——每日最新资讯28at.com

权威域名服务器就像设置在各个行省的“总督”,每个总督直接负责自己的一片区域,接受该区域的用户进行域名注册,并对这些域名提供解析服务。但即便是这些权威域名服务器,除了接受域名注册请求外,一般也不直接对普通用户提供域名解析服务,而是交由“本地域名服务器”来做。86I28资讯网——每日最新资讯28at.com

图片图片86I28资讯网——每日最新资讯28at.com

可是用户的域名注册信息都在“权威域名服务器”中,他找“本地域名服务器”做解析服务,后者怎么知道对应IP呢?86I28资讯网——每日最新资讯28at.com

在开始时它当然不知道,所以本地域名服务器会直接上奏“DNS皇帝”这个情况,即直接请求根域名服务器。86I28资讯网——每日最新资讯28at.com

以abc.com域名为例,根域名服务器收到某个本地域名服务器的解析服务请求后,它可以通过abc.com这个地址的顶级域名com得知负责此域名的顶级域名服务器,于是就会将域名解析请求转给它。86I28资讯网——每日最新资讯28at.com

顶级域名服务器通过abc.com这个地址的abc查询,得知这个二级域名当初是交给哪个权威域名服务器管理后,就将解析请求交给那个权威域名服务器。于是这个权威域名服务器再查看普通用户在它这里的注册信息,于是找到abc.com对应的IP,将其返回给顶级域名服务器。86I28资讯网——每日最新资讯28at.com

接下来顶级域名服务器将结果继续返回给根域名服务器,根域名服务器再返回给本地域名服务器,本地域名服务器最终将结果IP返回给用户主机。86I28资讯网——每日最新资讯28at.com

图片图片86I28资讯网——每日最新资讯28at.com

在这种方式中,本地域名服务器只用和根域名服务器打交道,叫“递归查询”,但它不是唯一的查询方式。86I28资讯网——每日最新资讯28at.com

还有一种方式是,根域名服务器在得知负责abc.com这个域名的顶级域名服务器的IP后,会直接返回给本地域名服务器,让本地域名服务器自己去请求顶级域名服务器,而不是代为请求。后面请求权威域名服务器也是同理,这种方式就叫“迭代查询”。86I28资讯网——每日最新资讯28at.com

图片图片86I28资讯网——每日最新资讯28at.com

本地域名服务器在获知用户abc.com这个域名的IP后,一方面它会将结果返回给用户主机,另一方则会将此结果缓存,这样下次有用户再请求这个域名时,它就可以直接返回结果了。86I28资讯网——每日最新资讯28at.com

这里必须着重强调下缓存,它是整个分布式架构中的重要组成部分,是分担系统压力的重要机制。86I28资讯网——每日最新资讯28at.com

通过这样一个分布式的分层架构,海量的域名解析请求就被分摊到至少4层主机中了,再配合本地域名服务器的缓存,整个DNS系统中每台服务器的实际压力都会减少很多。于是看起来很恐怖的并发量,在众多服务器以及缓存的共同支撑之下,就显得不是那么困难了。86I28资讯网——每日最新资讯28at.com

三、总结

DNS的域名解析服务可以如此处理,其他各种类型的服务亦是如此,区别只是并发请求的内容,但应对并发本身的手段是可以相互参考的。86I28资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-76497-0.html如何实现一个支持海量大并发的服务?

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: 还在用Calendar操作Date?Java8都被放弃了,你还不知道Java8中全新的日期时间API

下一篇: 记一次 .NET某设备监控自动化系统 CPU爆高分析

标签:
  • 热门焦点
  • 十个可以手动编写的 JavaScript 数组 API

    JavaScript 中有很多API,使用得当,会很方便,省力不少。 你知道它的原理吗? 今天这篇文章,我们将对它们进行一次小总结。现在开始吧。1.forEach()forEach()用于遍历数组接收一参
  • 把LangChain跑起来的三个方法

    使用LangChain开发LLM应用时,需要机器进行GLM部署,好多同学第一步就被劝退了,那么如何绕过这个步骤先学习LLM模型的应用,对Langchain进行快速上手?本片讲解3个把LangChain跑起来
  • JavaScript学习 -AES加密算法

    引言在当今数字化时代,前端应用程序扮演着重要角色,用户的敏感数据经常在前端进行加密和解密操作。然而,这样的操作在网络传输和存储中可能会受到恶意攻击的威胁。为了确保数据
  • 这款新兴工具平台,让你的电脑效率翻倍

    随着信息技术的发展,我们获取信息的渠道越来越多,但是处理信息的效率却成为一个瓶颈。于是各种工具应运而生,都在争相解决我们的工作效率问题。今天我要给大家介绍一款效率
  • 慕岩炮轰抖音,百合网今何在?

    来源:价值研究所 作者:Hernanderz“难道就因为自己的一个产品牛逼了,从客服到总裁,都不愿意正视自己产品和运营上的问题,选择逃避了吗?”这一番话,出自百合网联合创
  • OPPO K11搭载高性能石墨散热系统:旗舰同款 性能凉爽释放

    日前OPPO官方宣布,将于7月25日14:30举办新品发布会,届时全新的OPPO K11将正式与大家见面,将主打旗舰影像,和同档位竞品相比,其最大的卖点就是将配备索尼
  • 英特尔Xe-HP项目终止,将专注Xe-HPC/HPG系列显卡

    据10 月 31 日消息报道,英特尔高级副总裁兼加速计算系统和图形事业部总经理 表示,Xe-HP“ Arctic Sound” 系列服务器 GPU 已经应用于 oneAPI devcloud 云服
  • SN570 NVMe SSD固态硬盘 价格与性能兼具

    SN570 NVMe SSD固态硬盘是西部数据发布的最新一代WD Blue系列的固态硬盘,不仅闪存技术更为精进,性能也得到了进一步的跃升。WD Blue SN570 NVMe SSD的包装外
  • 亲历马斯克血洗Twitter,硅谷的苦日子在后头

    文/刘哲铭  编辑/李薇  马斯克再次挥下裁员大刀。  美国时间11月14日,Twitter约4400名外包员工遭解雇,此次被解雇的员工的主要工作为内容审核等。此前,T
Top