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

YMU技术架构

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

<o:p> </o:p>

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


<o:p></o:p>

YMU数据库系统设计原则

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

性价比

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

伸缩性

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

<o:p> </o:p>

一般来说,目前存在两种伸缩方式:Scale-up及Scale-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数据库的压力。
YMU837介绍资料.pdf yamaha YMU 837 介绍资料 立即下载

相关推荐

常用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格式的附件统一下载,方便大家查看。下载后觉得不错的,不要吝啬你的掌声。

YMU基本介绍

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

1743

LAMJ-JSP环境搭建

JSP LINUX LAMJ MYSQL

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

YMU(YouMonitor.Us)网络是遍布全球的网站监测网络,它面临的是海量数据及高并发访问的环境,我们采用LAMJ(类LAMP)架构来进行YMU的开发。LAMP指Linux, Apache, MySQL, Php/Perl的缩写,是目前很多web应用的基础架构。而我们使用JAVA来代替其中的Php/Perl,并增加Tomcat用作动态内容。本篇介绍一下YMU网络的数据库系统架构,其结构图

java_veteran的专栏 1117

YOLOv8工业级增强实战:小目标检测与HDR鲁棒性优化

YOLO(You Only Look Once)作为主流实时目标检测框架,其核心价值在于模块化架构与工程可扩展性。理解YOLOv8的Anchor-Free设计、C2f特征融合机制及Detect头部解耦原理,是实现性能突破的基础。在工业落地中,真实瓶颈往往不是模型版本迭代,而是小目标漏检、高动态范围(HDR)场景适应差、密集遮挡ID断裂等具体问题。通过配置层动态多尺度训练、物理感知数据增强、Neck跨尺度注意力注入、质量感知损失函数升级等七层增强策略,可在不更换主干的前提下显著提升mAP与边缘设备推理效率。本

weixin_32667439的博客 260

李宏毅机器学习hw3

