理论研究漫谈传统传统IT基础设施04-服务器(下)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了理论研究漫谈传统传统IT基础设施04-服务器(下)相关的知识,希望对你有一定的参考价值。
本文欢迎转载,转载请注明出处和作者。最后,从部署应用的维度,对服务器进行一下探讨。
何谓服务器
所谓服务器,其实就是硬件配置比较好(CPU、内存等),关键部件冗余配置(电源、网卡等),安装了能够开机自启动及对外服务的应用程序,能够7*24小时全天候不关机且能稳定运行不死机的电脑。
说白了,当你的笔记本安装了windows系统,然后右键属性将文件夹设置共享,并且设置好访问权限。局域网内的授权用户能够“你的笔记本IP地址”,就能访问你的共享目录。那么你的笔记本电脑,在某种意义上,就是文件服务器了。
你的笔记本电脑,安装了个播放器软件,能够播放小电影了,某种意义上,也是个媒体服务器了。
如何用服务器构建业务系统
在以往,特别是WEB1.0的时代,也就是静态网页的时代。上网就是为了打开网站,而网站基本上都是类似新闻门户类的网站。信息是单向传播的,也就是你只能上去网站浏览信息,他们给你看啥你就看啥,他们不给你看啥,你就没得看。并且看归看,既不能评论,也不能转发,所以用户与网站完全是零交互的。
静态网站
这种情况下,只需要找台服务器,安装上Windows/Linux操作系统,并且进入操作系统之后,Windows安装自带的IIS功能,Linux安装个Apache的软件(静态网站软件),然后编写一些html文件,放到指定目录里面,网站就可以供别人访问了。
(当然这里只谈服务器,网络什么私网地址NAT映射至公网地址等东西暂且不表)
这个时候,业务系统就单纯是单台服务器+静态网站应用软件(IIS/Apache)。
记得那个年代有很多网页开发的书籍,就叫做《网页制作三剑客》,主要是讲述使用Macromedia公司开发出来的,Dreamweaver,Fireworks,Flash三个软件,来进行网站开发。Dreamweaver可以做页面布局与网页元素的排列,Fireworks图像、矢量图的编辑,Flash估计就不用多作介绍了,可以做那个年代很火的动画制作。
然而那时候,这些网站也会称自己为动态网站,但是这里的“动态”,是指例如页面的广告位的图片会自动轮换,页面的Banner会有Flash插入的动画,会有个简单的动画播放。而不是现在的“动态网站”,指的是与用户有交互,例如用户有账户,可以登录、回帖、评论、签到、秒杀等。
动态网站
到了WEB2.0时代,单向传输信息已经不能满足人们的诉求了。网民上网要求能够与网站交互,单纯的静态页面就不够用了。
这个时候,服务器首先还是要安装静态网站的软件(IIS/Apache),然后既然要存储用户的账号、密码、身份信息、评论等内容,当然要找个地方存取(存入与读取),所以就要安装数据库软件了(主流mysql、Oracle、SQL Server)。静态网站的软件是怎么与数据库连接起来的呢。
静态网站软件用的是html语言编写的html的文件,而数据库软件则是用的SQL命令进行存取的东西,相当于一个讲中文,一个讲英文,所以这两个东西是通信不了的。
那么怎样才能让一个讲中文的中国人与一个讲英文外国人正常沟通呢?那当然就是找个翻译当中间人啦。
计算机亦然,所以就出现了php、JSP、ASP等动态网页语言,相当于可以将前端html的请求翻译成SQL,然后从数据库里面读取数据,翻译为html的语言,然后再返回给前端。
这里就不能不介绍经典的LAMP组合了,Linux+Apache+Mysql+PHP,由于4个软件都是开源的,免费、轻量、容易部署,因此很多个人应用(如博客),企业创业初期,LAMP都是用作建站的首选架构。
这个时候,可以在单台机器(Linux/Windows)上面安装好Apache+Mysql+PHP,然后将写好的网站内容放上指定目录,把几个服务都起起来,并且相互打通即可。此时业务系统,就是1台服务器。
基本功能拆分
用户规模日渐增大,单台机器的性能不足了,此阶段最简单的做法就是拆分机器。2台(1台WEB服务器–安装Apache与PHP,1台数据库服务器–安装mysql),就能够很好地提升问题。而一个动态网站(一个最小化的完整业务系统),就是1台WEB服务器与1台数据库服务器就构建起来了。
这就是之前说的服务器为什么按照功能维度划分,分为WEB服务器与数据库服务器的原因了。有点像化学里面,“原子(动态网站)是化学变化(业务系统)里面的最小粒子,由原子核(WEB服务器)与电子(数据库服务器)组成”一样。
持续添加功能
随着用户量的增长,原有的设备,无论是性能(纵向),还是功能(横向),很可能都无法继续满足业务系统的发展要求。
这个时候,纵向需要继续增加WEB与数据库服务器。
横向,就要根据功能需求增加五花八门的其他类型服务器了,并且这些功能服务器通常只为了解决一个类型的问题:
例如可能把网站的静态图片集中存放到1台服务器,html上面的图片地址直接指向这台服务器的图片,不用从数据库里面提取,加快页面加载速度(缓存服务器)。
或者将用户上传的文件存放到1台服务器,供大家共享上下载。(文件服务器)
或者将所有打印机驱动与打印机安装到1台服务器,所有用户都通过连接这台服务器来与打印机通信,打印。(打印服务器)
因为这些功能大多都只为了解决某一个需求/问题,而且基本上都在一条平行线上,互不交叉/重叠,没有交集,因此不好对它们分门别类。
因此一般就把他们归类为除WEB与数据库服务器之外的第三类:应用服务器(其实白话说,就是其他功能服务器)。
说完这一节,传统IT基础设施服务器部分的理论就讲完了,后面就开始讲网络部分的理论。
更多精彩内容,可以关注我的微信公众号:Waiting的运维日常
以上是关于理论研究漫谈传统传统IT基础设施04-服务器(下)的主要内容,如果未能解决你的问题,请参考以下文章