系统构架图

系统架构文档

文档编号

文档状态草案、秘密

系统架构方案编写人

编写日期

最后修订周汉仓2011年03月01日

系统架构文档

系统架构文档

修改记录

日期

2011/3/1修改人周汉仓编写初稿修改内容

系统架构文档

1. 录

2.

3. 概述........................................................................................................................................... 1编写目的....................................................................................................................... 11.1. 系统架构图................................................................................................................... 11.2. 系统架构说明........................................................................................................................... 2系统模块说明............................................................................................................... 33.1. 3.1.1. squid 视频和图片加速................................................................................... 33.1.2. lvs/nginx负载................................................................................................. 33.1.1. haproxy 负载均衡........................................................................................... 33.1.4. Resin(tomcat)/nginx(apache)web服务............................................................ 33.1.5. Interface 数据接口........................................................................................... 33.1.6. Nfs 视频存储..................................................................................................... 33.1.7. Mysql 数据库.................................................................................................... 3数据流说明................................................................................................................... 33.1. 访问流程........................................................................................................... 33.2.1. 流程说明........................................................................................................... 33.2.2. 数据库的应用和维护................................................................................................... 33.1. 3.3.1. mysql 架构图.................................................................................................... 33.3.2. mysql 常用引擎的特点..................................................................................... 3关于mysql replicateion .................................................................................... 33.3.3. 3.3.4. mysql 的维护.................................................................................................... 3常见问题(FAQ ).................................................................................................................... 4

1. 概述

1.1. 编写目的

1,本文档的编写目的是给公司推荐个人在web 流媒体服务方案上的系统架构建议。

1.2. 系统架构图

标注:

1,在图中的流程线不代表tcp 连接,而是代表我想表达的数据传输的方向。

2,数据双向传输的我用红色线标注。

3,方框不一定代表要使用一台服务器,或者一个应用不一定代表要使用一台服务

器,可以一个服务器放置不同的应用。也可以多个服务器放置相同的应用

4,虚线的存在是因为交错的线路比较多,我提供虚线便于我们能比较好的看清楚

图中线路的走向。

2. 系统架构和说明

我们系统中有下面7个应用层,下面是对相应的应用进行一个介绍:

2.1. 系统模块说明术

Squid 语说明只是作为视频和图片的加速分布在我们机房各个点

Lvs 负载均衡

Haproxy

Resin(tomcat)/ngnix(apache)

web 服务

Interface 数据接口

Nfs 视频存储

Mysql 数据库对外提供给用户接入,提供一个虚拟ip 进行前端系统的负载均衡第二层代理和系统负载均衡,相对其他代理具有搞并发和可用性Web 服务池,提供web 服务的应用程序,tomcat 处理动态程序,ngnix 提供静态页面和视频处理写入和读取数据接口一个存放视频文件的存储用来存放各种数据的数据库

2.1.1squid 提供视频图片加速

现在对视频和图片的加速虽然出现一些其他相应的工具,但是相对来说在稳定和工具成熟度上来说squid 是最稳定,在完全熟悉相应的配置结构之后,经过优化,对视频和图片加速squid 是最强大的。

2.1.2lvs/nginx负载均衡:

在现在的系统服务中,我们面对我们的客户,我们提供一个高可用性,可扩展行的web 服务,我们在前端一般使用相应的负载均衡,现在负载均衡有多种解决方案,lvs 是相对非常成熟也最常用的方式,但是在web 服务中,我们有时候也采用nginx 作为前端负载均衡的方式解决。只是nginx 在解决负载均衡的时候配置方案和nginx 的代理形式有比较大的相似性,但是经过长时间的应用这个解决方案简单,并且稳定。相对lvs 维护也要简便很多。并且nginx 的并发处理也非常不错。但是nginx 处理的方式是和代理模式相同。但是在安全性喝处理大并发,高可用性,安全性,提供除虚拟ip 之外的透明访问上,上lvs 有不可替代的能力,ngnix 相对来说只是一个代理负载均衡的工具。

2.1.3. :haproxy 负载均衡

HAProxy 提供高可用性、负载均衡以及基于TCP 和HTTP 应用的代理,支持虚拟主机,它是免费、快速并且可靠的一种解决方案。根据官方数据,其最高极限支持10G 的并发。HAProxy 特别适用于那些负载特大的web 站点,这些站点通常又需要会话保持或七层处理。HAProx y 运行在当前的硬件上,完全可以支持数以万计的并发连接。并且它的运行模式使得它可以很简单安全的整合进您当前的架构中,同时可以保护你的web 服务器不被暴露到网络上。其支持从4层至7层的网络交换,即覆盖所有的TCP 协议。就是说,

