云主机的优缺点是什么呢
一、云主机的优点
(例如:易迈云 推出企业0元购买云服务器的永久性活动 )
云主机主要有三大优点。
(1)便宜。
因为服务可以分散到多台服务器,因此能够充分利用资源,这样就降低了硬件、电力和维护成本。而且,云主机是根据使用量计费的,多用多付,少用少付,所以对小网站特别有利。
(2)可靠。
因为服务分布在多台服务器、甚至多个机房,所以不容易彻底宕机,抗灾容错能力强,可以保证长时间在线。
(3)可扩展性好(scalability)。
云主机的基本特点就是分布式架构,所以可以轻而易举地增加服务器,成倍扩展服务能力。
二、云主机的缺点
一些客户担心云主机的安全问题,感到对服务缺乏控制。
因为云主机只是提供网络接口,所以客户的数据必然全部服从云服务公司的安排,完全在后者控制之下。数据是否安全保密,取决于后者的职业道德和保护能力。
但是,这其实是一个"伪问题",因为绝大多数情况下,云服务公司会比客户更在乎、也更善于保护数据。Paul Graham在《黑客与画家》一书中,就谈过这一点:
"反对者往往觉得我们的产品不安全,如果员工可以很容易地登录,那么坏人也可以很容易地登录。一些大公司觉得不能把客户的信用卡资料交给我们,而是放在自己的服务器上更安全。但是事实上,他们的服务器就是没我们的安全,我们对数据的保护几乎肯定比他们好。想想看,谁能雇到更高水平的网络安全专家,是一个所有业务就是管理服务器的技术型创业公司,还是一家服装零售商?而且我们比他们更关心数据的安全。如果一家服装零售商的服务器被入侵,最多只影响到这家公司本身,这件事也很可能在公司内部被掩盖起来,最严重的情况下可能还会有一个员工被解雇。但是,如果我们的服务器被入侵,就有成千上万家公司可能受到影响,这件事也许还会被当作新闻,发表在业内网站上面,使得我们生意做不下去,不得不关门歇业。如果你想把钱藏在安全的地方,请问你是选择家中床垫下面,还是选择银行?这个比喻对服务器管理的方方面面都适用,不仅是安全性,还包括正常运行时间、带宽、负载管理、备份等等,都是我们占优。"
三、如何选择云主机
一般来说,知名公司总是优先的选择。(例如:易迈云 推出企业0元购买云服务器的永久性活动 )但是,小公司也有自己的优势,比如满足个性化需求和更低的价格。
你可以根据客户服务、机房分布、可靠性、API的强大程度、安全措施、价格等因素,进行综合考虑。
初始阶段的网站架构
大型网站都是从小型网站发展而来,网站架构也是一样,是从小型网站架构逐步演化而来,小型网站最开始没有太多人访问,只需要一台服务器就绰绰有余,这时的网站架构如图。
应用程序,数据库,文件等所有的资源都在一台服务器上。通常服务器操作系统使用Linux,应用程序使用PHP开发,然后部署在Apache上,数据库使用MySql,汇集各种开源软件及一台廉价服务器就可以开始网站的发展之路了。
应用服务和数据服务分离
随着网站业务的发展,一台服务器逐渐不能满足需求:越来越多的用户访问导致性能越来越差,越来越多的数据导致存储空间不足,这时就需要将应用和数据分离,应用和数据分离后整个网站使用三台服务器:应用服务器,文件服务器和数据库服务器,如下图所示,这三台服务器对硬件资源的要求各不相同,应用服务器需要处理大量的业务逻辑,因此需要更快更强大的CPU,数据库服务器需要快速磁盘检索和数据缓存,因此需要更快的硬盘和更大的内存,文件服务器需要储存大量用户上传的文件,因此需要更大的硬盘。
应用和数据分离后,不同特性的服务器承担不同的服务角色,网站的并发处理能力和数据存储空间得到了很大改善,支持网站业务进一步发展,但是随着用户逐渐增多,网站又一次面临挑战:数据库压力太大导致访问延迟,进而影响整个网站的性能,用户体验受到影响,这时需要对网站架构进一步优化。
使用缓存改善网站性能
网站访问特点和现实世界的财富分配一样遵循二八定律:80%的业务访问集中在20%的数据上。淘宝买家浏览的商品集中在少部分成交数多、评价良好的商品上;百度搜索关键词集中在少部分热门词汇上;经常登录的用户才会发微博、看微博,而这部分用户也只占总用户数目的一小部分。
既然大部分的业务访问集中在,那么如果把这一小部分数据缓存在内存中,就可以减少数据库的访问压力。网站使用的缓存分为两种:缓存在应用服务器上的本地缓存和缓存在专门的分布式缓存服务器上的远程缓存。本地缓存的访问速度更快一些,但是受应用服务器内存限制,其缓存数量有限,而且会出现和应用程序争用内存的情况。远程分布式可以使用集群的方式,部署大内存的服务器作为专门的缓存服务器,可以在理论上做到不受内存容量限制的缓存服务。
使用缓存后,数据访问压力得到有效缓解,但是单一应用服务器能够处理的请求连接有限,在网站的访问高峰期,应用服务器会成为整个网站的瓶颈。
使用应用服务器集群改善网站的并发处理能力
使用集群是网站解决高并发,海量问题的常用手段,当一台服务器的处理能力、储存空间不足时,不要企图去换更强大的服务器,对大型网站而言,不管多么强大的服务器,都满足不了网站持续增长的业务需求,这种情况下,更恰当的做法是增加一台服务器分担原有服务器的访问及存储压力。
对网站而言,只要能通过一台服务器的方式改善负载压力,就可以以同样的方式持续增加服务器不断改善系统性能,从而实现系统的可伸缩性,应用服务器实现集群是网站可伸缩集群架构设计中较为简单成熟的一种。如下图所示。
通过负载均衡调度服务器,可将来自用户浏览器的请求分发到应用服务器集群中的任何一台服务器上,如果有更多的用户,就在集群中加入更多的应用服务器,使应用服务器的负载压力不在成为网站的瓶颈。
数据库读写分离
网站使用缓存后,大部分数据操作访问都可以不通过数据库就能完成,但是仍有一部分读操作,(缓存访问不命中、缓存过期)和全部的写操作,需要访问数据库,在网站的用户达到一定规模后,数据库因为负载压力过高而成为网站的瓶颈。
目前大部分的主流数据库都提供主从热备功能,通过配置两台数据库主从关系,可以将一台数据库服务器的数据更新同步到另一台服务器上。网站利用数据库的这一功能,实现数据库读写分离,从而改善数据库负载压力。
应用服务器在写数据的时候,访问主数据库,主数据库通过主从复制机制将数据更新同步到从数据库,这样当应用服务器读数据的时候,就可以通过从数据库或得数据。为了便于应用程序访问读写分离后的数据库,通常在应用服务器端使用专门的数据访问模块,使数据库读写分离时对应用透明。
使用反向代理和CDN加速网站响应
CDN和反向代理的基本原理都是缓存,区别在于CDN部署在网络提供商的机房,是用户在请求网站服务时,可以从距离自己最近的网路提供商机房获取数据;而反向代理则部署在网站的中心机房,当用户请求到达中心机房后,首先访问的服务器是反向代理服务器,如果反向代理服务器中缓存着用户请求的资源,就将其直接给用户。
使用分布式文件系统和分布式数据库系统
分布式数据库是网站数据库拆分的最后手段,只有在单表数据规模非常庞大的时候才使用,不到万不得以时,网站更常用的数据库拆分手段是业务分库,将不同业务的数据库部署在不同的物理服务器上。
使用NOSQL和搜索引擎
对于海量数据的查询,我们使用nosql数据库加上搜索引擎可以达到更好的性能。并不是所有的数据都要放在关系型数据中。常用的NOSQL有mongodb和redis,搜索引擎有lucene。
业务拆分
随着业务进一步扩展,应用程序变得非常臃肿,这时我们需要将应用程序进行业务拆分,如百度分为新闻、网页、等业务。每个业务应用负责相对独立的业务运作。业务之间通过消息进行通信或者同享数据库来实现
分布式服务
这时我们发现各个业务应用都会使用到一些基本的业务服务,例如用户服务、订单服务、支付服务、安全服务,这些服务是支撑各业务应用的基本要素。我们将这些服务抽取出来利用分部式服务框架搭建分布式服务。淘宝的Dubbo是一个不错的选择
服务器的特点
1、可扩展性
服务器必须具有一定的“可扩展性”,这是因为企业网络不可能长久不变,特别是在当今信息时代。如果服务器没有一定的可扩展性,当用户一增多就不能胜任的话,一台价值几万,甚至几十万的服务器在短时间内就要遭到淘汰,这是任何企业都无法承受的。为了保持可扩展性,通常需要在服务器上具备一定的可扩展空间和冗余件(如磁盘阵列架位、PCI和内存条插槽位等)。
可扩展性具体体现在硬盘是否可扩充,CPU是否可升级或扩展,系统是否支持WindowsNT、Linux或UNIX等多种可选主流操作系统等方面,只有这样才能保持前期投资为后期充分利用。
2、易使用性
服务器的功能相对于PC机来说复杂许多,不仅指其硬件配置,更多的是指其软件系统配置。服务器要实现如此多的功能,没有全面的软件支持是无法想象的。但是软件系统一多,又可能造成服务器的使用性能下降,管理人员无法有效操纵。所以许多服务器厂商在进行服务器的设计时,除了在服务器的可用性、稳定性等方面要充分考虑外,还必须在服务器的易使用性方面下足功夫。
服务器的易使用性主要体现在服务器是不是容易操作,用户导航系统是不是完善,机箱设计是不是人性化,有没有关键恢复功能,是否有操作系统备份,以及有没有足够的培训支持等方面。
3、可用性
对于一台服务器而言,一个非常重要的方面就是它的“可用性”,即所选服务器能满足长期稳定工作的要求,不能经常出问题。其实就等同于Sun所提出的可靠性(Reliability)。
因为服务器所面对的是整个网络的用户,而不是单个用户,在大中型企业中,通常要求服务器是永不中断的。在一些特殊应用领域,即使没有用户使用,有些服务器也得不间断地工作,因为它必须持续地为用户提供连接服务,而不管是在上班,还是下班,也不管是工作日,还是休息、节假日。这就是要求服务器必须具备极高的稳定性的根本原因。
一般来说专门的服务器都要7X24小时不间断地工作,特别像一些大型的网络服务器,如大公司所用服务器、网站服务器,以及提供公众服务iqdeWEB服务器等更是如此。对于这些服务器来说,也许真正工作开机的次数只有一次,那就是它刚买回全面安装配置好后投入正式使用的那一次,此后,它不间断地工作,一直到彻底报废。如果动不动就出毛病,则网络不可能保持长久正常运作。为了确保服务器具有高得“可用性”,除了要求各配件质量过关外,还可采取必要的技术和配置措施,如硬件冗余、在线诊断等。
4、易管理性
在服务器的主要特性中,还有一个重要特性,那就是服务器的“易管理性”。虽然我们说服务器需要不间断地持续工作,但再好的产品都有可能出现故障,拿人们常说的一句话来说就是:不
是不知道它可能坏,而是不知道它何时坏。服务器虽然在稳定性方面有足够保障,但也应有必要的避免出错的措施,以及时发现问题,而且出了故障也能及时得到维护。这不仅可减少服务器
出错的机会,同时还可大大提高服务器维护的效率。其实也就是Sun提出的可服务性(Serviceability)。
服务器的易管理性还体现在服务器有没有智能管理系统,有没有自动报警功能,是不是有独立与系统的管理系统,有没有液晶监视器等方面。只有这样,管理员才能轻松管理,高效工作。
服务器的分类
按照体系架构来区分,服务器主要分为两类:
非x86服务器
非x86服务器:包括大型机、小型机和UNIX服务器,它们是使用RISC(精简指令集)或EPIC(并行指令代码) 处理器,并且主要采用UNIX和其它专用操作系统的服务器,精简指令集处理器主要有IBM公司的POWER和PowerPC处理器,SUN与富士通公司合作研发的SPARC处理器、EPIC处理器主要是Intel研发的安腾处理器等。这种服务器价格昂贵,体系封闭,但是稳定性好,性能强,主要用在金融、电信等大型企业的核心系统中。
x86服务器
x86服务器:又称CISC(复杂指令集)架构服务器,即通常所讲的PC服务器,它是基于PC机体系结构,使用Intel或其它兼容x86指令集的处理器芯片和Windows操作系统的服务器。价格便宜、兼容性好、稳定性较差、安全性不算太高,主要用在中小企业和非关键业务中。
按应用层次划分
按应用层次划分通常也称为“按服务器档次划分”或 “按网络规模”分,是服务器最为普遍的一种划分方法,它主要根据服务器在网络中应用的层次(或服务器的档次来)来划分的。要注意的是这里所指的服务器档次并不是按服务器CPU主频高低来划分,而是依据整个服务器的综合性能,特别是所采用的一些服务器专用技术来衡量的。按这种划分方法,服务器可分为:入门级服务器、工作组级服务器、部门级服务器、企业级服务器。
1、入门级服务器
这类服务器是最基础的一类服务器,也是最低档的服务器。随着PC技术的日益提高,许多入门级服务器与PC机的配置差不多,所以也有部分人认为入门级服务器与“PC服务器”等同。这类服务器所包含的服务器特性并不是很多,通常只具备以下几方面特性:
1有一些基本硬件的冗余,如硬盘、电源、风扇等,但不是必须的;
2通常采用SCSI接口硬盘,也有采用SATA串行接口的;
3部分部件支持热插拔,如硬盘和内存等,这些也不是必须的;
4通常只有一个CPU,但不是绝对;
5内存容量最大支持16GB。
这类服务器主要采用Windows或者NetWare网络操作系统,可以充分满足办公室型的中小型网络用户的文件共享、数据处理、Internet接入及简单数据库应用的需求。这种服务器与一般的PC机很相似,有很多小型公司干脆就用一台高性能的品牌PC机作为服务器,所以这种服务器无论在性能上,还是价格上都与一台高性能PC品牌机相差无几。
入门级服务器所连的终端比较有限(通常为20台左右),况且在稳定性、可扩展性以及容错冗余性能较差,仅适用于没有大型数据库数据交换、日常工作网络流量不大,无需长期不间断开机的小型企业。不过要说明的一点就是目前有的比较大型的服务器开发、生产厂商在后面我们要讲的企业级服务器中也划分出几个档次,其中最低档的一个企业级服务器档次就是称之为"入门级企业级服务器",这里所讲的入门级并不是与我们上面所讲的"入门级"具有相同的含义,不过这种划分的还是比较少。还有一点就是,这种服务器一般采用Intel的专用服务器CPU芯片,是基于Intel架构(俗称"IA结构")的,当然这并不是一种硬性的标准规定,而是由于服务器的应用层次需要和价位的限制。
2、工作组服务器
工作组服务器是一个比入门级高一个层次的服务器,但仍属于低档服务器之类。从这个名字也可以看出,它只能连接一个工作组(50台左右)那么多用户,网络规模较小,服务器的稳定性也不像下面我们要讲的企业级服务器那样高的应用环境,当然在其它性能方面的要求也相应要低一些。工作组服务器具有以下几方面的主要特点:
1通常仅支持单或双CPU结构的应用服务器(但也不是绝对的,特别是SUN的工作组服务器就有能支持多达4个处理器的工作组服务器,当然这类型的服务器价格方面也就有些不同了)。
2可支持大容量的ECC内存和增强服务器管理功能的SM总线。
3功能较全面、可管理性强,且易于维护。
4采用Intel服务器CPU和Windows/NetWare网络操作系统,但也有一部分是采用UNIX系列操作系统的。
5可以满足中小型网络用户的数据处理、文件共享、Internet接入及简单数据库应用的需求。
工作组服务器较入门级服务器来说性能有所提高,功能有所增强,有一定的可扩展性,但容错和冗余性能仍不完善、也不能满足大型数据库系统的应用,但价格也比前者贵许多,一般相当于2~3台高性能的PC品牌机总价。
3、部门级服务器
这类服务器是属于中档服务器之列,一般都是支持双CPU以上的对称处理器结构,具备比较完全的硬件配置,如磁盘阵列、存储托架等。部门级服务器的最大特点就是,除了具有工作组服务器全部服务器特点外,还集成了大量的监测及管理电路,具有全面的服务器管理能力,可监测如温度、电压、风扇、机箱等状态参数,结合标准服务器管理软件,使管理人员及时了解服务器的工作状况。同时,大多数部门级服务器具有优良的系统扩展性,能够满足用户在业务量迅速增大时能够及时在线升级系统,充分保护了用户的投资。它是企业网络中分散的各基层数据采集单位与最高层的数据中心保持顺利连通的必要环节,一般为中型企业的首选,也可用于金融、邮电等行业。
部门级服务器一般采用IBM、SUN和HP各自开发的CPU芯片,这类芯片一般是RISC结构,所采用的操作系统一般是UNIX系列操作系统,LINUX也在部门级服务器中得到了广泛应用。
部门级服务器可连接100个左右的计算机用户、适用于对处理速度和系统可靠性高一些的中小型企业网络,其硬件配置相对较高,其可靠性比工作组级服务器要高一些,当然其价格也较高(通常为5台左右高性能PC机价格总和)。由于这类服务器需要安装比较多的部件,所以机箱通常较大,采用机柜式的。
4、企业级服务器
企业级服务器是属于高档服务器行列,正因如此,能生产这种服务器的企业也不是很多,但同样因没有行业标准硬件规定企业级服务器需达到什么水平,所以也看到了许多本不具备开发、生产企业级服务器水平的企业声称自己有了企业级服务器。企业级服务器最起码是采用4个以上CPU的对称处理器结构,有的高达几十个。
另外一般还具有独立的双PCI通道和内存扩展板设计,具有高内存带宽、大容量热插拔硬盘和热插拔电源、超强的数据处理能力和群集性能等。这种企业级服务器的机箱就更大了,一般为机柜式的,有的还由几个机柜来组成,像大型机一样。企业级服务器产品除了具有部门级服务器全部服务器特性外,最大的特点就是它还具有高度的容错能力、优良的扩展性能、故障预报警功能、在线诊断和RAM、PCI、CPU等具有热插拔性能。有的企业级服务器还引入了大型计算机的许多优良特性。这类服务器所采用的芯片也都是几大服务器开发、生产厂商自己开发的独有CPU芯片,所采用的操作系统一般也是UNIX(Solaris)或LINUX。
企业级服务器适合运行在需要处理大量数据、高处理速度和对可靠性要求极高的金融、证券、交通、邮电、通信或大型企业。企业级服务器用于联网计算机在数百台以上、对处理速度和数据安全要求非常高的大型网络。企业级服务器的硬件配置最高,系统可靠性也最强。
服务器中配置固态硬盘已经是一个普遍的选择,特别是如果只有很小比例的服务器存在性能问题的话尤其如此。固态硬盘可以帮助用户解决服务器性能的瓶颈。固态硬盘也可以让高速存储更加的接近处理器并将共享存储网络这个潜在的瓶颈剔除掉。目前有三种固态硬盘的形式作为达标:即硬盘驱动型SSD,SSD DIMM和PCIs SSD。
5、典型服务器应用
办公OA服务器
ERP服务器
WEB服务器
数据库服务器
财务服务器
邮件服务器
打印服务器
集群服务器
无盘办公系统
无盘网吧服务器
无盘教学系统
视频监控服务器
流媒体服务器
VOD视频点播服务器
网络下载
SP服务
网络教学服务器
IDC-主机出租
IDC-虚拟空间
IDC-网游
IDC-主机托管
游戏服务器
高性能计算(HPC)
桌面超算
论坛服务器
服务器的简介
服务器,也称伺服器,是提供计算服务的设备。由于服务器需要响应服务请求,并进行处理,因此一般来说服务器应具备承担服务并且保障服务的能力。
服务器的构成包括处理器、硬盘、内存、系统总线等,和通用的计算机架构类似,但是由于需要提供高可靠的服务,因此在处理能力、稳定性、可靠性、安全性、可扩展性、可管理性等方面要求较高。
在网络环境下,根据服务器提供的服务类型不同,分为文件服务器,数据库服务器,应用程序服务器,WEB服务器等。
服务器的安全问题
1、服务器所处运行环境不佳
对于计算机网络服务器来说,运行的环境是非常重要的。其中所指的环境主要包括运行温度和空气湿度两个方面。网络服务器与电力的关系是非常紧密的,电力是保证其正常运行的能源支撑基础,电力设备对于运行环境的温度和湿度要求通常来说是比较严格的,在温度较高的情况下,网络服务器与其电源的整体温度也会不断升高,如果超出温度耐受临界值,设备会受到不同程度的损坏,严重者甚至会引发火灾。如果环境中的湿度过高,网络服务器中会集结大量水汽,很容易引发漏电事故,严重威胁使用人员的人身安全。
2、缺乏正确的网络服务器安全维护意识
系统在运行期间,部分计算机用户由于缺乏基本的网络服务器安全维护意识,对于网络服务器的安全维护不能给予充分重视。计算机在长期使用的过程中,缺少有效的安全维护措施,最终导致网络服务器出现一系列运行故障。与此同时,某些用户由于没有选择正确的防火墙软件,系统不断出现各种漏洞,用户个人信息极易遭到泄露。
3、服务器系统漏洞过多
计算机网络本身具有开放自由的特性,这种属性既存在技术性优势,在某种程度上也会对计算机系统的安全造成威胁。一旦系统中出现很难修复的程序漏洞,某些不法人员很可能借助漏洞对缓冲区进行信息查找,然后攻击计算机系统,这样一来,不但用户信息面临泄露的风险,计算机运行系统也会遭到损坏。
服务器的维护保养
1、注重机房环境的建设
机房环境对服务器的正常运转有着重要的影响作用。因此,服务器维护和保养的首要环节就是做好机房环境建设。机房要保证充足的空间,用以安装和配置服务器的相关设备,机房的隔断,地板等要做好防静电等细节处理。机房的防火工作也很关键,要做好墙面和电缆等的防火处理。一旦遇到火情等,如何保障设备的安全,如何保障人员的有序撤离等都是机房建设中需要考虑的因素。机房的温度和湿度也应当操持在一定的范围,温度和湿度对于电子产品的正常工作有着非常大的影响作用。服务器是电子设备中对温度和湿度都较为敏感的设备。如果服务器所在的机房太过于干燥,那么人员在机房中与设备接触的过程中非常容易产生静电。这种静电一般都有几千伏乃至上万伏,这对服务器的正常运行时非常危险的,极易引起严重的事故。如何科学合理的做好机房布局和管理工作是机房建设的关键。目前我国的计算机服务器机房管理还存在着很多需要完善的地方,比如机房的管理现代化水平还不高,很多监测和维护工作还单纯依靠人力完成,没有形成信息化和网络化的管理机制。其实,电子检测系统不管是在设计上还是在实施上并没有多少难度,但由于我们重视程度的不够,机房建设的总体水平依然在低位徘徊。
服务器的硬件组成较为复杂,对于服务器硬件的维护应由专业人员进行。在维护和保养存储设备时,我们首先应当对其容量进行测试,看是否需要进行扩容等操作。存储容量一定要能满足任务的需求,并留有一定的冗余量。在拆卸和更新服务器设备时,务必让设备处于断电状态并进行接地处理。即便是更换最简单的部件,这些环节也不能省略。对于一些不熟悉的部件,要反复仔细的阅读说明书和参照文件,在没有十足把握的前提下切忌盲目拆解。要定期对服务器进行除尘处理。灰尘对硬件的工作有着很强的影响,特别是服务器这种高温高速运行的设备,大量的积尘对设备造成的伤害往往是致命的。除尘工作要科学有序的进行,不能想当然,也不能蛮干。在除尘过程中特别注意对电源系统的保护。
3、维护好服务器软件
软件是服务器的重要组成部分,服务器的稳定高效运行离不开相应的软件。我们要定期对服务器的软件系统进行巡检,及时发现漏洞,及时安装官方给定的补丁程序。在扩展服务器数据库时,在条件允许的情况下,最好对原有数据进行备份,以免造成不必要的损失。
4、做好电力控制
做好电力控制。没有稳定的电力保证,服务器就没有办法正常工作。电子控制是一个非常关键,但又非常容易被忽视的问题。在机房建设之初,我们就应当充分考虑到服务器的电力保障。要为机房设计和配置一套稳定,可靠的电力供应系统。这套系统还要有处置和应对突发事件的能力,例如,不可预知的停电、雷电等。
5、密码管理
服务器的密码管理是服务器防御能力的最关键组成部分。密码的管理和更换应当形成一套长效机制。我们要定期对服务器的密码进行更换,密码应有专人管理。选用的密码要有一定的专业性,一定的复杂度,最好是将数字和字母等结合起来,大小写也要融合进去。在日常的检查中,我们要做好登统计,关闭一些不太使用的端口。
你如何有效地构建一个分布式企业架构这是一个艰巨的,并且有点模糊的问题,类似于问别人你如何建立一个房子答案取决于你要建什么样的住宅。同样,你如何决定构建你的分布式系统,将在很大程度上取决于可用的资源和业务需求。分布式架构有许多方面和很多选择,每个都有它自己的目的,优缺点,以及用例。这里有一些关键元素概述:客户端和服务器客户端/服务器分布和客户本身的性质(最终用户设备),就是在理解分布式架构的重要因素。如果客户端只是提供一个用户界面,那么服务器几乎将要做所有的工作。如果客户端托管一部分或全部应用程序,甚至一些数据(例如瘦或者胖客户端),那么它代表了架构的一个重要部分。一台台式电脑通常有很多自己的内存空间和处理能力,来托管和运行应用程序,只是偶尔才从服务器更新。相比之下,移动设备(甚至是很多智能手机)没有大量资源,要严重依赖服务器来处理大部分的工作负载。在某些情况下,这似乎是一个胖客户端的安排,而实际上是一个瘦客户端。例如,一个远程桌面应用程序可能是托管在一个服务器或虚拟PC上,这样可以轻松地在本地通过用户界面来使用PC。这张前景图上缺少了什么显然,上述示例遗漏了现代分布式架构一个非常重要组件——中间层。网络是最明显的例子,它使用一个多层次的设计。web服务器负责通过浏览器将静态或动态内容显示给终端用户。应用程序服务器托管实际应用程序,这些应用是通过浏览器来访问的。数据库服务器存储所有通过应用交付的、使用的和收集到的数据。(记住,每一层之间的连接和沟通作为架构的一个部分,和他们层次本身同样重要)。企业想向公司以外的终端用户公开应用程序,如客户、合作伙伴和供应商,通常用这种方式选择基于web的分布式架构。当然,企业数据本身可能被进一步分布到多个数据库,创建一个更不同的架构。一些数据可能位于一个传统的关系型SQL数据库中。非结构化数据可以驻留在一个或多个NoSQL数据库中,在数据管理领域相对较新的选择方案。《理解NoSQL(Making Sense of NoSQL)》一书的作者,Dan McCreary(与Ann Kelly合著)指出,大数据不仅仅改变数据库的表面。它也会慢慢影响到企业软件。“我们在管理大型数据集方面已经有了巨大的创新,并且这能够使开发人员更敏捷。我想接下来的10年,在公司构建软件的方式上,会有很大的影响。”当一个不够时使用基于网络的“即服务”模式,一部分或所有这些服务器和数据库可能位于云端。这将把我们带入下一个分布式计算主要方面中去——使用多个服务器。使用多个服务器的最大好处是没有单点故障。在 “点对点”的分布式架构中,每台机器可以处理所有任务(虽然没有一台机器可以一次处理所有的任务)。工作量负载随着需求在服务器之间进行分配和重新平衡。这种方法使得资源利用率最大化,并且如果一个节点宕掉了,允许故障转移到其他仍在运行的服务器上。数据,计算工作量和沟通都是分布式的,降低影响性能瓶颈的发病率。这是一个创建分布式系统高度可扩展的方法。它比使用单一的大型服务器使用更少的昂贵设备,并且为应用程序的持续可用性提供了大量的冗余。当需要多个服务器时,他们可能会在本地或数据中心中提供。许多企业现在在因为他们分布式架构的不同方面包括软件、平台或基础设施,使用私有云或混合云。分布式架构框架和协议构建一个分布式系统涉及很多很多不同的组件,包括从API和数据库到服务器以及通信网络。在非常放大的层面,你需要一个框架,用于实现和管理这些组件,比如当前流行的Hadoop框架。在缩小层面,你需要方法和规则,从而在事务处理层确实的把事情做好。这往往是SOA(面向服务架构)及其相关协议发挥作用之处。Nice Systems公司的架构总监Arnon Rotem-Gal-Oz这样说,“SOA仅仅是我们用来构建分布式系统的一个好的方法。当你正在通过框架,比如net,构建一个系统时,你会发现一种不错的方式来模块化和组件化你的系统,当在SOA原则基础上建议灵活性时。”他指出,实际上将SOA部署在框架(比如hadoop)的顶部来获得双方的利益是可行的。你可能会说,分布式架构“房子”的蓝图一直以来变得越来越复杂。然而,尽管功能可能改变,潜在的好处对于企业保持惊人的一致:更多的计算能力、更好的可扩展性、更多的一致性、更多的可用性、更高的速度和更少的开销。责编:罗信
首先说windows和Linux系统在企业的服务器中都是有使用的,关于一个企业是选择windows作为服务器系统还是Linux作为服务器系统还是要看企业对于服务器的需求和一些技术上的需要。
1、简要说一下windows系统和Linux系统。
windows系统相信大家都不陌生,现在大家基本上使用的都是以windows操作系统为主,而服务器上使用的windows操作系统一般指的的是windows的服务器版本系统:windows server 系列。windows server系列也有很多的版本,如windows server2003、windows server 2008等。这些服务器版本的windows和普通windows版本的不同在于其是根据服务器需求进行开发的,如支持更大的内存、支持一些服务器的策略设置、支持服务器集群等,这些功能都是针对服务器的功能,总之windows server版本就是一个适合服务器的操作系统版本,其功能大多都是针对服务器的。再说一下Linux系统,Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。以上是专业的解释,简单说Linux是一个免费的操作系统,其也是非常的好的支持服务器环境,且其不太适合图形化操作更适合命令行操作,而windows server是收费的系统,且其主要的还是图形化操作方式。
2、公司选择什么系统之性能和易用性。
因为Linux是开源的操作系统,其功能可以自己定义和修改,且其没有图形化界面,总而言之Linux的一些特性使得Linux的效率要比windows高且其使用起来更加灵活,因为Linux的严格的用户权限管理机制使得Linux更加安全。虽然windows的图形界面会在一定的程度上降低windows的性能,但是图形化的界面也为windows带来了操作简单方便的特点,且大家都是使用windows出身,那么 windows server系统的操作学起来要比Linux简单的多。总结:个人认为Linux比windows server的性能更好,而windows server比Linux有更好的易用性。
3、公司选择什么系统之用途和技术搭配和成本。
关于服务器的用途决定了其安装什么操作系统,比如公司需要搭建一台服务器进行系统网络和局域网的域管理,那么此时应该使用的当然是windows server操作系统。在比如公司的需要对外发布一个web网站,公司决定使用aspnet作为网站后台,我们都知道aspnet的最好组合是windows server + IIS +sqlserver数据库,那么此时公司的机房服务器也可能要安装windows server 系统,而我们要发布一个php的网站,那么我们也都知道php的最佳运行环境是lamp即Linux+Apache+mysql数据库+php,此时可能我们需要的采用Linux作为操作系统。
再说一下成本,Linux的是开元不收费的系统,而windows server是收费的操作系统,但是公司请一个Linux的运维管理员的成本要高于windows server的管理员,这些问题都是公司需要考虑平衡的,毕竟公司要考虑公司的利益。
最后,以上就是个人对于公司选择什么操作系统作为服务器操作系统的一些看法,也可能有很多其他的因素影响着这个选择,以上只是个人的一些看法和其中的一些因素。
服务器分塔式、机架式和刀片式这三种结构来划分服务器,服务器的外形为什么会有这样的划分呢?主要原因就是具体的应用环境不同,塔式服务器长得跟我们平时用的台式机一样,占用空间比较大,一般是一些小型企业自己使用自己维护;而机架式服务器长得就像卧着的台式机,可以一台一台的放到固定机架上,因此而得名,它可以拿去专业的服务器托管提供商那里进行托管,这样每年只需支付一定的托管费,就免去了自己管理服务器的诸多不便;而刀片服务器是近几年才比较流行的一种服务器架构,它非常薄,可以一片一片的叠放在机柜上,通过群集技术进行协同运算,能够处理大量的任务,特别适合分布式服务,如作为WEB服务器。
对于不同的企业和不同的使用情况,选择不同结构的服务器。
上海浙大网新易得科技发展有限公司生产的网新易得服务器三种结构的产品都会有。另外,他们还可以根据企业的具体要求按需定制不同需求的服务器。
总体分为这几大类:
VPS服务器:VPS是一台实体主机虚拟成多个小主机,其中的CPU、内存都是共享的,有的时候一台机器上面可能会几十、上百个VPS。一旦这台实体主机挂了,它上面所有VPS也都会跟着遭殃,性能往往得不到保障。
云服务器:云服务器是数量庞大的服务器阵列,在均衡负载之后诞生很多虚拟主机,集群中每个服务器上都有云主机的一个镜像,除非所有的集群内服务器全部出现问题,云主机才会无法访问。所以无论是数据安全还是性能都有基本的保证。而且在云主机上,IP、CPU、内存这些都是独享隔离开的,不会出现大家抢内存,谁都跑不动的情况。
专用/独立服务器:是一台真实的服务器/主机,这台主机是单独的 只让你自己使用,你可以让服务器更换硬盘 更换内存等操作,不会出现有第二个人占用你的资源
0条评论