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

YMU网络的数据库系统架构介绍

阅读更多

YMU(YouMonitor.Us网络是遍布全球的网站监测网络,它面临的是海量数据及高并发访问的环境,我们采用LAMJ(LAMP)架构来进行YMU的开发。LAMPLinux, 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 DBYMU可支撑更多的Customer数目。<o:p></o:p>
  • Archive DB:即归档数据库,用于存放Customer的历史运行数据以供查询。通过转移历史数据到Archive DBRunning 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>

HAHigh 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>

分享到:
评论

相关推荐

    YMU837介绍资料.pdf

    YMU837的应用场景包括车载音频系统、音频处理系统和音频输出系统等。该产品还支持高质量的音频处理和音频输出。 结论 YMU837是雅马哈公司推出的新一代车载DSP产品,具有高性能和高质量的音频处理能力。该产品支持...

    雅马哈音频处理器ASDP YMU836 datasheet

    雅马哈音频处理器ASDPYMU836是由雅马哈株式会社生产的一款音频处理器芯片,主要应用于汽车音频系统中,提供高质量的音频处理能力。本datasheet提供了ASDPYMU836的详细规格、功能描述、应用指南和安全注意事项。 一...

    ymu-have-a-nice-day

    小号eymourž航的 řEACT甲pplicationŤemplate 使您的Web应用程序开发更轻松,更快捷! 特征 √支持SPA + PWA √完全使用TypeScript √支持响应式设计√有用的照明工具√有用的照明组件√LodableComponent(基于...

    How to use microcontroller to play audio files with an external I²S audio codec

    文档开始部分虽然对于高级用户可以跳过,但其内容可能包含了对I2S协议、STM32F103xx I2S功能的基础介绍以及对整个应用笔记的概览。 文档内容覆盖了I2S协议的通用描述、STM32F103xx I2S功能的实现示例、硬件描述、...

    PotPlayer64位

    最棒的视频播放器,windows10完美运行。

    Plotting Gaussians in Matlab

    y = ymu - 2 * maxsd : 0.1 : ymu + 2 * maxsd; ``` 5. 使用`meshgrid`函数生成用于绘制的网格数据: ```matlab [X, Y] = meshgrid(x, y); ``` 6. 计算网格上的每个点处的高斯函数值,并使用`surf`或`contour`...

    virtual-tutor

    3. **个性化学习路径**:通过JavaScript,系统可能能根据学生的学习进度和能力定制个性化的学习计划和推荐相应的学习资源。 4. **互动学习工具**:JavaScript可以集成各种互动元素,如在线测验、问答系统、编程练习...

    Vmware8.0 - 471780 X32+X64 汉化包(修正版)

    //QUFodHRwczovL2RsbTIudm13YXJlLmNvbS9ha2RsbS9zb2Z0d2FyZS93a3N0L1ZNd2FyZS13b3Jrc3RhdGlvbi1mdWxsLTguMC4wLTQ3MTc4MC5leGU/SGFzaEtleT1kNzA...3XzE5MjViY2I0NjE2YmU4NzgyZWExYTg1ZGU4NDVjYTFmJmZpbGVFeHQ9LmV4ZVpa

    Guitar-Tutor-For-All

    吉他老师全 一些没有JavaFX构建的GUI的导师的源代码,我们无法提供Code Tutor和Ditty Tutor的源代码。每个导师的接口都是java swing。请下载并在JRE 1.6或更高版本的环境中运行。

    harmonyos2-elasticsearch-analysis-turkishstemmer:ElasticSearch分析插件提供土耳其

    土耳其语形态学介绍 土耳其语是一种粘着语言,具有非常丰富的形态结构。 在土耳其语中,您可以通过附加一系列后缀从单个词干形成许多不同的单词。 例如“doktoruymuşsunuz”这个词的意思是“你曾是他的医生”。 这...

    harmonyos2-turkish_stemmer:一个简单的土耳其语词干库

    土耳其语形态学介绍 土耳其语是一种粘着语言,具有非常丰富的形态结构。 在土耳其语中,您可以通过附加一系列后缀从单个词干形成许多不同的单词。 例如“doktoruymuşsunuz”这个词的意思是“你曾是他的医生”。 这...

    模拟技术中的Yamaha的手机声音芯片包含D类放大器

    YMU791作为该系列的一员,采用了93球WLCSP(晶圆级芯片规模封装),这种封装技术具有体积小、功耗低的优点,非常适合在手机等便携设备中应用。其5.9×5.6mm的小巧尺寸,不仅节省了空间,也确保了芯片在有限的手机...

    教育精品资料消防站主体工程监理实施细则新.doc

    基础部分采用YMU10页岩砖和RS轻集料混凝土空心砌块。 4. **监理工作依据**:监理工作基于国家和地方的政策、法律、技术标准和规程,包括建筑工程施工质量验收统一标准、砌体工程施工质量验收规范、混凝土结构施工...

    turkish-stemmer-python:用于Python的土耳其语词干

    这个词的词干是“ doktor”,它带有三个不同的后缀-sU,-ymUş和-sUnUz。 从“雪球描述”中: 词通常由词干和至少附加两个或三个词缀组成。 我们可以分析土耳其语中的名词后缀两类。 名词后缀(例如“ doktor-um...

    模拟技术中的Yamaha推出包含D类放大器的手机Audio芯片

    YMU791作为该系列的一个具体产品,采用了先进的93球WLCSP(晶圆级芯片规模封装),这种封装方式体积小巧,仅为5.9×5.6mm,适合在手机这样空间有限的设备中使用。它的紧凑设计不仅节省了空间,还优化了电源管理,有...

    libz.so.1+libz.so.1.2.11 centos rocky原始文件2024

    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/...

    CubeMonitor流程配置

    CubeMonitor流程配置

Global site tag (gtag.js) - Google Analytics