如果说在功能上,能以proxy 反向代理方式实现Haproxy 甚至还支持Mysql 的均衡负载。

WEB 均衡负载,这样的产品有很多。包括Nginx ,ApacheProxy ,lighttpd ,Cheroke 等。但要明确一点的,Haproxy 并不是Http 服务器。以上提到所有带反向代理均衡负载的产品,都清一色是WEB 服务器。简单说,就是他们能自个儿提供静态(html,jpg,gif..)或

动态(php,cgi..)文件的传输以及处理。而Haproxy 仅仅,而且专门是一款的用于均衡负载的应用代理。其自身并不能提供http 服务。

2.1.4R esin(tomcat)/nginx(apache):2.1.4R

我们提供web 服务一般都是采用相应的服务应用程序resin(tomcat)作为java 的解析是大多数公司采用的方案,nginx 和apache 就是相应的对静态文件进行处理,结合两者一起提供web 服务是现在比较有效率高并发的解决方式。

3.1.5I nterface 数据读取和写入接口:

在现在高数据量的并发读取写入的情况下面,对数据的读写处理能力是一个非常重要的应用,现在基本每个公司都有开发相应的接口进行数据的的读写分离,以满足对单个数据库的压力的减少,并且更加能方便数据的维护。这里当然不只是简单的读写分离,包括中间缓存层(memcached 等想类似的技术)。当然写了接口,将来在一些应用上还可以用oracle 等其他相应的数据库。

3.1.6N fs 视频存储(图片存储)

在流媒体服务提供的时候我们会有大量的视频文件,数据的增加都是有一个非常大的快速增加,这个时候我们会需要非常大的存储,以前一般公司都是使用一些存储(NETAPP )来进行存放大批量的文件,但是现在因为服务器性能发展迅速,基本很多公司都已经开始用普通服务器对小容量(10T )存储进行替代,nfs 存储服务器基本可以使用性能比较优异的服务器进行替代。在构架图中使用了2个存储进行备份,以前存储使用的是单台(成本),磁盘采用的raid5的结构方式,但是现在使用两台高性能的服务器,每台服务器都采用相同容量的硬盘,比如单台10T ,每台服务器都使用raid0的方式,进行时时备份。那么就算是任何一台机器出现问题可以及时的切换的另外一个机器而不影响服务,而采用单台存储的时候,却可能因为硬件的问题(不一定是硬盘)导致服务中断。在成本和服务上都有一个比较好的提升。

3.1.7mysql 数据库

现在提供web 服务的的数据库有许多,采用较多的有mysql 和mssql ,但是经过经过大量的应用和发展,mysql 占据了主流,它比较于mssql 来说有非常多的优点。

1,mysql 是免费的,这是最大的优点

2,mysql 有多种引擎,可以使用不同的引擎提供不同的服务,自由度非常大,mysiam

引擎提供web 服务相对非常快速的select 和insert 。在性能上远超mssql 。Innodb 引擎同样支持事物数据的处理,提供高可靠性和高安全性数据的处理。

3,mysql 的replicateion 和cluster 的迅速发展让mysql 更加强大。在数据的分布式处理

上比其他数据库走在前列。

2.2. 系统数据流程说明

2.2.1访问流程:

2.2.2流程说明:

1,客户(client )通过对域名或者手机客户端指定对我们lvs 服务器进行发送请求。2,lvs 对请求进行相应的分配给后面的web 服务器,也就是realserver 。

3,realserver 得到请求对请求提供相应的服务。

4,在提供服务的时候要通过interface 对数据库进行读写操作。

3. 数据库的应用和维护(mysql )

1,mysql 架构图

2,mysql 常用引擎的特点(Myisam &&innodb )

引擎使用的选择我们根据我们应用情况来进行选择,如果要对数据进行事物处理和数据表之间进行相关性结构的数据我们选择innodb 引擎,其他的我们可以选择Myisam 引擎。下面介绍中Myisam 数据的限制其实已经在5.0之后进行很好的解决,现在上千万上亿条数据在Myisam 中处理相对来说也是非常高效的。如果要使用全文索引等情况那就只能使用Myisam 引擎,在选择上我们可以比较大的自

由度。

3, 关于mysql replicateion

系统架构文档

MySQL 支持单向、异步复制,复制过程中一个服务器充当主服务器(Master),而一个或多个其它服务器充当从服务器(Slave),利用该特性实现读写分离,是很多大型网站常用的数据库架构。MySQL 的replication 的配置相对于Oracle 来说,要简单的多。并且容易维护和备份,保证数据的安全和完整性是非常好的方案。

