用户访问数据库的一般流程

1,DNS服务

用户在浏览器的地址栏输入地址域名,浏览器会查询这个域名与ip的关系是否已经存在本机的host文件中,如果没有,则会把请求发送給本机指定的域名系统(Domain Name System,DNS)服务器

计算机世界是以IP地址来定位服务器或PC的,DNS这项服务的目的就是将域名翻译成IP,使用者可以更加方便地访问互联网,DNS服务器有一定的层级,如果某个DNS服务器不知道如何翻译,就会问另一个,再不知道,就问下一个,这样就会有一个递归的过程。幸运的是,DNS可以缓存查询结果,这样我们就不需要经历重复冗长的过程去查找一个域名映射的IP地址。

DNS系统中常见的资源记录类型有如下两种
主机记录(A记录):用于名称解析的重要记录,它将特定的主机名映射到对应主机的IP地址上。
别名记录(CNAME记录):用于将某个别名指向到某个A记录上,这样的好处是修改IP的时候改A记录就可以了,对于有大量子域名的网站可以简化操作,统一维护域名指向。

DNS查询有两种方式:递归和迭代。DNS客户端设置使用的DNS服务器一般都是递归服务器,它服务站全权处理客户端的DNS查询请求,直到返回最终结果。而DNS服务器之间一般采用迭代查询的方式。

例如查询zh.wikipedia.org,客户端发送查询报文“query zh.wikipedia.org”至DNS服务器,DNS服务器首先检查自身缓存,如果存在记录则直接返回结果。如果记录老化或者不存在,则DNS服务器向根域名服务器发送查询报文“query zh.wikipedia.org”,根域名服务器返回“.org”域的权威域名服务器地址。DNS服务器向“.org”域的权威域名服务器发送插叙报文“query zh.wikipedia.org”,得到“.wikipedia.org”域的权威域名服务器的地址。DNS服务器向“wikipedia.org”域的权威域名服务器发送查询报文“query zh.wikipedia.org”,得到主机zh的A记录,存入自身缓存并返回给客户端。

这里有一个很重要的概念,TTL,简单的说,它表示的是一条域名解析记录在DNS服务器上的缓存时间,当一个递归域名服务器查询权威域名服务器获取某个域名的映射时,它会将该记录缓存上一定的时间,这个时间就是TTL指定的时间(以秒为单位),如果反复执行“dig www.msql.com”,就会发现这个缓存时间在减少,因为在你的DNS缓存中,这笔记录能够保存的时间开始倒计数,如果TTL没有归零,缓存服务器会简单的用已缓存的记录答复查询请求。若这个数字归零后,下次再有人重新搜寻这笔记录时,你的DNS就需要从权威域名服务器重新获取记录,也就是说,如果改变了域名的指向,那么最长需要TTL时间才会完全生效。

2,负载均衡

负载均衡软硬件设备如F5,Haproxy,LVS
负载均衡(Load Balance),即将负载进行平衡,分摊到多个操作单元上进行执行,例如Web服务器,FTP服务器,企业关键应用服务器和其他关键任务服务器等。
当后端的一台服务器宕机或过载,负载均衡软硬件设备将不再转发流量到这台服务器,转而发送到备用的服务器上,从而实现自动故障冗余切换。

最早的负载均衡技术是通过 DNS来实现的,在DNS中为多个地址配置同一个名字,因而查询到这个名字的客户机将得到其中的一个地址,从而使不同的客户访问不同的服务器,达到负载均衡的目的。DNS负载均衡是一种简单而且有效的方法,但是它不能区分服务器的差异,也不能反映服务器的当前运行状态,对于高并发,大流量的请求,很容易导致负载并不均衡。现实中,它可能作为更上层的负载均衡存在,完成粗粒度的流量调度任务,比如在机房之间使用DNS负载均衡,在机房内部使用其他负载均衡的方式。

F5负载均衡器是应用交付网络的全球领导者F5 Networks公司提供的一个负载均衡器专用设备,一般需要配置双机故障冗余切换。F5主要应用与传统行业内,如电信,移动,银行等,也有许多互联网公司使用F5设备,虽然F5设备比较昂贵,但在一定规模下,它可以降低企业的成本,代替系统管理员,工程师管理各种资源。F5设备除了负载均衡外,还有一些其他的功能,如利用压缩技术降低带宽支出,减少连接数等。
F5f等硬件设备毕竟是商业化的产品,比较昂贵,对于互联网公司,一般使用开源软件实现负载均衡,常用的有LVS,Haproxy等。

3,反向代理

反向代理是代理服务器的一种,比如Squid,Vanish等,它根据客户端的请求,从后端的服务器上获取子软,然后将这些资源返回给客户端。常用的代理服务为Squid,它可以作为缓存服务器,可以过滤流量保证网络安全,也可以作为代理服务器链中的一环,想上级代理转发数据或直接连接互联网,一些网站往往在前端增加Squid反向代理加速响应,提高吞吐量。Squid可以缓存内容,特别是一些静态的数据,如图片和文件,如果反向代理靠近用户的网络,那么用户就会得到延时很低的高质量访问,这正是CND技术的核心。

4,web服务器

Web服务器包括Nginx,Apache,Tomcat等

Apache HTTP Server是Apache软件基金会的一个开放源代码的网页服务器,Nginx是轻量级的网页服务器,它也可以作为反向代理,负载均衡器。在常见的网络架构中,Nginx往往配合php-fpm使用,Nginx负责处理静态请求,把PHP等动态请求抛给后端的php-fpm处理。或者Nginx处理前端的静态请求,把Apache放在后端处理一些动态请求。

5,应用服务器

应用程序服务器是通过很多协议来为应用程序提供商业逻辑的服务器,它将通过各种协议(包括HTTP),把商业逻辑暴露给客户端应用程序。Web服务器主要是处理向流浪器发送HTML以供浏览,而应用程序服务器则提供访问商业逻辑的途径以供客户端应用程序使用。

6,访问数据库

客户端不直接和数据库打交道,如果处理逻辑需要访问数据,则有应用服务器或Web服务器访问数据库,获取数据。

综述

以上架构是比较普通三层/四层架构,架构中也可能有一个缓存服务,以减轻数据库的压力。Web服务器,应用服务器到数据库服务器中间可能存在数据中间件,但更常见的做法是通过在Web服务器,应用服务程序配置文件里指定IP或内网域名来配置数据库路由。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 160,165评论 4 364
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,720评论 1 298
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,849评论 0 244
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,245评论 0 213
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,596评论 3 288
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,747评论 1 222
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,977评论 2 315
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,708评论 0 204
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,448评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,657评论 2 249
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,141评论 1 261
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,493评论 3 258
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,153评论 3 238
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,108评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,890评论 0 198
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,799评论 2 277
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,685评论 2 272

推荐阅读更多精彩内容