UMP(Unified MySQL Platform)是由阿里集团核心系统数据库团队设计与实现的,提供低成本和高性能的MySQL云数据服务。

UMP系统架构

先不用着急看图,后面介绍各个组件后再来看就比较清楚了。

(1)Mnesia:分布式数据库管理系统

Mnesia支持事务、提供透明的数据分片、利用两阶段锁来实现分布式事务、具有线性扩展性(可扩展到至少50个节点)。

Mnesia的数据库模式可在运行时动态重配置,表可被迁移或复制至多节点来实现高容错性。

(2)RabbitMQ:工业级的消息队列产品

RabbitMQ作为消息传输中间件来使用,能实现可靠的消息传送。

UMP集群中各节点的通信不需要建立专门的连接,而是通过读写消息队列来实现的。

(3)Zookeeper:协同工作系统

Zookeeper提供如统一命名、状态同步、集群管理和分布式应用配置项的管理等服务,用于构建分布式应用或减轻分布式应用程序所承担的协调任务。

在UMP系统中,Zookeeper主要用来:

作全局配置服务器;

选出集群总管(提供分布式锁);

监控所有MySQL实例。

(4)LVS:Linux虚拟服务器

它主要用于实现UMP系统中集群内部的负载均衡,主要采用两种技术:IP负载均衡技术和基于内容请求分发技术,这里暂时不对这两种技术作深入。

(5)Controller服务器:为UMP集群提供各种管理服务(成员管理、元数据存储、MySQL实例管理、故障恢复、备份、迁移、扩容等)

Cotroller服务器上运行了一组MNesia分布式数据库服务,其中存储了各种系统元数据(集群成员、用户的配置信息与状态信息、用户名到MySQL实例地址的映射关系【路由表】等)。

其他服务器组件需要获取用户数据时,可向Controller服务器发送请求。

UMP系统中部署了多台Controller服务器来避免单点故障、保证系统的高可用性。这时,Zookeeper将出马帮忙选出一个“总管”。

(6)Web控制器:向用户提供系统管理界面

(7)Proxy服务器:完全实现了MySQL服务,向用户提供访问MySQL数据库的服务

(8)Agent服务器:它部署在运行MySQL进程的机器上,用来管理每台物理机上的MySQL实例

(9)日志分析服务器:存储和分析Proxy服务器传入的用户访问日志,支持实时查询一段时间内的慢日志和统计报表

(10)信息统计服务器:定期将采集到的用户连接数、QPS(每秒查询次数)数值及MySQL实例的进程状态等信息进行统计展示在Web界面上,或将结果作为以后资源分配等的依据。

(11)愚公系统:用于做数据迁移,可在不停机的情况下动态扩容、缩容和迁移。

下面再来看这张图:

右上角的MySQL集群,负责具体的数据存储。

Controller服务器用来管理各个集群,并且为了避免单点故障,往往有多个。

但一般情况下,只会让一个生效、其他备用,这就是由ZooKeeper服务器来帮忙实现的。同时Zookeeper服务器还会进行整个集群配置文件的管理和监控MySQL集群的总体运行状态,一旦探测到故障,马上向Controller汇报。

Proxy服务器可以看到是用来连接用户和整个云数据库的,用户通过它来进行数据的查询访问。

整个集群通过LVS来实现负载均衡。用户能通过Web控制台查询各个组件运行的状态信息。各个组件之间传递消息是通过RabbitMQ来实现的。

有的部分在介绍组件时已经阐述,以上是对UMP系统架构一个全局的认识,可以帮助了解一个具体的云数据库是如何架构的。