4,mysql 的维护

1,MYSQL 服务的安装/配置的通用性;

2,数据的安全和完整性

3,系统的升级和数据迁移方便性;

4,备份和系统快速恢复;

5,根据数据服务器硬件的情况和数据存储方式等对数据库应用进行相应的优化。

4. 常见问题(FAQ )

1,lvs 负载均衡配置和服务

2,interface 对数据库读写分离服务

3,视频信息存储方式

4,服务器机房分布和系统结构方式

系统架构文档

文档编号

文档状态草案、秘密

系统架构方案编写人

编写日期

最后修订周汉仓2011年03月01日

系统架构文档

系统架构文档

修改记录

日期

2011/3/1修改人周汉仓编写初稿修改内容

系统架构文档

1. 录

2.

3. 概述........................................................................................................................................... 1编写目的....................................................................................................................... 11.1. 系统架构图................................................................................................................... 11.2. 系统架构说明........................................................................................................................... 2系统模块说明............................................................................................................... 33.1. 3.1.1. squid 视频和图片加速................................................................................... 33.1.2. lvs/nginx负载................................................................................................. 33.1.1. haproxy 负载均衡........................................................................................... 33.1.4. Resin(tomcat)/nginx(apache)web服务............................................................ 33.1.5. Interface 数据接口........................................................................................... 33.1.6. Nfs 视频存储..................................................................................................... 33.1.7. Mysql 数据库.................................................................................................... 3数据流说明................................................................................................................... 33.1. 访问流程........................................................................................................... 33.2.1. 流程说明........................................................................................................... 33.2.2. 数据库的应用和维护................................................................................................... 33.1. 3.3.1. mysql 架构图.................................................................................................... 33.3.2. mysql 常用引擎的特点..................................................................................... 3关于mysql replicateion .................................................................................... 33.3.3. 3.3.4. mysql 的维护.................................................................................................... 3常见问题(FAQ ).................................................................................................................... 4

1. 概述

1.1. 编写目的

1,本文档的编写目的是给公司推荐个人在web 流媒体服务方案上的系统架构建议。

1.2. 系统架构图

标注:

1,在图中的流程线不代表tcp 连接,而是代表我想表达的数据传输的方向。

2,数据双向传输的我用红色线标注。

3,方框不一定代表要使用一台服务器,或者一个应用不一定代表要使用一台服务

器,可以一个服务器放置不同的应用。也可以多个服务器放置相同的应用

4,虚线的存在是因为交错的线路比较多,我提供虚线便于我们能比较好的看清楚

图中线路的走向。

2. 系统架构和说明

我们系统中有下面7个应用层,下面是对相应的应用进行一个介绍:

2.1. 系统模块说明术

Squid 语说明只是作为视频和图片的加速分布在我们机房各个点

Lvs 负载均衡

Haproxy

Resin(tomcat)/ngnix(apache)

web 服务

Interface 数据接口

Nfs 视频存储

Mysql 数据库对外提供给用户接入,提供一个虚拟ip 进行前端系统的负载均衡第二层代理和系统负载均衡,相对其他代理具有搞并发和可用性Web 服务池,提供web 服务的应用程序,tomcat 处理动态程序,ngnix 提供静态页面和视频处理写入和读取数据接口一个存放视频文件的存储用来存放各种数据的数据库

2.1.1squid 提供视频图片加速

现在对视频和图片的加速虽然出现一些其他相应的工具,但是相对来说在稳定和工具成熟度上来说squid 是最稳定,在完全熟悉相应的配置结构之后,经过优化,对视频和图片加速squid 是最强大的。

2.1.2lvs/nginx负载均衡:

在现在的系统服务中,我们面对我们的客户,我们提供一个高可用性,可扩展行的web 服务,我们在前端一般使用相应的负载均衡,现在负载均衡有多种解决方案,lvs 是相对非常成熟也最常用的方式,但是在web 服务中,我们有时候也采用nginx 作为前端负载均衡的方式解决。只是nginx 在解决负载均衡的时候配置方案和nginx 的代理形式有比较大的相似性,但是经过长时间的应用这个解决方案简单,并且稳定。相对lvs 维护也要简便很多。并且nginx 的并发处理也非常不错。但是nginx 处理的方式是和代理模式相同。但是在安全性喝处理大并发,高可用性,安全性,提供除虚拟ip 之外的透明访问上,上lvs 有不可替代的能力,ngnix 相对来说只是一个代理负载均衡的工具。

2.1.3. :haproxy 负载均衡