Homework 3 - Convolutional Neural Network 1作业概述 在food_11文件中有三个文件分别是training、validation、testing,打开training和validation可以看见总共有11种食物(0-10的类别编号),而testing是没有类别编号的。 然后用卷积神经网络对食物图片进行分类。 2导入用到的库 torch库 这个我弄了半天,直接pip总是timeout,用镜像源下下来又出现OSError: [WinError..

老问题的博客 4189

[Linux] LAMP架构

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

热心网友 1182

从Arduino IDE到Atmel Studio:ATmega328P开发的进阶之路

本文探讨了从Arduino IDE转向Atmel Studio进行ATmega328P开发的进阶路径。通过对比两者差异,详细介绍了Atmel Studio的环境配置、寄存器操作思维、烧录方法及高级调试功能,帮助开发者突破Arduino的封装限制,实现对单片机底层硬件的精细控制与性能优化,提升嵌入式开发的专业能力。

weixin_29193259的博客 127

电商平台 lnmp 架构之 nginx+tomcat

电商平台 lnmp 架构之 nginx 优化

weixin_54720351的博客 334

语音增强评价指标全解析:从MOS到eSTOI的实战指南

本文全面解析了语音增强领域的核心评价指标,包括主观评价的黄金标准MOS,以及PESQ、STOI、eSTOI等关键客观指标。文章详细阐述了各指标的原理、适用场景与实战计算方法,并提供了Python代码示例,旨在帮助开发者和研究者建立科学的评估体系,以平衡语音可懂度与音质,从而优化算法效果。

yhn456789的博客 1201

Matlab App Designer自学笔记(六):坐标轴控件axis函数绘图方法

作用: 绘制函数显示 显示图像(jpg png tiff) 颜色选项: r(红色) g(绿色) b(蓝色) w(白色) k(黑色) 其他 一、坐标区控件及设置 可以对坐标去进行设计: 二、功能实现及编程 功能:点击“绘图按钮”,能显示曲线。 实现:对按钮设置回调函数 若要多个图像显示在一个坐标系中,需要语句:hold(app.UIAxes,"on"); app.UIAxes是这个坐标轴的名字。 function ButtonP...

陶小桃Blog 3万+

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

ansys license许可证问题:Ansys License Manager Release 2024 R1...如何解决?

🏆本文收录于 《全栈 Bug 调优(实战版)》 专栏。专栏聚焦真实项目中的各类疑难 Bug,从成因剖析 → 排查路径 → 解决方案 → 预防优化全链路拆解,形成一套可复用、可沉淀的实战知识体系。无论你是初入职场的开发者,还是负责复杂项目的资深工程师,都可以在这里构建一套属于自己的「问题诊断与性能调优」方法论,助你稳步进阶、放大技术价值 。

**My Coding Family** 5371

电商服务架构——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

【华为OD机试真题】7、字符串筛选排序 | 机试真题+思路参考+代码解析(C++、Java、Py)

题目描述 >输入一个由N个大小写字母组成的字符串 按照ASCII码值从小到大进行排序 查找字符串中第K个最小ASCII码值的字母(k>=1) 输出该字母所在字符串中的位置索引(字符串的第一个位置索引为0) k如果大于字符串长度则输出最大ASCII码值的字母所在字符串的位置索引 如果有重复字母则输出字母的最小位置索引

KJ.JK 2267

PCIe(二) —— 配置空间

好了,这一篇我们把配置空间的结构,分配和访问,都大概总结了一遍,并且还介绍了它们的头部字段和这些字段的意义,包括BAR和消息路由的原理。之后,如果有时间,我们会继续来探索PCIe的数据报文的结构和传输等等。

叫好与叫座虽然不是对立面,但想在同一个作品中达到双重效果很难。 1768

mysql56安装教程Linux,Ubuntu 10.10下MySQL 5.1.56安装

Ubuntu 10.10下MySQL 5.1.56安装经过前期一系列的Ubuntu 10.10下开发软件的安装,现在把最后的数据库MySQL 5.1.56安装好了。基本上搭建基于Java Web应用的LNMJ or LAMJ架构的环境已经搭建完毕。接下来打算写一下L(linux)N(nginx)M(mysql)J(java web tomcat)架构的负载均衡与集中式Memcached集群的文章。...

weixin_42522148的博客 225

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

LAMP架构 (资源)

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

weixin_34260991的博客 745

Statistics and Machine Learning Toolbox

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

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

架构服务器(一)

在线版本的编辑: --->工具类 去链接数据库 执行数据库的操作————》检查数据库的数据 从数据库里拿东西 把拿出的数据存入:这个类里面总 的流程图: Mvc的设计模式:游戏的模式 代码分成三部分: MVC的具体含义是:model+view+control,即模型+视图+控制它们各自处理自己的任务:(1)模型:模型持有所有的数据、状态和程序逻辑。模型独立于视...

weixin_33714884的博客 138

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

LAMP架构一(介绍)

一、LAMP架构介绍    现如今打开浏览器,搜索LAMP关键词,出现大量的关于LAMP的介绍,包括LAMP的一键脚本、LAMP的yum安装、LAMP的编译安装,但是对于一个非开发或非专业人员有可能根据网络参考资源实现LAMP的搭建并成功运行各种服务,也有部分人员完全照搬某些博客知识进行搭建,最后以失败告终,因此抱怨互联网资源不够成熟,其实根本原因并非如此,主要原因如下: 初学者对LA...

Jian Sun_的博客 2万+

LAMP架构(五)

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

weixin_33834628的博客 131

AutoCAD .NET二次开发:DatabaseServices与事务机制详解

在AutoCAD .NET二次开发中,图形数据的读写是构建工程工具的基础。很多开发者从ObjectARX转向托管API时,常被DatabaseServices、ObjectId、事务机制搞得一头雾水。实际上,图纸文件对应内存中的Database,所有实体与符号表(如图层、块表)都需要通过事务(Transaction)才能安全访问。理解ObjectId与DBObject的区别、区分ForRead与ForWrite打开模式,是避免运行期出现eLockViolation异常的关键。本文结合完整示例,演示了如何创建

weixin_34292402的博客 256
上一篇: YMU技术架构及数据库系统设计原则
下一篇: 如何在Apache中方便地切换http和https?
java_veteran
博客等级 码龄19年 2粉丝 17原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值