`
java.guru
  • 浏览: 64859 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

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

阅读更多

YMU技术架构

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

<o:p> </o:p>

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


<o:p></o:p>

YMU数据库系统设计原则

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

性价比

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

伸缩性

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

<o:p> </o:p>

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

<o:p> </o:p>

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

<o:p> </o:p>

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

<o:p> </o:p>

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

可靠性

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

<o:p> </o:p>

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

<o:p> </o:p>

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

  • <!---->DRBD,即Distributed Replicated Block Device,是LINUX下的第三方工具,它在block层次实现数据的复制功能;
  • HB(Heart Beat):是LINUX下的第三方工具,它可监测服务器运行状态,当主数据库出现问题时,可自动切换到备份服务器;它与DRBD结合,可实现MySQL的自动切换功能;
  • <!----><!---->REPLICATION:可配置为master-slave模式,此时slave数据库可作为只读数据库以减轻master数据库的压力。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics