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

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>

常用Java Web应用软件 (LNMJ,LAMJ)安装 本文主要总结了在Ubuntu10下常用Java Web应用软件的安装,特别是LNMJ Web(Linux+Nginx+Mysql+Java Tomcat)架构和LAMJ Web(Linux+Apache+Mysql+Java Tomcat)架构下的软件安装。为进一步配置和实现LNMJ和LAMJ架构(负载均衡与集中式Memcached集群)进行前期准备。本文记录了安装过程经常出现的错误,并提供了解决办法,具有很好的实用性,是居家旅行必备之良品。 主要内容有: VirtualBox4.0的安装和配置 包括VirtualBox下网络环境的配置,和主机文件的共享,主机和虚拟机剪贴板共享等内容。 http://peterwei.javaeye.com/blog/968815 Ubuntu10下JDK1.6安装 http://peterwei.javaeye.com/blog/968758 Ubuntu10下Tomcat7安装 http://peterwei.javaeye.com/blog/968774 Ubuntu10下Eclipse3.6安装 http://peterwei.javaeye.com/blog/975129 Ubuntu10下Nginx-0.8.54安装 http://peterwei.javaeye.com/blog/969991 Ubuntu10下Apache-2.2安装 http://peterwei.javaeye.com/blog/975122 Ubuntu10下Mysql-5.1.56安装 http://peterwei.javaeye.com/blog/976422 Ubuntu10下Memcached-1.4.5安装 http://peterwei.javaeye.com/blog/974445 Ubuntu10下SSH2协议安装 http://peterwei.javaeye.com/blog/976944 Ubuntu10下Subversion安装 http://peterwei.javaeye.com/blog/976916 Ubuntu10下中文输入法安装 http://peterwei.javaeye.com/blog/976908 Ubuntu Linux实用命令 http://peterwei.javaeye.com/blog/976950 当然,最后也提供了PDF格式的附件统一下载,方便大家查看。下载后觉得不错的,不要吝啬你的掌声。 立即下载

相关推荐

LAMJ-JSP环境搭建

JSP LINUX LAMJ MYSQL

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

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

java_veteran的专栏 1056

YMU837介绍资料.pdf

yamaha YMU 837 介绍资料

[Linux] LAMP架构

LAMP 架构是一种流行的 Web 应用程序架构,它的名称是由四个主要组件的首字母组成的:Linux(操作系统): 作为操作系统,Linux 提供了服务器的基础。它负责处理硬件资源、文件系统管理、用户权限等。常见的 Linux 发行版如 Ubuntu、CentOS 等都可以作为 LAMP 架构的基础。Apache(Web 服务器): Apache 是一款开源的、跨平台的 Web 服务器软件。它的主要任务是接收来自客户端的 HTTP 请求,根据配置文件处理请求,然后将结果返回给客户端。

热心网友 1182

【Unity Shader】2D模型 3D模型混用的穿模问题(Spine在3D场景中出现前后穿模问题的解决办法)

问题描述: 在3D场景中使用Spine模型(2D), 因为Spine需要像Billboard类似的处理,永远是垂直与相机的, 所以一般情况下2D模型能正常显示且前后的阻挡关系也是没有问题的,如下图所示,一切都很美好.(这里用一个四边形,图中的福字表示2D模型) 可是如果后面蓝色的格子比较高,或者2D角色本身也比较高,那么就会出现模型穿插的问题,如下图所示: 如果吧2D模型竖立起来,前后关系肯定是没有问题的,所以也能避免模型穿插的问题,可是就没有Billboard效果,圆形的福字已经被压扁了,如下图:

Vitens的专栏 4594

eMMC FFU固件更新实战:从协议解析到设备修复

本文详细解析eMMC FFU固件更新技术,从协议原理到实战操作,涵盖EXT_CSD寄存器操作、命令流状态机解析及专业工具使用指南。通过真实维修案例,展示如何利用FFU机制修复设备故障,并提供高级优化技巧与安全注意事项,是硬件工程师和维修技术人员的实用参考。

weixin_29191761的博客 383

电商平台 lnmp 架构之 nginx+tomcat

电商平台 lnmp 架构之 nginx 优化

weixin_54720351的博客 334

神经形态芯片:IBM TrueNorth技术详解以及应用案例

2018年的一项演示中,机器人使用TrueNorth处理了复杂的路径规划,功耗仅为传统系统的1/10。它通过模仿人脑的结构,解决了传统芯片在功耗和并行性上的痛点,并在图像识别、物联网和机器人等领域展现了强大潜力。:不同于传统芯片的时钟驱动,TrueNorth是事件驱动的。例如,工厂中的振动传感器使用TrueNorth检测设备故障的早期迹象,实现了更高效的维护策略,避免了停机时间。:在医疗领域,TrueNorth可以用于可穿戴设备,比如一个智能助听器,它能过滤噪音并增强特定声音,功耗低到可以用纽扣电池供电。

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 2479

YMU基本介绍

YMU基本介绍 网站数量爆炸是增长,网站竞争日趋白热化。新兴的优秀站点不断涌现,与此同时,更多得新老站点在被人抛弃。 慢速的网站会被抛弃,特别是在现在网速越来越快的背景条件下。据一份来自Zona研究的结果显示,如果...

1743

《QGIS快速入门与应用基础》223:纸张大小与方向(A4/A3/自定义)