HAProxy 提供高可用性、负载均衡以及基于TCP 和HTTP 应用的代理,支持虚拟主机,它是免费、快速并且可靠的一种解决方案。根据官方数据,其最高极限支持10G 的并发。HAProxy 特别适用于那些负载特大的web 站点,这些站点通常又需要会话保持或七层处理。HAProx y 运行在当前的硬件上,完全可以支持数以万计的并发连接。并且它的运行模式使得它可以很简单安全的整合进您当前的架构中,同时可以保护你的web 服务器不被暴露到网络上。其支持从4层至7层的网络交换,即覆盖所有的TCP 协议。就是说,

如果说在功能上,能以proxy 反向代理方式实现Haproxy 甚至还支持Mysql 的均衡负载。

WEB 均衡负载,这样的产品有很多。包括Nginx ,ApacheProxy ,lighttpd ,Cheroke 等。但要明确一点的,Haproxy 并不是Http 服务器。以上提到所有带反向代理均衡负载的产品,都清一色是WEB 服务器。简单说,就是他们能自个儿提供静态(html,jpg,gif..)或

动态(php,cgi..)文件的传输以及处理。而Haproxy 仅仅,而且专门是一款的用于均衡负载的应用代理。其自身并不能提供http 服务。

2.1.4R esin(tomcat)/nginx(apache):2.1.4R

我们提供web 服务一般都是采用相应的服务应用程序resin(tomcat)作为java 的解析是大多数公司采用的方案,nginx 和apache 就是相应的对静态文件进行处理,结合两者一起提供web 服务是现在比较有效率高并发的解决方式。

3.1.5I nterface 数据读取和写入接口:

在现在高数据量的并发读取写入的情况下面,对数据的读写处理能力是一个非常重要的应用,现在基本每个公司都有开发相应的接口进行数据的的读写分离,以满足对单个数据库的压力的减少,并且更加能方便数据的维护。这里当然不只是简单的读写分离,包括中间缓存层(memcached 等想类似的技术)。当然写了接口,将来在一些应用上还可以用oracle 等其他相应的数据库。

3.1.6N fs 视频存储(图片存储)

在流媒体服务提供的时候我们会有大量的视频文件,数据的增加都是有一个非常大的快速增加,这个时候我们会需要非常大的存储,以前一般公司都是使用一些存储(NETAPP )来进行存放大批量的文件,但是现在因为服务器性能发展迅速,基本很多公司都已经开始用普通服务器对小容量(10T )存储进行替代,nfs 存储服务器基本可以使用性能比较优异的服务器进行替代。在构架图中使用了2个存储进行备份,以前存储使用的是单台(成本),磁盘采用的raid5的结构方式,但是现在使用两台高性能的服务器,每台服务器都采用相同容量的硬盘,比如单台10T ,每台服务器都使用raid0的方式,进行时时备份。那么就算是任何一台机器出现问题可以及时的切换的另外一个机器而不影响服务,而采用单台存储的时候,却可能因为硬件的问题(不一定是硬盘)导致服务中断。在成本和服务上都有一个比较好的提升。

3.1.7mysql 数据库

现在提供web 服务的的数据库有许多,采用较多的有mysql 和mssql ,但是经过经过大量的应用和发展,mysql 占据了主流,它比较于mssql 来说有非常多的优点。

1,mysql 是免费的,这是最大的优点

2,mysql 有多种引擎,可以使用不同的引擎提供不同的服务,自由度非常大,mysiam

引擎提供web 服务相对非常快速的select 和insert 。在性能上远超mssql 。Innodb 引擎同样支持事物数据的处理,提供高可靠性和高安全性数据的处理。

3,mysql 的replicateion 和cluster 的迅速发展让mysql 更加强大。在数据的分布式处理

上比其他数据库走在前列。

2.2. 系统数据流程说明

2.2.1访问流程:

2.2.2流程说明:

1,客户(client )通过对域名或者手机客户端指定对我们lvs 服务器进行发送请求。2,lvs 对请求进行相应的分配给后面的web 服务器,也就是realserver 。

3,realserver 得到请求对请求提供相应的服务。

4,在提供服务的时候要通过interface 对数据库进行读写操作。

3. 数据库的应用和维护(mysql )

1,mysql 架构图

2,mysql 常用引擎的特点(Myisam &&innodb )

引擎使用的选择我们根据我们应用情况来进行选择,如果要对数据进行事物处理和数据表之间进行相关性结构的数据我们选择innodb 引擎,其他的我们可以选择Myisam 引擎。下面介绍中Myisam 数据的限制其实已经在5.0之后进行很好的解决,现在上千万上亿条数据在Myisam 中处理相对来说也是非常高效的。如果要使用全文索引等情况那就只能使用Myisam 引擎,在选择上我们可以比较大的自

由度。

3, 关于mysql replicateion

系统架构文档

MySQL 支持单向、异步复制,复制过程中一个服务器充当主服务器(Master),而一个或多个其它服务器充当从服务器(Slave),利用该特性实现读写分离,是很多大型网站常用的数据库架构。MySQL 的replication 的配置相对于Oracle 来说,要简单的多。并且容易维护和备份,保证数据的安全和完整性是非常好的方案。

4,mysql 的维护

1,MYSQL 服务的安装/配置的通用性;

2,数据的安全和完整性

3,系统的升级和数据迁移方便性;

4,备份和系统快速恢复;

5,根据数据服务器硬件的情况和数据存储方式等对数据库应用进行相应的优化。

4. 常见问题(FAQ )

1,lvs 负载均衡配置和服务

2,interface 对数据库读写分离服务

3,视频信息存储方式

4,服务器机房分布和系统结构方式


相关文章

  • 2013电子商务项目网站建设方案模板
  • 2013电子商务项目网站建设方案模板 项目概述项目概述项目概述项目概述..1 项目规划项目规划项目规划项目规划..2 应用系统功能开发与规划..3 访问用户功能列表.4 管理用户功能列表.5 用户经历的实现方法手段..6 ***信息内容与导 ...查看


  • [统一软件开发过程]试卷A
  • 4.下列关于构架的说法,不正确的是( D ) (D)构架描述包括测试用例和测试规程. 5.分析阶段的基本任务是完成系统的( A ) (A)逻辑模型 6.选购软件开发工具首先应考虑的是( B) (B)明确目的与要求 7.用户界面设计的任务不包 ...查看


  • 产品介绍-邮件版
  • 完整安全 提升价值 推进效益 --构筑坚强有力的终端安全管理平台 ● 内部网络面临的安全问题 提起网络安全,人们自然就会想到网络边界安全,但实际情况是网络的大部分安全风险均来自于内部.常规安全防御理念往往局限在网关级别.网络边界(防火墙.I ...查看


  • 计算机软件工程论文
  • 计算机软件开发中分层技术的运用 进入21世纪,我国科学技术产业进入到快速发展期,相应的计算机软件开发随之蓬勃发展.众所周知,计算机软件开发的核心在于构建网络框架,以往比较简单的开发系统显然不能够满足广大用户的个性化需求,面对纷扰繁杂的计算机 ...查看


  • 智能电网的通信技术
  • 智能电网通信网络研究 摘要 先进的通信网络技术应用于智能电网,使电力网更加智能化.反应速度更快的通信设备和先进的技术减少了电网中断电.电压骤降等现象.促进电网智能化.建立新的通信基础设施是智能电网的两个主要研究方向.近几年,智能电网工程一直 ...查看


  • 城市轨道交通测绘实训
  • 城市轨道交通车辆课程综合实训报告 实训项目 地铁转向架拆装及零部件测绘 姓 名 学 号 [1**********]3 所属院系 自动控制与机械工程 专业年级 2014级交通运输 指导教师 2016年12月 目 录 项目一 认识地铁转向架•• ...查看


  • 大型工程项目管理模型
  • 大型工程项目管理模型构架初探 摘要 大型工程项目是一个复杂的巨系统,为复杂的巨系统建立系统模型是科学管理的基础.使用网络计划技术建立项目原型是大家的共识,但为复杂的巨系统建立系统模型存在着较大的困难.本文结合苏通大桥项目的工程实际以及现代企 ...查看


  • 走向J2EE,漫长的道路
  • 初次涉及java领域,感觉到java入门是好像没有c,c++入门快,工具也没有什么turbo c,visual c++好用(自己的破机器实在陪不起jbuilder,贪婪的家伙,以后一定要收拾她).什么java_home,classpath, ...查看


  • 软件开发过程概述
  • 第1章 软件开发过程概述 1.1 软件开发过程概述 1.1.1 软件的概念 软件(Software)简单的说就是那些在计算机中能看的着,但摸不着的东西,概念性的说软件也称为"软设备",广义地说软件是指系统中的程序以及开发 ...查看


  • 2013铁路运输行业成功案例
  • 铁路运输行业成功案例 牵引制动系统性能的问题 机车车辆的牵引制动性能是关系到车辆运行安全与否的一个重要因素.机车车辆的牵引制动系统的牵引制动性能除了要考虑牵引电机.传动系统.制动系统之外,还要考虑轮轨接触的影响.通过MSC.ADAMS/Ra ...查看


热门内容