mysql ump_UMP认识:(一)系统架构相关推荐

  1. MySQL Server系统架构

    逻辑模块组成 总的来说,MySQL可以看成是二层架构,第一层我们通常叫做SQLLayer,在MySQL数据库系统处理底层数据之前的所有工作都是在这一层完成的,包括权限判断,sql解析,执行计划优化,q ...

  2. MySQL 系统架构 说明

    说明:本文转自 简朝阳(MySQL ACE)的 <MySQL性能调优与架构设计> 一.逻辑模块组成 总的来说,MySQL 可以看成是二层架构,第一层我们通常叫做SQL Layer,在MyS ...

  3. mysql的相关技术说明_MySQL 系统架构 说明

    说明:本文转自 简朝阳(MySQL ACE)的 <MySQL性能调优与架构设计> 一.逻辑模块组成 总的来说,MySQL 可以看成是二层架构,第一层我们通常叫做SQL Layer,在MyS ...

  4. mysql 亿级高并发_亿级流量系统架构之如何设计每秒十万查询的高并发架构.md

    亿级流量系统架构之如何设计每秒十万查询的高并发架构 一.前情回顾 上篇文章(亿级流量系统架构之如何设计承载百亿流量的高性能架构)聊了一下系统架构中,百亿流量级别高并发写入场景下,如何承载这种高并发写入 ...

  5. mysql并发量_高并发秒杀系统架构解密,不是所有的秒杀都是秒杀!

    推荐阅读: 学会这些微服务+Tomcat+NGINX+MySQL+Redis,再去面试阿里P7岗吧 "火爆"的微服务架构你还不会?从基础到原理的PDF文档快来学! Nginx负载均 ...

  6. mysql系统,MySQL系统架构

    逻辑模块组成 MySQL分为两层架构,第一层SQL Layer,完成在MySQL数据库系统处理底层数据之前的所有工作,包括权限判断.Query解析.执行计划优化.query cache的处理等:第二层 ...

  7. JavaWeb项目+MVC三层架构+Mysql+Tomcat+汽车配件销售系统前后端+可以用于学习javaweb项目入门

    JavaWeb项目+MVC三层架构+Mysql+Tomcat+汽车配件销售系统前后端+可以用于学习javaweb项目入门 可以用于课程设计.毕业设计的知识点入门学习 提示:此资源仅用于javaweb网 ...

  8. mysql 魔术设置_09年系统架构师大会中一个mysql小魔术的分析

    记得在09年系统架构师大会上一个51.com的DBA秀了一个mysql的小"魔术",其大概过程是不更改数据库表中的数据,只是执行了一下flush table表中的数据就全部改变. ...

  9. mysql存储商品详情_商品详情页系统架构

    一般的电商演变: 商品详情页系统架构演进历程 第一个版本 架构设计 J2EE+Tomcat+MySQL 动态页面,每次请求都要调用多个依赖服务的接口,从数据库里查询数据,然后通过类似JSP的技术渲染到 ...

最新文章

  1. [Spring Cloud Task]6 Spring Batch批处理应用设计原则
  2. 简单实现vue验证码60秒倒计时功能
  3. 【设计】精致的侧滑菜单设计案例
  4. C#链接mysql 新手容易出错的问题
  5. php取消转译代码,PHP在我不需要的时候进行转义
  6. 使用NGINX Plus API动态配置upstream
  7. 特征工程系列之降维:用PCA压缩数据
  8. 《ArcGIS Runtime SDK for Android开发笔记》
  9. 银行使用计算机实现个人存款,电脑基础 第2章 真题整理1.doc
  10. 【马来西亚】娘惹的含义
  11. python学习笔记之读取pdf文件库pdfplumber(一)
  12. 电驴怎么显示服务器列表,(转)如何更新电驴服务器列表(eMule Server List)
  13. VMware win10 虚拟机通过NAT模式联网
  14. 苹果7全网通经常显示无服务器,iPhone 7处理器异响查出元凶?英特尔大喊冤枉
  15. Twin Builder—系统级多物理域数字孪生平台
  16. 详解PROFINET通讯协议
  17. 最新发布!全球“灯塔工厂”再添5位中国新成员!
  18. 【漏洞发现-1】操作系统之漏洞探针类型及利用
  19. 64位windows10安装Sql server 2000
  20. [2017BUAA软工]第0次个人作业

热门文章

  1. (图文) 使用XAMMP+DW 搞定PHP运行环境操作步骤(详细)
  2. 国外问卷调查该怎么做?
  3. Promise中的then第二个参数和catch的区别
  4. python基于web可视化_Python数据可视化:基于Bokeh的可视化绘图
  5. ftp 站点的创建实现文件的上传和下载 以及 ftp没有权限上传文件(错误:200 Type set to I)
  6. 合合信息受邀参与中国计算机学会计算机视觉专委会年度学术研讨会
  7. Android禁止自动同步网络时间
  8. SQL Server 卸载和安装
  9. html中行高是指字的高度嘛,CSS行高line-height的理解
  10. Double,double