系统分析师-计算机网络与分布式系统-网络工程&分布式系统

目录

一、网络工程

1. 网络规划

1.1 网络需求分析

1.2 可行性研究

1.3 对现有网络的分析与描述

2. 网络设计

2.1 网络设计的任务

2.2 分层设计

3. 网络实施

二、分布式系统

1. 分布式文件系统

2. 分布式缓存系统

2.1 Memcache

2.2 Redis

2.3 Tair

相关推荐


一、网络工程

网络工程可分为网络规划、网络设计和网络实施三个阶段。

1. 网络规划

网络规划应该以需求为基础,同时考虑技术和工程的可行性。具体来说,网络规划包括网络需求分析可行性研究和对现有网络的分析与描述

1.1 网络需求分析

在网络组建之前,首先要进行需求分析,根据用户提出的要求进行网络的设计。需求分析通常采用自顶向下的结构化方法,从以下几个方面着手:。

(1)功能需求。是指用户希望利用网络来完成什么功能,然后依据使用需求、实现成本、未来发展和总预算投资等因素对网络的组建方案进行认真的设计和推敲。
(2)通信需求。是指了解用户需要的通信类型、通信频度、通信时间和通信量等。
(3)性能需求。包括容量(带宽)、利用率、吞吐量、可提供负载、效率、延迟(等待时间)、延时变化量、响应时间、端到端的差错率和网络效率等。
(4)可靠性需求。包括精确度、错误率、稳定性、无故障时间、数据备份等。
(5)安全需求。衡量网络安全的指标是可用性、完整性和保密性。
(6)运行与维护需求。是指网络运行和维护费用方面的需求。
(7)管理需求。包括用户管理、资源管理、配置管理、性能管理和网络维护。

1.2 可行性研究

通常从技术可行性、经济可行性、法律可行性和用户使用可行性等方面进行论证。

1.3 对现有网络的分析与描述

包括:服务器的数量和位置、客户机的数量和位置、同时访问的数量、每天的用户数、每次使用的时间、每次数据传输的数据量、网络拥塞的时间段、采用的协议、通信模式。

2. 网络设计

网络设计的工作是在网络规划的基础上,设计一个能够解决用户问题的方案。在整个设计过程中,首先要确定网络总体目标和设计原则,然后设计网络的逻辑结构,再设计网络的物理结构

2.1 网络设计的任务

(1)确定网络总体目标。明确采用哪些网络技术和标准,构筑一个满足哪些应用的多大规模的网络包括是否分期实施、网络的实施成本和运行成本等方面的问题。
(2)
确定总体设计原则。对主要设计原则进行选择和权衡,并确定其在方案设计中的优先级。
(3)
通信子网设计。包括拓扑结构与网络总体规划、分层的设计,以及远程接入访问的设计。
(4)
资源子网设计。主要考虑服务器的接入和子网连接的问题。
(5)
设备选型。包括网络设备和各个层次的交换机的选择策略。
(6)
网络操作系统与服务器资源设备。选择服务器时,首先要看具体的网络应用,然后确定网络操作系统,再进行服务器选型。
(7)
网络安全设计。确定面临的攻击和风险,明确安全策略,建立安全模型,选择并实现安全服务对安全产品的选型进行测试。

2.2 分层设计

 网络设计一般采用分层的方式,分为接入层、汇聚层、核心层

  • 1.接入层:直接面向用户连接或访问网络的部分,主要解决相邻用户之间的互访需求,并且为这些访问提供足够的带宽,接入层还应当适当负责一些用户管理功能(如地址认证、用户认证、计费管理等),以及用户信息收集工作(如用户的 IP 地址、MAC 地址、访问日志等)。

  • 2.汇聚层:是核心层和接入层的分界面,完成网络访问策略控制、数据包处理、过滤、寻址,以及其他数据处理的任务。汇聚层的存在与否要视网络规模大小而定。

  • 3.核心层:网络主干部分称为核心层,核心层的主要目的在于通过高速转发通信化、可靠的骨干传输结构,因此,核心层交换机应拥有更高的可靠性、性能和吞吐量。核心层的设备采用双机冗余热备份是非常必要的,也可以使用负载均衡功能来改善网络性能。

3. 网络实施

