美文网首页
UMP认识:(二)系统功能

UMP认识:(二)系统功能

作者: 夕望有你 | 来源:发表于2016-12-29 13:50 被阅读73次

(1)容灾

容灾分为两个过程:将宕机主库切换为备用从库&将恢复的主库重新上线。

UMP系统一般会为每个用户至少创建两个MySQL实例(主库、从库),ZooKeeper会负责维护它们。

当主库出现故障,便需要进行主从切换,过程如下:

ZoKeeper探测到主库故障,通知Controller服务器;

Controller首先修改“路由表”(用户名到后端SQL实例地址的映射关系)、然后将主库标记不可用;

然后通过消息中间件RabbitMQ通知所有Proxy服务器来修改“路由表”。

这时从库已成功切换为现主库,原宕机的主库需要进行恢复处理。

当主库已恢复好,便需要重新上线,过程如下:

首先将从库的更新复制给自己;

当主库的状态即将达到与从库一致时,Controller服务器会禁止从库继续更新,使其进入不可写状态;

等主库更新到与从库完全一致时,Controller发起主从切换操作(与上一次切换一样),且在路由表中将主库标记为可用;

通知Proxy服务器把用户写操作切回主库,使其继续执行,然后将从库修改为可写状态。

(2)读写分离

为了实现负载均衡,可以充分利用主从库实现用户读写操作的分离:

负责向用户提供访问MySQL数据库服务的Proxy服务器可以对用户发起的SQL语句进行解析,如果属于写操作,就发送到主库,如果是读操作,就均衡地发送到主库和从库。

(3)分库分表

采用分库分表时,系统处理用户查询的过程如下:

首先,Proxy服务器解析用户发起的SQL语句,提取出必要的信息选择重写或分发;

其次,对SQL语句进行重写,得到多个针对相应MySQL实例的子语句,将子语句分发到对应的MySQL实例上执行;

最后,接收来自各个MySQL实例的SQL语句执行结果,合并并返回结果。

(4)资源管理

UMP系统采用资源池机制来管理数据库服务器上的CPU、内存、磁盘等计算资源,所有的计算资源都放在资源池内进行统一分配。

整个集群中的所有服务器会根据其机型、所在机房等因素被划分多个资源池,每台服务器会被加入到相应的资源池中;

对于每个具体MySQL实例,管理员会根据应用部署在哪些机房、需要哪些计算资源等因素,为该MySQL实例具体指定主库和从库所在的资源池,然后,系统的实例管理服务会本着负载均衡的原则,从资源池中选择负载较轻的服务器来创建MySQL实例。

(5)资源调度

UMP系统中有三种规格的用户,分别是数据量和流量比较小的用户、中等规模用户以及需要分库分表的用户。

•多个小规模用户可以共享同一个MySQL实例

•对于中等规模的用户,每个用户独占一个MySQL实例

•对于分库分表的用户,会占有多个独立的MySQL实例

(6)资源隔离

UMP有两种资源隔离方式:

一种是用Cgroup限制MySQL进程资源,它适用于多个MySQL实例共享一台物理机的情况;

一种是在Proxy服务器端限制QPS,它适用于多个用户共享同一个MySQL实例的情况。

相关文章

  • UMP认识:(二)系统功能

    (1)容灾 容灾分为两个过程:将宕机主库切换为备用从库&将恢复的主库重新上线。 UMP系统一般会为每个用户至少创建...

  • UMP认识:(一)系统架构

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

  • Unity连接大华海康摄像头

    1、功能简介 大华SDK文档中无Unity的文档,C#语言只有.Net文档。本功能实现使用的UMP插件播放大华摄像...

  • [Unity 3d]解决 UMP Can't load 'lib

    这是一篇碎碎念的 UMP Bug 修正笔记,希望能帮助有需要的朋友。UMP :Universal Miedia P...

  • 共享单车测试用例

    一、 系统模块——骑行 功能点--解锁 功能点--支付 二、系统模块——个人中心 三、系统模块——管理员 功能点-...

  • 《跃迁》——破局思考

    一、收获 1.重新认识系统。一个系统至少包含:元素、元素之间的关系,以及系统的功能。核心是系统的内在结构和功能。元...

  • 基于JavaGUI的大学生竞赛管理系统 课程论文+开发环境搭建文

    目录 一、需求分析 1.系统背景 2. 系统功能结构(需包含功能结构框图和模块说明) 3. 系统功能简介 二、 概...

  • 1.3如何学习逻辑学

    1.3.2如何学习逻辑学 思维系统、记忆系统、感性认识系统、语言系统、情感系统。不同的功能系统,彼此独立又有关系。...

  • T-06-Linux系统管理员

    1. 认识系统服务(daemon) 简单的说,系统为了某些功能必须要提供一些服务 (不论是系统本身还是网络方面),...

  • 通过Bash获取系统操作信息

    功能一、提取操作系统信息(内核、系统版本、网络地址) 功能二、分析系统的运行状态(CPU负载、内存及磁盘使用率等)...

网友评论

      本文标题:UMP认识:(二)系统功能

      本文链接:https://www.haomeiwen.com/subject/sjtpvttx.html