导航:首页 > IDC知识 > 服务器技术

服务器技术

发布时间:2020-10-07 02:58:14

1、什么是服务器

在香港和台湾称为伺服器是指:

一个管理资源并为用户提供服务的计算机软件,通常分为文件服务器(能使用户在其它计算机存取文件),数据库服务器和应用程序服务器。

定义
有时,这两种定义会引起混淆,如Web服务器。它可能是指用于网站的计算机,也可能是指像Apache这样的软件,运行在这样的计算机上以管理网页组件和回应网页浏览器的请求。

服务器硬件

服务器作为硬件来说,通常是指那些具有较高计算能力,能够提供给多个用户使用的硬件。服务器与PC机不同,PC机通常只为一个用户服务。 服务器与主机不同,主机是通过提供终端给用户使用的,服务器是通过网络提供给客户端用户使用的。

根据不同的计算能力,服务器又分为工作组级服务器,部门级服务器和企业级 服务器操作系统是指运行在服务器硬件上的操作系统。服务器操作系统需要管理和充分利用服务器硬件的计算能力并提供给服务器硬件上的软件使用。

常见的服务器作业系统有FreeBSD, SCO OPENSERVER ,OpenBSD, NetBSD, SUN Solaris, Linux, Windows NT/2000,Mac OS X Server等。

其中以Linux,Windows NT/2000/Server 2003,SOLARIS最为常见,Mac OS X Server是新兴力量。其中FreeBSD, OpenBSD, NetBSD, SUN solaris, Linux, Mac OS X Server等是UNIX操作系统的衍生版本。

服务器软件

服务器软件的定义如前面所述,服务器软件工作在客户端-服务器或浏览器-服务器的方式,

有很多形式的服务器,常用的包括:

文件服务器 - 如Novell的NetWare
数据库服务器 - 如Oracle数据库服务器, MySQL, PostgreSQL, Microsoft SQL Server等
邮件服务器 - Sendmail, Postfix, Qmail, Microsoft Exchange,Lotus Domino等
Web服务器 - 如Apache, thttpd, 微软的IIS等
FTP服务器 - Pureftpd, Proftpd, WU-ftpd, Serv-U等
应用服务器 - 如Bea公司的WebLogic,JBoss

2、基本服务器技术包括什么

1.CPU和内存。CPU的类型、主频和数量在相当程度上决定着服务器的性能;服务器应采用专用的ECC校验内存,并且应当与相应的CPU搭配使用。

2.芯片组与主板。即使采用相同的芯片组,不同的主板设计也会对服务器性能产生重要影响。

3.网卡。服务器应当连接在传输速率最快的端口上,并最少配置一块千兆网卡。对于某些有特殊应用的服务器(如FTP、文件服务器或视频点播服务器),还应当配置两块千兆网卡。

4.硬盘和RAID卡。硬盘的读取/写入速率决定着服务器的处理速度和响应速率。除了在入门级服务器上可采用IDE硬盘外,通常都应采用传输速率更高、扩展性更好的SCSI硬盘。

除此之外,在选择服务器时通常还需要考虑可管理性、可用性、可扩展性、安全性以及可靠性等几方面的性能指标。

3、服务器中的冗余技术包括哪些

服务器中常用的冗余技术有:数据冗余、网卡冗余、电源冗余、风扇冗余、服务器冗余。
数据冗余---是指系统中的任何单一部件损坏都不会造成硬盘中的数据丢失;
网卡冗余---是指系统中的任何一网卡损坏都不会造成网络服务中断;
风扇冗余---是指系统中的任何一风扇损坏都不会造成系统温度过高而死机;
电源冗余---是指系统中的任何一电源损坏或者故障都不会造成服务器停机;
服务器冗余---是指双机系统(双机热备或集群)中的任何一台服务器故障都不会造成系统崩溃和服务器停机;

4、C/C++做服务器需要学习什么样的技术

服务器所用到的知识:

TCP/UDP,最基本的

并发——你可以选择使用select、poll,或者是多线程、多进程

如果你使用多线程,那么就必须使用同步技术——信号量、互斥体、条件变量的一种或几种,并且对于多线程技术,你还需要考虑使用进行线程分离与合并,

如果你使用了多进程,那么同步技术就不是你需要考虑的了,你需要考虑的是进程相关的问题了,你是使用fork还是vfork,你该如何处理客户端的请求,如何处理客户端断开连接后保证能够处理完数据并且没有僵尸进程产生,你还需要考虑高并发的问题

你发送接受数据的时候,采用何种方式,是阻塞的还是非阻塞的,还有连接超时、重传等问题

你是选择TCP还是UDP,如果选择UDP你可得忙了,需要你自己去进行重传验证,模拟TCP的三次握手,保证数据不会丢失,保证数据的有序性

还有其他很多需要你考虑的,以上都是指在Linux下的C++,本人对windows C++不了解

推荐书目:UNIX高级环境编程,UNIX网络编程,卷一。C++只不过是你使用这些技术的方式,不管你使用C还是C++,你都可以使用从这两本书中学习到很多有用的知识,但是不能保证你就可以写出高质量的服务器程序。

5、什么是服务器虚拟化技术?有什么用?

服务器虚拟化是使用虚拟化软件在一个硬件服务器上虚拟出多个虚拟硬件服务器。每个虚拟机服务器都有自己的操作系统,提供自己的服务,并且互相直接没有关联互不影响,使用上就好像是一个个单独的服务器。
虚拟化技术最大的好处是提高服务器的利用率,一个服务器可能正常使用上系统负载不到10%,但为了安全或者应用系统限制,不能在一个服务器上提供多种服务(因为这样会死的很惨!,比如同时提供DNS服务和ERP服务,一旦DNS被攻击,你的ERP也一起完蛋。)这样的话,其实上你有90%的投资是浪费的。
但如果我将服务器虚拟化了,虚拟出了5个服务器,一个DNS,一个ERP一个OA一个邮件一个域控,他们之间实际上是隔离的,谁坏了也干扰不到其他服务,等于我用一个服务器的硬件投资实现了五个服务器的效果。这个实体服务器可能硬件利用率就达到了80%以上。

6、服务器都有哪些主要的技术指标?

你说的那个指标是访问许可有每服务器和每客户机两种许可是要购买的 一般来说如果网络中只有一台服务器把许可证放在服务器端 有一台以上的服务器把许可证放在服务器端我们可以从这几个方面来衡量服务器是否达到了其设计目的;R:Reliability——可靠性;A:Availability——可用性;S:Scalability——可扩展性;U:Usability——易用性; M:Manageability——可管理性,即服务器的RASUM衡量标准。

与服务器技术相关的知识