632UMP系统架构 2. RabbitMQ ° RabbitMQ是一个工业级的消息队列产品(功能类似于BM公司的消息队列产品 BM Websphere MQ),作为消息传输中间件来使用,可以实现可靠的消息传 UMP集群中各个节点之间的通信,不需要建立专门的连接,都是通过读写队列 消息来实现的 《大数据技术原理与应用(第2版 厦门大学计算机科学系 林子雨 ziyulin@xmu. edu
《大数据技术原理与应用(第2版)》 厦门大学计算机科学系 林子雨 ziyulin@xmu.edu.cn 6.3.2UMP系统架构 2. RabbitMQ •RabbitMQ是一个工业级的消息队列产品(功能类似于IBM公司的消息队列产品 IBM Websphere MQ),作为消息传输中间件来使用,可以实现可靠的消息传 送 •UMP集群中各个节点之间的通信,不需要建立专门的连接,都是通过读写队列 消息来实现的
632UMP系统架构 3. Zoo keeper zo0 keeper是高效和可靠的协同工作系统,提供分布式锁之类的基本服 务(比如统一命名服务、状态同步服务、集群管理、分布式应用配置项 的管理等),用于构建分布式应用,减轻分布式应用程序所承担的协调 任务 在UMP系统中,Z0 keeper主要发挥三个作用 个作为全局的配置服务器 提供分布式锁(选出一个集群的“总管”) 监控所有 MySQL实例 《大数据技术原理与应用(第2版 厦门大学计算机科学系 林子雨 ziyulin@xmu. edu
《大数据技术原理与应用(第2版)》 厦门大学计算机科学系 林子雨 ziyulin@xmu.edu.cn 6.3.2UMP系统架构 3. Zookeeper 在UMP系统中,Zookeeper主要发挥三个作用: •作为全局的配置服务器 •提供分布式锁(选出一个集群的“总管”) •监控所有MySQL实例 Zookeeper是高效和可靠的协同工作系统,提供分布式锁之类的基本服 务(比如统一命名服务、状态同步服务、集群管理、分布式应用配置项 的管理等),用于构建分布式应用,减轻分布式应用程序所承担的协调 任务
632UMP系统架构 4, LVS .LVS(LinuxⅥ rtual server)即 Linux虚拟服务器,是一个虚拟的服务器集群 系统 uUMP系统借助于LVS来实现集群内部的负载均衡 LVS集群采用|P负载均衡技术和基于内容请求分发技术 调度器是LVS集群系统的唯一入口点,调度器具有很好的吞吐率,将请 求均衡地转移到不同的服务器上执行,且调度器自动屏蔽掉服务器的故 障,从而将一组服务器构成一个高性能的、高可用的虚拟服务器 整个服务器集群的结构对客户是透明的,而且无需修改客户端和服务器 端的程序 《大数据技术原理与应用(第2版 厦门大学计算机科学系 林子雨 ziyulin@xmu. edu
《大数据技术原理与应用(第2版)》 厦门大学计算机科学系 林子雨 ziyulin@xmu.edu.cn 6.3.2UMP系统架构 4.LVS •LVS(Linux Virtual Server)即Linux虚拟服务器,是一个虚拟的服务器集群 系统 •UMP系统借助于LVS来实现集群内部的负载均衡 •LVS集群采用IP负载均衡技术和基于内容请求分发技术 •调度器是LVS集群系统的唯一入口点,调度器具有很好的吞吐率,将请 求均衡地转移到不同的服务器上执行,且调度器自动屏蔽掉服务器的故 障,从而将一组服务器构成一个高性能的、高可用的虚拟服务器 •整个服务器集群的结构对客户是透明的,而且无需修改客户端和服务器 端的程序
632UMP系统架构 5 Controller服务器 ontroller服务器向UMP集群提供各种管理服务,实现集群成员管 理、元数据存储、MySαL实例管理、故障恢复、备份、迁移、扩容 等功能 Controller服务器上运行了一组 Mnesia分布式数据库服务,其中存 储了各种系统元数据,主要包括集群成员、用户的配置和状态信息 ,以及用户名到后端 MySQL实例地址的映射关系(或称为“路由表 )等 当其它服务器组件需要获取用户数据时,可以向 Controller服务器 发送请求获取数据 为了避免单点故障,保证系统的高可用性,UMP系统中部署了多 台 Controller服务器,然后,由 Zookeeper的分布式锁功能来帮助选 出一个“总管”,负责各种系统任务的调度和监控 《大数据技术原理与应用(第2版 厦门大学计算机科学系 林子雨 ziyulin@xmu. edu
《大数据技术原理与应用(第2版)》 厦门大学计算机科学系 林子雨 ziyulin@xmu.edu.cn 6.3.2UMP系统架构 5. Controller服务器 •Controller服务器向UMP集群提供各种管理服务,实现集群成员管 理、元数据存储、MySQL实例管理、故障恢复、备份、迁移、扩容 等功能 •Controller服务器上运行了一组Mnesia分布式数据库服务,其中存 储了各种系统元数据,主要包括集群成员、用户的配置和状态信息 ,以及用户名到后端MySQL实例地址的映射关系(或称为“路由表 ”)等 •当其它服务器组件需要获取用户数据时,可以向Controller服务器 发送请求获取数据 •为了避免单点故障,保证系统的高可用性,UMP系统中部署了多 台Controller服务器,然后,由Zookeeper的分布式锁功能来帮助选 出一个“总管”,负责各种系统任务的调度和监控
●6.32UM系统架构 6Web控制台 Web控制台向用户提供系统管理界面 7. Proxy服务器 oy服务器向用户提供访问 My SQL数据库的服务,它完全实现了 MySQL协议,用户可以使用己有的 MySQL客户端连接到 Proxy服务器, Proy服务器通过用户名获取到用户的认证信息、资源配额的限制例如 QPS、|OPS( lo Per Second)、最大连接数等),以及后台 MySQL实例 的地址,然后,用户的SQL查询请求会被转发到相应的 MySQL实例上。 除了数据路由的基本功能外, Proxy服务器中还实现了很多重要的功能, 主要包括屏蔽 MySQL实例故障、读写分离、分库分表、资源隔离、记录 用户访问日志等 《大数据技术原理与应用(第2版 厦门大学计算机科学系 林子雨 ziyulin@xmu. edu
《大数据技术原理与应用(第2版)》 厦门大学计算机科学系 林子雨 ziyulin@xmu.edu.cn 6.3.2UMP系统架构 6. Web控制台 Web控制台向用户提供系统管理界面 7. Proxy服务器 Proxy服务器向用户提供访问MySQL数据库的服务,它完全实现了 MySQL协议,用户可以使用已有的MySQL客户端连接到Proxy服务器, Proxy服务器通过用户名获取到用户的认证信息、资源配额的限制(例如 QPS、IOPS(I/O Per Second)、最大连接数等),以及后台MySQL实例 的地址,然后,用户的SQL查询请求会被转发到相应的MySQL实例上。 除了数据路由的基本功能外,Proxy服务器中还实现了很多重要的功能, 主要包括屏蔽MySQL实例故障、读写分离、分库分表、资源隔离、记录 用户访问日志等