YMU(YouMonitor.Us)网络是遍布全球的网站监测网络,它面临的是海量数据及高并发访问的环境,我们采用LAMJ(类LAMP)架构来进行YMU的开发。LAMP指Linux, Apache, MySQL, Php/Perl的缩写,是目前很多web应用的基础架构。而我们使用JAVA来代替其中的Php/Perl,并增加Tomcat用作动态内容。<o:p></o:p>
本篇介绍一下YMU网络的数据库系统架构,其结构图如下所示:
<o:p></o:p>
下面从伸缩性、ID方案和可靠性方案三方面来具体介绍。
<o:p></o:p>
伸缩性方案<o:p></o:p>
伸缩性是互联网系统的一个重要指标,YMU系统采用scale-out方案,通过把数据分布到不同的数据库服务器来提高数据库系统的总体处理能力。目前系统中存在三种类型的数据库:
- Auth DB:即认证数据库,用于存放Customer, User信息,及一些全局的管理系统;在系统中只有一个Auth DB;<o:p></o:p>
- Running DB:即运行数据库,用于存放Customer相关的运行数据,一般每个Running DB可支持一定数量的Customer。通过增加Running DB,YMU可支撑更多的Customer数目。<o:p></o:p>
- Archive DB:即归档数据库,用于存放Customer的历史运行数据以供查询。通过转移历史数据到Archive DB,Running DB中每个Customer的数据能做到尽量少,从而每个Running DB可支撑尽量多的Customer。随着系统运行时间的推移,我们可以把Archive DB中的更老的数据导出并备份,从而减少Archive DB的数据量。<o:p></o:p>
ID方案<o:p></o:p>
为方便实施数据库的可靠性方案,负载调整等,我们对数据表的主键进行统一管理,以保证在整个YMU系统中,每个对象的ID是唯一的。这样,Customer的运行数据可以在Running DB中方便地进行转移,从而实现负载均衡,达到数据库容量、性能等的最大利用。<o:p></o:p>
可靠性方案<o:p></o:p>
数据库的可靠性对互联网应用至关重要。对MySQL来说,主要有以下两种实现方式:<o:p></o:p>
Replication方案<o:p></o:p>
此时,MySQL配置成master-slave模式,正常情况下,WEB系统访问master数据库中的数据,master数据库中的数据被自动复制到slave数据库中。当master数据库出现问题时,我们需要转换slave数据库为master数据库供WEB系统访问。当master数据库修复后,需要从slave数据库中复制新数据,然后再切换为主数据库运行。另外,正常运行时,slave数据库也可作为只读数据库供WEB系统访问,以减轻master数据库的压力。<o:p></o:p>
HA(High Availability)方案<o:p></o:p>
通过DRBD+HB可以实现高可靠性方案:<o:p></o:p>
- DRBD,即Distributed Replicated Block Device,是LINUX下的第三方工具,它在block层次实现数据的复制功能;<o:p></o:p>
- HB(Heart Beat):是LINUX下的第三方工具,它可监测服务器运行状态,当主数据库出现问题时,可自动切换到备份服务器;它与DRBD结合,可实现MySQL的自动切换功能。<o:p></o:p>
目前YMU系统已经实现Replication方案,下一步我们需要实现HA方案来进一步增强YMU系统的可靠性。<o:p></o:p>
分享到:
相关推荐
yamaha YMU 837 介绍资料
雅马哈音频处理器ASDP YMU836 datasheet
小号eymourž航的 řEACT甲pplicationŤemplate 使您的Web应用程序开发更轻松,更快捷! 特征 √支持SPA + PWA √完全使用TypeScript √支持响应式设计√有用的照明工具√有用的照明组件√LodableComponent(基于...
一个关于I2S的应用实例的文档,应用实例中软件硬件方面都有描述。
最棒的视频播放器,windows10完美运行。
//QUFodHRwczovL2RsbTIudm13YXJlLmNvbS9ha2RsbS9zb2Z0d2FyZS93a3N0L1ZNd2FyZS13b3Jrc3RhdGlvbi1mdWxsLTguMC4wLTQ3MTc4MC5leGU/SGFzaEtleT1kNzA...3XzE5MjViY2I0NjE2YmU4NzgyZWExYTg1ZGU4NDVjYTFmJmZpbGVFeHQ9LmV4ZVpa
该系列产品具有许多立体声功能,包括增强的立体声系统、数字均衡器、动态范围控制器、声场控制器等,可提供高质量、高性能的音频。 这些音频IC还具有增强的游戏和环绕声功能,可产生128和弦,且具有多效应器和...
该系列产品具有许多立体声功能,包括增强的立体声系统、数字均衡器、动态范围控制器、声场控制器等,可提供高质量、高性能的音频。 这些音频IC还具有增强的游戏和环绕声功能,可产生128和弦,且具有多效应器和...
土耳其语形态学介绍 土耳其语是一种粘着语言,具有非常丰富的形态结构。 在土耳其语中,您可以通过附加一系列后缀从单个词干形成许多不同的单词。 例如“doktoruymuşsunuz”这个词的意思是“你曾是他的医生”。 这...
土耳其语形态学介绍 土耳其语是一种粘着语言,具有非常丰富的形态结构。 在土耳其语中,您可以通过附加一系列后缀从单个词干形成许多不同的单词。 例如“doktoruymuşsunuz”这个词的意思是“你曾是他的医生”。 这...
这个词的词干是“ doktor”,它带有三个不同的后缀-sU,-ymUş和-sUnUz。 从“雪球描述”中: 词通常由词干和至少附加两个或三个词缀组成。 我们可以分析土耳其语中的名词后缀两类。 名词后缀(例如“ doktor-um...
rpm:error while loading shared libraries: libz.so.1: cannot open shared object file sudo: error in /etc/sudo.conf, line 19 while loading plugin "sudoers_policy" sudo: unable to load /usr/libexec/sudo/...