YMU技术架构及数据库系统设计原则

原创 2007年09月18日 18:11:00

YMU技术架构

YMUYouMonitor.Us网络是遍布全球的网站监测网络,它利用P2P技术提供新型的网站监测服务,网络参与者通过贡献YMU-Node来得到全球分布的、免费的24x7网站监测服务。YMU-Node指监测节点,是YMU网络中的一个节点,是成千上万的监测客户端之一。YMU网络体现了互联网时代“我为人人,人人为我”的共享精神。

 

YMU是互联网上的应用,它面临的是海量数据及高并发访问的环境,我们需要采用大规模分布式技术和工具来进行YMU的开发和运营。基于对现有技术、工具和网站等的考察,我们决定采用LAMJ(LAMP)架构来进行YMU的开发。LAMPLinux, Apache, MySQL, Php/Perl的缩写,是目前很多web应用的基础架构。LAMP是成为开源的、可靠的、低成本的,发展到今天,其已成为web应用开发平台的标准。我们使用JAVA来代替其中的Php/Perl,并增加Tomcat用作动态内容。

 

YMU数据库系统设计原则

一般来说,对大型网站系统,设计数据库系统时需要考虑到性价比、伸缩性和可靠性等关键指标。

性价比

从性能和性价比等各方面考虑,我们觉得MySQL应该可以满足YMU的需要。

伸缩性

伸缩性是很重要的指标,它指当数据量不断增大、并发访问量不断增加的情况下,数据库系统如何方便扩充以容纳海量数据,并保持高效访问的方案和能力。

 

一般来说,目前存在两种伸缩方式:Scale-upScale-out

 

Scale-up指通过提高硬件能力,如增加更快的硬盘、更多的内存和更多的处理器,来提高数据库处理能力。其好处是确实能提高数据库处理能力;而缺点是企业级别的服务器硬件,如小型机等的价格一般都很昂贵。

 

Scale-out则指通过把数据分布到不同的数据库服务器来提高数据库系统的总体处理能力。其好处是伸缩性更强,而且价格便宜,一般不需要企业级的服务器硬件,只要一般的PC服务器即可满足要求;而其缺点是需要应用程序的配合,程序的复杂性会增加,数据库维护的复杂性也会增加。

 

YMU采用Scale-out方案,采用PC服务器作为数据库服务器,根据客户数目来增加新的数据库服务器以支撑更多的数据及更多的并发访问。

可靠性

可靠性是另外一个重要指标。当WEB系统上线后,需要24x7小时的高效运行,系统DOWN机时间越低越好。

 

目前,YMU采用Replication机制来达到一定程度的可靠性。Replication配置成master-slave模式,正常情况下,WEB系统访问master数据库中的数据,master数据库中的数据被自动复制到slave数据库中。当master数据库出现问题时,我们需要转换slave数据库为master数据库供WEB系统访问。当master数据库修复后,需要从slave数据库中复制新数据,然后再切换为主数据库运行。另外,正常运行时,slave数据库也可作为只读数据库供WEB系统访问,以减轻master数据库的压力。

 

下一步,YMU会采用高可靠性(High Availability)方案,即DRBD+HB+REPLICATION

l         DRBD,即Distributed Replicated Block Device,是LINUX下的第三方工具,它在block层次实现数据的复制功能;

l         HB(Heart Beat):是LINUX下的第三方工具,它可监测服务器运行状态,当主数据库出现问题时,可自动切换到备份服务器;它与DRBD结合,可实现MySQL的自动切换功能;

l         REPLICATION:可配置为master-slave模式,此时slave数据库可作为只读数据库以减轻master数据库的压力。

  <script src="http://www.google-analytics.com/urchin.js" type="text/javascript"> </script>
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

《开源应用架构》读书笔记:分布式Web系统设计原则

一、简介理解大型网站架构的考虑和权衡,同样有助于我们建立小规模网站时做出决策。设计大型Web系统,有下面几个关键原则,多个原则之间往往存在着权衡取舍关系。 可用性 系统可用时间,大型电商网站,一般要求...

Microsoft NLayerApp案例理论与实践【多层架构与应用系统设计原则】

在对NLayerApp实际项目进行讨论之前,让我们首先学习一下(或者应该说重温一下)分层/多层架构与应用系统设计原则。很多朋友会认为这些都是老掉牙的内容,只要是软件从业人员,都会对这些内容非常熟悉。然...

浅谈信息系统设计原则与架构思路

转自:http://www.newmaker.com/art_30040.html   集团企业的管理能力,表现为战略执行、资源平衡和利益协调能力等方面。充分借鉴当...

高并发资金交易系统设计方案—百亿双十一、微信红包背后的技术架构

21CTO社区导读 : 今天带来的是一个长篇文章。主要讲解高可用的互联网交易系统架构,包括双十一、支付宝&微博红包技术架构,以及微信红包的技术架构,希望能给各位提供价值。   概述 ...

系统架构设计理论与原则、负载均衡及高可用系统设计速记

系统架构设计理论与原则、负载均衡及高可用系统设计速记 http://www.cnblogs.com/jeffwongishandsome/p/talk-about-arch-design-a...

系统架构师谈企业应用架构之系统设计规范与原则2

一、上章回顾 上章《系统架构师谈企业应用架构之系统设计规范与原则1》我们主要讲述了系统设计规范与原则中的具体原则与规范。如何实现满足规范的设计,我们也讲述了通过分离功能点的方式来实现,而在软件开发过...

北邮工程硕士_数据库系统设计_考试复习答案

考试范围: 第一章 第二章 第三章 第四章SQL   复习题 1.      试述数据管理的发展阶段。 手工管理阶段(50年代中期以前) 文件系统阶段(50年代末-60年代末) ...

mysql 入门基础(8)—数据库系统设计

一、概述 数据库设计是指更具用户需求研制数据库结构的过程化 Ø  数据库设计步骤 1.系统需求分析阶段 2.概念结构设计阶段 3.逻辑结构设计阶段 4.物理设计阶段 5.数据库实施阶段 ...

奖学金评比系统(数据库系统设计版)

本文转自:http://blog.csdn.net/u011239443/article/details/51655213 文档介绍 文档目的 在奖学金评比过程中,学生...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)