本文详细介绍了QGIS布局页面设置的核心操作,重点讲解了纸张大小与方向的设置方法。文章首先指出页面设置是地图排版的基础前提,强调合理设置可避免导出打印时出现尺寸不符等问题。随后详细说明了三种打开页面设置面板的方式,并重点解析了纸张设置的要点:标准预设纸张(A4/A3等)适用于大多数场景,提供国内常用规格对照表;自定义纸张则需谨慎使用,需注意单位选择和尺寸限制。通过界面标注图和操作步骤示意图,帮助用户掌握正确的设置方法,确保最终出图符合规范要求。文章特别提醒新手要优先使用标准预设纸张,避免常见错误,为后续地图

LuckyHanMo的博客 348

Open3D (C++) KD tree的使用【2025最新版】

Open3D (C++) KD tree的使用,博客长期更新,本文最近更新时间为:2025年1月6日。

点云侠的博客 1566

Ubuntu10和VirtualBox4实用总结-常用Java Web应用软件 (LNMJ,LAMJ)安装

本文主要总结了在[color=green]Ubuntu10下[/color]常用Java Web应用软件的安装,特别是[color=green]LNMJ Web(Linux+Nginx+Mysql+Java Tomcat)[/color]架构和[color=green]LAMJ Web[/color](Linux+Apache+Mysql+Java Tomcat)架构下的软件安装。为进一步配置和实...

Peter Wei 博观而约取,厚积而薄发 271

AMDGPU SVM VRAM Migration 实现详解

AMD正在基于DRM SVM框架重构SVM实现,该框架即将广泛应用。本文分析了AMD开发者提交的POC验证版本的技术方案。该架构分为三层:AMDGPU SVM映射层、DRM Pagemap通用框架层和AMDGPU迁移后端硬件驱动层。系统涉及三个地址空间转换:VRAM分配器空间、HPA/PFN空间和GPU PTE地址空间。关键数据结构包括设备级迁移基础设施amdgpu_pagemap、迁移临时BO包装器amdgpu_svm_bo等。该方案通过地址空间转换实现VRAM迁移功能,目前仍处于POC阶段,设计可能变更

图形/计算GPU的驱动与虚拟化技术分享园地 871

公开人脸识别数据集

1. 口罩遮挡人脸数据 由武汉大学多媒体研究中心发起,目前是全球最大的口罩遮挡人脸数据集。分为真实口罩人脸和模拟口罩人脸两部分,真实口罩人脸包括525人的5000张口罩人脸和9万张正常人脸。模拟口罩人脸包含1万个人共50万张模拟人脸数据集。 应用项目:人脸检测、人脸识别 URL:https://github.com/X-zhangyang/Real-World-Masked-Face-Dataset 2. Wider Face人脸数据 香港中文大学发起的,包含3万张图片共40万张人脸。 应用项.

YMilton的专栏 4万+

南方cass9.1【Frame主框架程序没有加载】解决方法(附安装包)

南方cass9.1【Frame主框架程序没有加载】解决方法。

weixin_46066938的博客 3万+

华为OD机试双机位C卷:流量波峰 (C/C++/Py/Java/Js/Go)

华为OD机试双机位C卷 流量波峰,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解。华为OD机试 - 流量波峰。

qq_45776114的博客 2447

电商服务架构——LAMP

文章目录LAMP简介制作rhel7.6母盘Nginx什么是nginxnginx的作用安装Nginx LAMP简介 LAMP是典型的电商架构,其是linux/nuix/windows+apache/nginx+mysql/pgsql+php/python/golang结构的简称。 (本篇各软件的安装将使用源码压缩包安装,旨在培养源码安装能力,虽然目前企业中安装软件使用的是rpm包,但是源码安装软件也是必备技能。) 制作rhel7.6母盘 目前redhat已经更新到8.3版本,但是由于各种原因,企业中应用的还是

qq_45764533的博客 1376

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

【技术综述】一文道尽“人脸数据集”

言有三毕业于中国科学院,计算机视觉方向从业者,有三工作室,有三AI学院等创始人作者 | 言有三编辑 | 言有三今天,给大家送上一份大礼没错,我就是喜欢写一些“一文道尽”这...

hacker_long的专栏 3137

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

LAMP架构 (资源)

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34260991的博客 745

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

LAMP架构(五)

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_33834628的博客 131

头歌 数据结构-串的表示与实现

本关任务是实现串的定长顺序存储结构。使用静态数组char arr[MaxLen]存储字符串,输入字符串后输出其内容、实际长度(通过strlen计算)和存储长度(sizeof(arr))。代码在Begin-End间补充,完成字符串读取与信息输出。测试用例为输入"aaaaa",预期输出为"aaaaa"、5、20。

一名敲代码的苦13程序员 175

《考研408数据结构》第八章(排序)复习笔记

真题100%选择必考多个算法的特点比较!!必须汇总!!实在记不住谁和【初始状态有关】时就举例子:1、当数组完全有序时;2、当数组完全逆序时;3、快速排序数组第1个枢轴是最小/最大值。

m0_73991249的博客 172
上一篇: YMU网络的数据库系统架构介绍
下一篇: Web Analytics工具domodomain的B/S交互实现机制分析
java_veteran
博客等级 码龄19年 2粉丝 17原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值