浅谈计算机网络中服务的概念
浅谈计算机网络中服务的概念
摘要:由系统管理员管理的结构化计算机环境和只有一台或几台
孤立计算机组成的计算机环境的主要区别是服务。针对计算机网络
中的服务概念进行了阐述。
关键词:计算机网络服务
由系统管理员管理的结构化计算机环境和只有一台或几台孤立计
算机组成的计算机环境的主要区别是服务。这种只有几台孤立计算
机的典型环境是家庭和那些很小的非技术性的办公室,而典型的结
构化计算机环境则是由技术人员操作大量的计算机,通过共享方便
的通信、优化的资源等服务来互相联结在一起。当一台家用电脑通
过互联网或通过isp 连接到因特网上, 他就是使用了isp 或其他
人提供的服务才进入网络的。
提供一个服务绝不仅仅是简单的把硬件和软件累加在一起,它包
括了服务的可靠性、服务的标准化、以及对服务的监控、维护、技
术支持等。只有在这几个方面都符合要求的服务才是真正的服务。
1 服务的基本问题。
创建一个稳定、可靠的服务是一个系统管理员的重要工作。在进
行这项工作时系统管理员必须考虑许多基本要素,其中最重要的就
是在设计和开发的各个阶段都要考虑到用户的需求。要和用户进行
交流, 去发现用户对服务的要求和预期,然后把其它的要求如管
理要求等列一个清单,这样的清单只能让系统管理员团队的人看
到。
服务应该建立在服务器级的机器上而且机器应该放在合适的环境
中,作为服务器的机器应当具备适当的可靠性。服务和服务所依赖
的机器应该受到监控,一旦发生故障就发出警报或产生故障记录清
单。
作为服务一部分的机器和软件应当依赖那些建立在相同或更高标
准上的主机和软件,一个服务的可靠性和它所依赖的服务链中最薄
弱环节的可靠性是相当的。一个服务不应该无故的去依赖那些不是
服务一部分的主机。一旦服务建好并完成了测试,就要逐渐转到用
户的角度来进行进一步的测试和调试。
1.1 用户的要求。
建立一个新服务应该从用户的要求开始,用户才是你建立服务的
根本原因。如果建立的服务不合乎用户的需要,那就是在浪费精力。
搜集用户的需求应该包括下面这些内容:他们想怎样使用这些新
服务、需要哪些功能、喜欢哪些功能、这些服务对他们有多重要,
以及对于这些服务他们需要什么级别的可用性和技术支持。如果可
能的话,让用户试用一下服务的试用版本。不要让用户使用那些很
麻烦的系统和项目。尽量计算出使用这个服务的用户群有多大以及
他们需要和希望获得什么样的性能,这样才能正确的计算。
1.2 操作上的要求。
对于系统管理员来说, 新服务的有些要求不是用户直接可见的。
比如系统管理员要考虑到新服务的管理界面、是否可以与已有的服
务协同操作,以及新服务是否能与核心服务如认证服务和目录服务
等集成到一起。
从用户期望的可靠性水平以及系统管理员们对系统将来要求的可
靠性的预期,系统管理员们就能建立一个用户期望的功能列表,其
内容包括群集、从属设备、备份服务器或具有高可用性的硬件和操
作系统。
1.3 开放的体系结构。
有时销售商使用私有协议就是为了和别的销售商达成明确的许可
协议,但是会在一个销售商使用的新版本和另一个销售商使用的兼
容版本之间存在明显的延迟,两个销售商所用的版本之间也会有中
断,而且没有提供两个产品之间的接口。这种情况对于那些依靠它
们的接口同时使用两种产品的人来说,简直是不可能的。
一个好的解决方法就是选择基于开放标准的协议,让双方都能选
择自己的软件。这就把用户端应用程序的选择同服务器平台的选择
过程分离了,用户自由的选择最符合自己需要、偏好甚至是平台的
软件,系统管理员们也可以独立地选择基于他们的可靠性、规模可
设定性和可管理性需要的服务器解决方案。系统管理员们可以在一
些相互竞争的服务器产品中进行选择,而不必被固于那些适合某些
用户端应用程序的服务器软件和平台。
开放协议和文件格式是相当稳定的, 不会经常改动(即使改动也
是向上兼容的),而且还有广泛的支持,能给你最大的产品自主选
择性和最大的机会获得可靠的、兼容性好的产品。
2 其它需要考虑的问题。
建立一个服务除了要求可靠、可监测、易维护支持,以及要符合
所有的我们基本要求和用户的要求外,还要考虑到一些特别的事
情。如果可能的话,应该让每个服务使用专门的机器,这么作可以
让服务更容易得到支持和维护,也能减少忘记一些服务器机器上的
小的服务的机会。还有一个观念就是在建立服务时要以让服务完全
冗余为目标。有些重要的服务不管在多大的公司都要求完全冗余。
由于公司的规模还会增长,所有你要让所有的服务都完全冗余为目
标。
2.1 使用专门的机器。
理想的情况,服务应该建立在专门的机器上。
大网站应该有能力根据服务的要求来调整到这个结构,而小网站
却很难做到。每个服务都有专门的机器会使服务更可靠,当发生可
靠性问题是也容易调试,发生故障的范围更小,以及容易升级和进
行容量计划。
从小公司成长起来的大网站一般有一个集中管理的机器作为所有
重要服务的核心,这台机器提供名字服务、认证服务、打印服务、
邮件服务等等。最后,由于负荷的增长,机器不得不分开,把服务
扩展到别的服务器上去。在这之前,系统管理员们已经得到了资金,
可以买更多的管理用的机器,当把服务从一台机器上分开时,ip 地
址的依赖是最难处理了, 有些服务如名字服务的ip 地址都在用户
那里都已经记得很牢固了,还有一些ip 地址被安全系统如路由器、
防火墙等使用。把一个中心主机分解到许多不同的主机上是非常困
难的,建立起来的时间越长,上面的服务越多,就越难分解。使用
基于服务的名字会有所帮助,但是必须整个公司都使用标准化的、
统一的、始终如一的名字。
2.2 充分的冗余。
充分的冗余是指有一个或一系列复制好的服务器,能在发生故障
的时候接管主要的故障设备。冗余系统应该可以作为备份服务器连
续的运行,当主服务器发生故障时能自动连上线,或者只要少量的
人工干预,就能接管提供服务的故障系统。
选择的这类冗余是依赖于服务的。有些服务如网页服务器和计算
区域,可以让自己很好的在克隆好的机器上运行。别的服务比如大
数据库就不行,它们要求连接更牢固的崩溃恢复系统。你正在使用
的用来提供服务的软件或许会告诉你,冗余是以一种有效的、被动
的、从服务器的形式存在的,只有在主服务器发生故障并发出请求
时,冗余系统才会响应。不管什么情况,冗余机制必须要确保数据
同步并保持数据的完整。
如果冗余服务器连续的和主服务器同步运行,那么冗余服务器就
可以用来分担正在正常运行的负荷并能提高性能。如果你使用这种
方法,一定要注意不要让负荷超出性能不能接受的临界点,以防止
某个服务器出现故障。在到达临界点之前要为现存系统增加更多的
并行服务器。
冗余的另一个好处就是容易升级。可以进行滚动升级。每次有一
台主机被断开、升级、测试然后重新开始服务。单一主机的故障不
会停止整个服务,虽然可能会影响性能。如果管理员真的搞砸了一
个升级,那就必须关掉电源,等待服务恢复之后再作相应处理。