—赛迪网实例分析
赛迪网(www.ccidnet.com)是一个面向99v行业和用户的专业性垂直网站,分为赛迪信息网,赛迪商务网和赛迪咨询网。其中赛迪信息网采用纯Linux解决方案,采用的产品主要有Redhat Linux Server、Workstation、Powertools等。主体系统均安装高可用性易于扩充的集群系统,使用Apahce+Informix+PHP结构。网络结构示意图如图1所示。
Web 服务器
赛迪网的Web服务器使用最流行的Apache。Redhat Linux与Apache的经典组合目前得到了日益广泛的应用和专家的一致认可。特别在响应和处理请求的速度方面表现卓越。同时在高负载量的评测中也表现出色。由于七成以上的页面是动态内容,从数据库中提取数据动态生成,所以前段采用了PHP语言来设计网页。同时赛迪网的后台发布系统也使用PHP作为开发语言。为了保障网站的不间断运行,Web服务器使用集群结构,保障了整个网站在高负载下的动态伸缩和良好运转。
代理服务器
为了提高Web服务器的响应速度和效率,同时出于安全因素的考虑,在整个Web服务器集群的前段是能够起到加速和保护功能的代理服务器。赛迪网的代理服务器使用目前公认的效率最高,功能也最强大的squid软件。Redhat自带的squid好像有一些问题,建议直接去squid的站点下载最稳定版本(http://squid.nlanr.net/squid/)。真正同客户段打交道的是squid软件而不是直接和Web服务器通讯,对系统外的用户来说,真正的Web服务器是不可见的,这在很大的程度上保障了系统的安全性。出于负载均衡和易伸缩性的考虑,squid实际上也采用集群结构,由DNS服务器的查询轮转功能实现负载均衡。
集群服务器
什么是集群服务器呢?
1.集群服务器是用两个(或更多)的系统(节点)在一起工作,来提供相同服务或实现相同目的。
2.外面看来,整个看起来像一个系统。
3.集群服务器用来提高服务的稳定性和核心网络服务的性能。
实际上,集群服务器(即Cluster)只是一个比较笼统的概念,大家所熟悉的“并行计算”只是Cluster的一个方面,这方面的主要应用就是用低成本的“低档”电脑去做super computer的工作。Cluster分为下面几方面:
1.High-Availability (HA)
2.Load Balance
3.Scientific
1.HA用在不允许中断服务的场合。实际上是两台(或更多台)计算机通过一定方式互相监听,实现热备份。当其中Primary Server出现问题时,Standby Server能够自动立即接替工作,使用户感觉不出停机。在Primary Server恢复正常之后,Standby Server又会把工作还给Primary Server。表1给出了一个可用性级别的划分。
2.Load Balance应用在Web Server上比较多(尽管它支持很多别的协议如FTP、Telnet、Sendmail等,但用处最多的还是HTTP服务)。用户访问一个地址,但实际上后台是有若干台服务器在提供服务。而当服务请求达到饱和时,还可以很容易地再添加新的节点而不用停掉整个Cluster,实现所谓的“热插拔”,这也就是Cluster中的一个概念—Scalability(易扩展性)。而且,Cluster还会查询真实节点的情况,当某台真实节点没有响应时,就不再把任务分配到那里,直到这台节点恢复正常。
3.Scientific主要用于计算量大的场合,比如图像处理。由于赛迪网并没有这方面的应用,所以在此不深入讨论。
目前比较新的解决方案是HA Scalability/HA Load Balancing Clusters,采用这种方案的有:Resonate Central Dispatch、F5 BigIP、Cisco LocalDirector、TurboCluster Server、LVS(Piranha, UltraMonkey)。而这些方案中,最具价格优势的是TurboCluster和LVS。TurboCluster软件目前约20000元人民币,而LVS(Linux Virtual Server)则是完全免费的(而它的性能完全可以和上述产品媲美)!赛迪信息网使用的就是Redhat Linux自带的LVS软件Piranha。和传统方式相比较,LVS提供了4种分配方法(Load-balancing Methods)和3种转发机制(Traffic Forward Mechanism)。在4种分配方法中,我们使用的是比较简单DNS的轮转,用户可以根据自己的调研和分析,使用适合自身网站实际情况的其他方式,比如在路由器上把任务分给多台机器。前一种做法是完全随机的,它的优点是配置简单,管理方便,并行服务器可以位于互联网的任意位置上;第二种做法是固定的,两者都不会根据当时情况调整分配到真实节点上的任务量。3种转发机制中塞迪网使用了最常见的也是最容易配置和管理的VS-NAT。这种方式只需要几个公有IP,真实节点都在内部使用私有IP。而且真实节点可以是任何系统(包括NT),缺点是Router(Switcher)是整个系统的瓶颈,因为所有的数据都会通过Router。一般真实节点数为20台左右时将会有出现瓶颈,但对赛迪网这样的大型专业网站已经够用了。由于集群结构良好的伸缩性,在出现瓶颈时可以迅速增加服务器数量而系统的整体结构不必有大的改变。通过集群的应用,充分保障了赛迪网的高负载量,高度稳定性和快速响应速度。见图2所示。
[1] [2] 下一页
数据库服务器
数据库服务器产品,赛迪网采用的是Informix的动态服务器(IDS)。Informix动态服务器是一种强有力的多线索数据库服务器,具有超群的可伸缩性、易管理性和高效运行的能力。 Informix动态服务器的基础,是Informix领先于业界的动态可伸缩体系结构(Dynamic Scalable Architecture,简称DSA)。DSA是适用于在整个企业范围内提供高度并行处理能力的体系结构,不仅适用于桌面系统和部门级系统,而且也适用于数据中心的各类应用。
Informix动态服务器有以下特点:
·动态服务器的高效运行特性,能在较短的时间内处理更多的数据,因此能快速地得到关键性业务问题的答案。
·动态服务器的可伸缩性,使客户很容易根据不同要求扩展和剪裁自己的数据库,同时又能满足性能要求并使企业在99v方面已作出的投资得到保护。
·动态服务器的可扩展性,使数据库能够管理不断出现的新的信息类型和新的业务逻辑。因此,客户可以灵活地按照自己的业务要求调整自己的数据库,以适应市场的动态变化并对客户的多种要求主动地和及时地作出回应。
数据库服务器是网站服务器的核心,在赛迪网不间断的运行的一年中,我们应用的Informix数据库经受了严峻的考验,即使在访问的峰值期间,Informix数据库也出色地完成了客户请求,没有发生任何宕机或死锁现象。
邮件服务器
赛迪网是使用Qmail来构建自己的邮件系统,这是一种可以完全替代Sendmail-binmail体系的新一代功能强大的UNIX邮件系统。Qmail有以下一些优点:
1. 安全—Qmail将E-mail处理过程分为多个分过程,尽力避免用root用户 运行。同时Qmail也禁止对特权用户(root,deamon等)直接发信。
2. 可靠—Qmail的直接投递保证E-mail在投递过程中不会丢失。Qmail同时支持新的更可靠的信箱格式Maildir,保证系统在突然崩溃情况下不致破坏整个信箱。
3. 高效—在一台运行于PIII的Linux上, Qmail每天可以轻松地投递几十万封信件而不发生错误或异常。由于业务需要,赛迪网每天有极大量的邮件需要投递,而Qmail出色地完成了这一任务。非常令人满意。
4. 简单—Qmail要比其他的Internet E-mail系统小得多。Qmail通过统一的向前机制完成forwarding、alias和maillist等功能,Qmail使用简单高效队列来处理投递。Qmail-smtpd可以由inetd启动,节省了一定资源。
网站发布系统
赛迪网的网站发布系统,主要使用PHP作为编程语言,纯Web界面,编辑通过它与内部的服务器进行交互,当确认无误时,内部服务器会自动与网站的真实服务器进行同步,保障了数据的正确性。同步软件我们采用Redhat自带的rsync软件。rsync是个出色的镜像工具,当服务器上的文件被删除时它能相应地删除本地文件。
网站的负载及流量监控
网站的负载及流量监控对ICP来说,是非常重要的。通过对这些数据的分析,网站的管理员能够及时准确地把握网站的运行状况,根据这些分析结果,管理员可以量身定制网络结构和最适合的软硬件产品。同时由于网站的访问量经常出现峰值现象,并具有一定的不确定性,所以分析和掌握这些数据对网站业务制订具有相当的参考价值。Linux同许多UNIX一样,提供了很多小巧的工具用于网站负载和流量监控,诸如top、netstat等。赛迪网使用的是另一个出色的工具—ntop。
ntop是用于显示网络和系统使用情况的软件,并和现在流行的UNIX 的命令相似。ntop 以libpcap 为基础,用一种紧凑的方式写成。ntop 实际上是一个具有包嗅探器功能的软件,它提供了强大并具有相当灵活性的界面,同时具有top软件的功能。由于ntop 在功能性上发展极快,已经不能将其简单地看成是网络扫描器。表2是它的使用界面之一。
安全因素的考虑
网络安全和系统安全是一个非常重要的课题,特别对网站来说,如何保护系统和数据不受非法入侵者的破坏是最需要考虑的因素之一。很小的失误可能造成致命的后果。基本上你运行的服务后台越多,你就可能存在的安全漏洞也越多。很多人认为开放源码的操作系统具有更大的安全隐患,我们认为恰恰相反。如果配置得恰当的话,Linux本身是非常安全可靠的。实际上,如果在Linux系统中有某个安全缺陷,由于Linux的源码是开放的,有成千上万的志愿者会立刻发现并修补它。
赛迪网在网络安全方面做了大量的工作,除了制订严格的管理制度,并请专业网络安全公司协助防护外,还利用Linux的特性和基于Linux的各种安全产品对赛迪网的安全进行了强化。
在网络方面,我们使用华安公司为赛迪网量身定做的Linux入侵监测系统(LIDS),它能够对网络数据进行一定程度上的分析,及时发现可疑的攻击行为并通知网络管理员。在很大的程度上降低了系统被破坏的风险,防患于未然。
在系统方面,Linux缺省的安全等级是0,通过修改内核源码linux/kerne
(出处:http://www.sheup.com)
上一页 [1] [2]
赛迪网在网络安全方面做了大量的工作,除了制订严格的管理制度,并请专业网络安全公司协助防护外,还利用Linux的特性和基于Linux的各种安全产品对赛迪网的安全进行了强化。
在网络方面,我们使用华安公司为赛迪网量身定做的Linux入侵监测系统(LIDS),它能够对网络数据进行一定程度上的分析,及时发现可疑的攻击行为并通知网络管理员。在很大的程度上降低了系统被破坏的风险,防患于未然。
在系统方面,Linux缺省的安全等级是0,通过修改内核源码linux/kerne
(出处:http://www.sheup.com)
上一页 [1] [2] [3]
赛迪网在网络安全方面做了大量的工作,除了制订严格的管理制度,并请专业网络安全公司协助防护外,还利用Linux的特性和基于Linux的各种安全产品对赛迪网的安全进行了强化。
在网络方面,我们使用华安公司为赛迪网量身定做的Linux入侵监测系统(LIDS),它能够对网络数据进行一定程度上的分析,及时发现可疑的攻击行为并通知网络管理员。在很大的程度上降低了系统被破坏的风险,防患于未然。
在系统方面,Linux缺省的安全等级是0,通过修改内核源码linux/kerne
(出处:http://www.sheup.com/)
上一页 [1] [2] [3] [4]