网络实施是在网络设计的基础上进行设备的购买、安装、调试和系统切换工作。包括以下步骤:(1)工程实施计划。列出需实施的项目、费用和负责人等,以便控制投资,按进度要求完成实施任务。
(2)网络设备到货验收。系统中要用到的网络设备到货后,在安装调试前,必须先进行严格的功能和性能测试,以保证购买的产品能很好地满足用户需要。
(3)设备安装。网络系统的安装和调试需要由专门的技术人员负责。安装项目一般分为综合布线系统机房工程、网络设备、服务器、系统软件和应用软件等几个部分。
(4)系统测试。网络测试包括网络设备测试、网络系统测试和网络应用测试三个层次。
(5)系统试运行。验证系统在功能和性能 上是否达到预期目标的重要阶段,也是对系统进行不断调整直至达到用户要求的重要时刻。
(6)用户培训
(7)系统转换。系统转换可以采用三种方法:直接转换、并行转换和分段转换(后面章节有)

二、分布式系统

分布式系统是其组件分布在联网的计算机上,组件之间通过消息传递进行通信和动作协调的系统。

构建分布式系统的挑战是处理其组件的以下特性:

(1异构性。互联网使得用户能在大量异构计算机和网络上访问服务和运行应用程序。虽然互联网由多种不同种类的网络组成,但所有连接到互联网的设备都使用相同的网络协议来通信,所以这些不同网络的区别被屏蔽了。

(2)开放性。是决定系统能否以不同方式被扩展和重新实现的特征。分布式系统的开放性主要取决于新的资源共享服务能被增加和供多种客户程序使用的程度。

(3)安全性。包括三个部分:机密性、 完整性、可用性。可伸缩性。

(4)可伸缩性。分布式系统可以在不同的规模下有效且高效运转。如果资源数量和用户数量激增系统仍能保持其有效性,那么这个系统称为可伸缩的。

(5)故障处理。分布式系统的故障是部分的,也就是说,有些组件出了故障,而有些组件运行正常因此故障的处理相当困难。常见的处理故障的技术有:

  • ①检测故障。有些故障可以被检测到,如校验和可用于检测消息或文件中出错的数据。
  • ②掩盖故障。有些被检测到的故障能被隐藏起来或降低它的严重程度。
  • ③容错。服务的客户能被设计成容错的,这通常也涉及客户的错误容忍度。
  • ④故障恢复。恢复涉及软件的设计,以便在服务器崩溃后,永久数据的状态能被恢复或回滚。

(6)并发性。在分布式系统中,服务和应用均提供可被客户共享的资源。服务和应用通常允许并发地处理多个客户请求。

(7)透明性被定义为对用户和开发人员屏蔽分布式系统的组件分离性,使系统被认为是一个整体而不是独立组件的集合。包括:

  • 访问透明性:用相同的操作访问本地资源和远程资源,对不同数据表示形式及资源访问方式进行隐藏。
  • 位置透明性:为资源分配逻辑名,用户不需要知道资源的物理位置或网络位置就能访问它们。
  • 并发透明性:几个进程能并发地使用共享资源进行操作且互不干扰。
  • 复制透明性:使用资源的多个实例提升可靠性和性能,而用户和开发人员无须知道副本的相关信点。
  • 故障透明性:屏蔽错误,无论是硬件故障还是软件故障,用户不会注意到资源的故障以及系统对于该故障的恢复过程。
  • 移动透明性:资源和客户能够在系统内移动而不会影响用户或程序的操作。
  • 性能透明性:当负载变化时,系统能被重新配置以适配性能。
  • 伸缩透明性:系统和应用能够进行扩展而不改变系统结构或应用算法。
  • 有时,也将访问透明性和位置透明性统称为网络透明性。

(8)服务质量。系统的主要非功能特性,即影响客户和用户体验的服务质量是可靠性、安全性和性能。

1. 分布式文件系统

其目的是通过廉价的服务器为大规模、高并发场景下的网页访问场景提供服务。

目前主流的分布式文件系统有 GFS、HDFS、TFS、Ceph、Lustre、MogileFS、MooseFS、FastDFS、GridFs 等。

(1)GFS运行于廉价的普通硬件上,并提供容错功能。它可以给大量的用户提供总体性能较高的服务。
(2)Hadoop分布式文件系统(HDFS)是一个具备高度容错性的系统,适合部署在廉价的机器上,系统使用多台计算机存储文件,并且提供统一的访问接口,像是访问一个普通文件系统一样。HDFS采用主从结构模型
(3)TFS是一个高可扩展、高可用、高性能、面向互联网服务的分布式文件系统,主要针对海量的非结构化数据,它构筑在普通的Linux机器集群上,可为外部提供高可靠和高并发的存储访问。TFS为淘宝提供海量小文件存储,通常文件大小不超过1MB。
(4)MooseFS一款相对小众的分布式文件系统,不需要修改上层应用接口即可直接使用。MooseFS是由管理服务器、数据服务器、元数据备份服务器和访问 MooseFS 中文件的客户机4 部分组成

  • 管理服务器负责各个数据服务器的管理、文件读写调度、文件空间回收及恢复,可多节点拷贝。
  • 数据服务器负责连接管理服务器,听从管理服务器调度,提供存储空间,并为客户提供数据传输。
  • 元数据备份服务器可以是任何数量的服务器,负责备份管理服务器的变化日志文件。
  • 访问MooseFS中文件的客户机是任意数量的机器。

2. 分布式缓存系统

是指缓存数据分布在不同的服务器上,通过缓存技术实现数据的快速访问和高并发的请求处理。典型应用是缓存经过复杂计算得到的数据,或者缓存系统中频繁访问的热点数据以减轻数据库压力。
常见的分布式缓存系统有Memcache、Redis、Tair等。

2.1 Memcache

通过在内存里维护一个统一且巨大的哈希(Hash)表,来提高读取速度,它能够用来存储各种格式的数据,包括图像、视频、文件以及数据库检索的结果等。

  • Memcache使用物理内存作为缓存区,使用键值(key/value)对的方式来存储数据,可独立运行在服务器上。
  • Memcache采用LRU缓存淘汰策略
  • Memcache不支持持久化,重启服务会导致数据丢失
  • Memcache服务器之间彼此不通信,其分布式能力是依赖客户端来实现的。
2.2 Redis

是一个开源的高性能的键值对存储系统。Redis支持多种数据结构,包括字符串、哈希列表、集合和有序集合等。

Redis的分布式缓存技术使用了一种称为“一致性哈希”的算法。该算法将缓存分散在多个节点上,每个节点存储部分缓存数据。当需要读取或写入数据时,客户端会将数据的键值通过哈希函数计算出一个哈希值,然后根据这个哈希值选择一个节点进行读写操作
Redis的特点是快速、可扩展、高效和可靠,可以处理高并发的读写请求
Redis的优点包括高性能读写,多数据类型支持,数据持久化,高可用架构,支持自定义虚拟内存,支持分布式分片集群,单线程读写性能极高
Redis的缺点是多线程读写较Memcache慢

2.3 Tair

分为持久化和非持久化两种使用方式。非持久化的Tair可以看成是一个分布式缓存,持久化的Tair将数据存放于磁盘中。
Tair由一个中心控制节点和一系列的服务节点组成。中心控制节点负责管理所有的服务节点维护服务节点的状态信息。服务节点对外提供各种数据服务,并以心跳的形式将自身状况汇报给中心控制节点。

相关推荐

系统分析师-计算机系统-操作系统-文件管理&作业与用户界面&国产操作系统-CSDN博客文章浏览阅读1.1k次,点赞32次,收藏21次。本文系统介绍了操作系统中文件管理和作业管理的核心内容。文件管理部分详细阐述了文件系统的组织结构(逻辑结构、物理结构)、文件目录、存储空间管理(空闲区表、位示图等)以及文件共享与保护机制(硬链接、符号链接)。作业管理部分解析了作业状态转换、作业控制块、作业调度算法(先来先服务、短作业优先等)以及用户界面的发展历程。最后概述了国产操作系统的发展现状,包括银河麒麟、深度等主流系统的特点。全文从实现原理到应用实践,全面剖析了操作系统资源管理的关键技术。 https://shuaici.blog.csdn.net/article/details/149474441系统分析师-计算机网络与分布式系统-计算机网络基础&网络体系结构与协议&网络地址&局域网和广域网-CSDN博客文章浏览阅读734次,点赞34次,收藏43次。本文系统介绍了计算机网络的基础知识,包括网络体系结构、数据通信原理、网络协议和地址管理等核心内容。主要涵盖:1. 网络分层结构(OSI和TCP/IP模型)及通信原理;2. 数据编码与传输技术(调制方式、差错控制等);3. 网络协议(IP、TCP/UDP等)及其应用;4. IP地址分类、子网划分及IPv6特性;5. 局域网和广域网技术(以太网、无线网络等)。文章详细解析了计算机网络的关键技术原理,为理解现代网络架构提供了系统性的知识框架。 https://shuaici.blog.csdn.net/article/details/149552385

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

帅次

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值