2019年软件研究院新员工天宫平台-PAAS组件DRDSOSS介绍培训课件.pdf
下载文档
上传人:地**
编号:1268116
2024-12-16
29页
1.74MB
该文档所属资源包:
大数据互联网软件研究院新员工规章制度信息安全5G基础知识培训课件资料
1、 CHINAUNICOM CHINAUNICOM天宫平台-PAAS组件DRDS OSS介绍2019新员工天宫分布式PaaS平台培训课程内容大纲2第一部分天宫有什么第二部分天宫是什么第三部分天宫组件介绍3背景基于传统架构开发的系统在生产过程中遇到了应用无法平滑扩展,性能存在天花板瓶颈等问题,而一些性能要求更高的互联网系统,却能够游刃有余的进行业务支撑。以电商阿里巴巴为例,业务量不断增长,倒逼技术的进步与发展,技术架构一次次改革,从简单的“平台+应用”思想,逐步演进为“互联网云化架构”思想,以每年淘宝交易量的增长,充足证明了互联网云化架构的支撑能力。为了解决联通生产系统中遇到的性能瓶颈问题,将联通2、业务与互联网架构结合,从而对联通集团的信息化建设进行更好的支撑。内容大纲6第一部分天宫有什么第二部分天宫是什么第三部分天宫组件介绍5PaaS架构在提供高频联机交易和数据处理的能力基础上,进行技术能力 和平台自身管控能力的提升,提高自主研发率IaaS资源池计算设备PaaS存储设备网络设备安全设备物理机虚拟机I-PaaSDocker容器一体化运营平台服务治理平台监控天梯平台资源提供资源类型建维门户SaaS订单类计费类基础类其他类天宫数据治理资源管理告警通知统计分析数据归集分布式缓存分布式数据服务分布式服务框架分布式搜索引擎数据恢复数据传输评估系统反馈系统分布式文件系统消息中间件报表工具平台监控截图3、6消息积压调用链数据库应用运行实时监控 天宫配套提供了定制化的业务实时监控平台,支撑基于应用、业务等自定义维度迅速便捷的为应用构建具备秒级响应的业务监控能力。71天宫自带工具,可自行实现天宫内管控主机运行信息的自动采集。2通过可视化配置即可实现storm流统计,无需开发。3通过可视化配置即可实现报表展示,无需开发。4实现对业务应用的实时监控,推动应用优化优势定制研发适用天宫的一体化运营平台8数据治理服务治理资源管理通过自研实现平台的服务治理、数据治理,推动应用迭代优化通过研发资源管理实现资源从申请、分配到后评估的全程管理通过监控实现横向到边、纵向到底的无死角监控统一监控内容大纲第一部分天宫有什4、么第二部分天宫是什么第三部分天宫组件介绍9DRDS概念与背景介绍10 单机数据库容量瓶颈:随着数据量和访问量的增长,单机数据库会遇到很大的挑战,依赖硬件升级并不能完全解决问题。单机数据库扩展困难:传统数据库容量扩展往往意味着服务中断,很难做到业务无感知或者少感知。传统数据库使用成本高:当业务数据和访问量增加到一定量时,传统数据库需要依赖特定的高端存储和小型机设备,成本曲线快速上升。概念:分布式关系型数据库服务(Distributed Relational Database Service,简称 DRDS)专注于解决单机关系型数据库扩展性问题,具备轻量(无状态)、灵活、稳定、高效等特性,是高度兼5、容 MySQL 协议和语法的分布式关系型数据库服务中间件。培训目标:能够理解drds的各个概念并掌握其使用、运维的能力DRDS基本概念(1)序号序号概念概念说明说明1drds高度兼容(非全部)MySQL 协议和语法的分布式关系型数据库服务中间件2rds相当于优化版的mysql,主要用于存储数据(主备模式)3DRDS ServerDRDS Server 是 DRDS 核心组件,提供 SQL 的解析、优化、路由和结果归并4DRDS 实例DRDS 实例是由一组 DRDS Server 节点组成的分布式数据库服务集群。各服务节点无状态,同时处理 SQL 请求。5分库分表支持 RDS/MySQL 的分库6、分表,在创建分布式数据库后,只需选择拆分键,DRDS 就可以按照拆分键生成拆分规则,实现数据水平拆分6全表扫描数据库拆分模式下,如果 SQL 语句中没有指定拆分键,DRDS 将在所有分表上执行 SQL 并将结果返回,这个过程称为全表扫描。为避免影响性能,用户应尽量避免全表扫描。7小表广播DRDS 将一些数据量小且更新频度不高的数据表存储为单表模式,这些数据表称为小表。通过数据同步将小表复制到与之关联查询的分库上,进而提升关联查询效率8数据存储平滑扩容当出现数据存储容量时,DRDS 支持在线存储容量扩展,扩容无需应用改造,扩容进度支持可视化跟踪,针对rds的扩容9服务升降配当出现访问量瓶颈时,D7、RDS 实例可以通过改变资源数量实现服务能力的弹性扩展,针对12应用PaaS应用、web应用、生产应用及其他应用负载均衡软负载均衡、硬负载均衡及自定义负载均衡Drds Server服务、服务集群数据数据库IaaS服务器、服务器集群、主机、主机集群、虚拟机集群drdsserverdrdsserverconfigserverdiamond主从主从BAKBAKDB1DB2mysqlmysqlAdhaServer服务器服务器主机主机路由器交换机统一服务接口长连接mysqlAdha agent长连接1、进程存在2、sql语句执行3、数据同步时延(返回服务端判断)长连接数据库服务器DRDS部署架构分库分表8、规则(1)13 默认一个rds创建8个分库,此规则不可更改。创建drds数据库,选择两个rds存储数据,一共能创建16个分库。分库分表规则(2)14拆分键即分库/分表字段,因此分为分库键和分表键。分库键:DRDS 根据分库键的值将数据水平拆分到后端的每一个 RDS 分库里。键值相同的数据,一定会位于同一个 RDS 数据库里。分表键:每一张逻辑表都可以定义自己的分表键,键值相同的数据,一定会位于同一个 RDS 数据表里。SQL路由15 在分库分表模式下,DRDS 会根据拆分键(即拆分字段)以及 SQL 语义把 SQL 语句分发到底层的各个存储的分表进行执行。执行结束后,DRDS 会将各个分表上获9、取的数据合并,返回给用户。当用户发起执行 SQL 语句的请求时,DRDS 会理解 SQL 语句的含义,然后按照拆分键的值和执行策略将SQL 路由到对应分区进行执行16建表语句介绍单库单表单库单表只分库不分表只分库不分表使用哈希函数分库分表使用哈希函数分库分表使用日期函数分库分表使用日期函数分库分表广播表广播表CREATE TABLE single_tbl(id int,name varchar(30),primary key(id);CREATE TABLE multi_db_single_tbl(id int,name varchar(30),primary key(id)dbpartiti10、on by dbpartition by hash(id)hash(id);CREATE TABLE multi_db_multi_tbl(id int auto_increment,bid int,name varchar(30),primary key(id)dbpartition by hash(id)dbpartition by hash(id)tbpartition by hash(bid)tbpartition by hash(bid)tbpartitions 3;tbpartitions 3;CREATE TABLE user_log(userId int,name varcha11、r(30),operation varchar(30),actionDate DATE)dbpartition by hash(userId)dbpartition by hash(userId)tbpartition by tbpartition by WEEK(actionDate)WEEK(actionDate)tbpartitions 7;tbpartitions 7;CREATE TABLE brd_tbl(id int,name varchar(30),primary key(id)ENGINE=InnoDB DEFAULT CHARSET=utf8 BROADCAST;BROAD12、CAST;本节主要对常用的分库分表的创建语句进行讲解说明,主要包括单库单表(不拆分)、只分库不分表、既分库又分表、广播表17自定义注释(DRDS Hint)指定分库执行指定分库执行sqlsql查看某个广播表每个分库中的数据量查看某个广播表每个分库中的数据量/!TDDL:NODE=node_name*/!TDDL:NODE=node_name*/SELECT*from table;/!TDDL:SCAN*/!TDDL:SCAN*/SELECT COUNT(1)FROM table_name HINT 作为一种 SQL 补充语法,在关系型数据库中扮演着非常重要的角色。它允许用户通过相关的语法影响 13、SQL 的执行方式,从对 SQL 进行特殊的优化。同样,DRDS 也提供了特殊的 HINT 语法。18DRDS基础运维指令说明举例Show node查看drds的分库信息show topology from table 查看拓扑show processlist;kill id查看当前长链接show PROCESSLIST where COMMAND=Query and TIME 1;show slow查看慢sqlshow slow limit 1,3;EXPLAIN SQL 查看 DRDS 层 SQL 语句的概要执行计划,包括执行的分库、物理语句和整体参数EXPLAIN SELECT*from14、 multi_db_single_tbl where id=1;show broadcasts查看数据库中的所有广播表OSS介绍19 对象存储服务(Object Storage Service,简称 OSS),为您提供基于网络的数据存取服务。使用OSS,您可以通过网络随时存储和调用包括文本、图片、音频和视频等在内的各种结构化或非结构化数据文件。面向海量数据规模的分布式存储服务,可以存储的文件个数无限,能够提供海量的存储能力。非常适合用来存储大量大小不一致,结构化或非结构化数据,单个数据的大小从1字节到48.8T。OSS 提供的是一个 Key-Value 形式的对象存储服务。用户可以根据 Obj15、ect 的名称(Key)唯一的获取该Object的内容。培训目标:能够理解oss的各个概念、掌握基本使用、掌握基本开发能力 优势:稳定、可靠、安全、低成本OSS基本概念概念概念说明说明Region(地域)Region 表示 OSS 的数据中心所在的地域,物理位置。Endpoint(访问域名)Endpoint 表示 OSS 对外服务的访问域名。OSS 以 HTTP RESTful API 的形式对外提供服务,当访问不同的 Region 的时候,需要不同的域名。AccessKey(访问密钥)AccessKey,简称 AK,指的是访问身份验证中用到的 AccessKeyId 和AccessKeySe16、cret。Service(虚拟存储空间)一个service跟一个用户相对应。存储空间(Bucket)存储空间是您用于存储对象(Object)的容器,所有的对象都必须隶属于某个存储空间。对象/文件(Object)对象是 OSS 存储数据的基本单元,也被称为 OSS 的文件。对象由元信息(Object Meta),文件名(Key)和用户数据(Data)组成。强一致性Object 操作在 OSS 上具有原子性,操作要么成功要么失败,不会存在有中间状态的Object。OSS 保证用户一旦上传完成之后读到的 Object 是完整的,OSS 不会返回给用户一个部分上传成功的 Object。OSS与文件系统17、的对比序号序号对比项对比项OSSOSS文件系统文件系统1数据存储类型Key-Value 对形式典型的树状索引结构2数据获取根据 Object 的名(Key)唯一的获取该Object的内容test1/test.jpg与a.jpg 对OSS来说仅仅只是一个字符串,因此不同名称的 Object 之间的访问消耗的资源是类似的。一个名为 test1/test.jpg 的文件,访问过程需要先访问到test1 这个目录,然后再在该目录下查找名为 test.jpg 的文件。3并发访问支持海量的用户并发访问受限于单个设备的性能。访问越深的目录消耗的资源也越大,操作拥有很多文件的目录也会非常慢。4文件修改OSS 18、保存的 Object 不支持修改,哪怕是仅仅需要修改一个字节也需要重新上传整个 Object支持文件的修改,比如修改指定偏移位置的内容、截断文件尾部等。也支持文件夹的操作,比如重命名目录、删除目录、移动目录等非常容易。KVstore介绍22 KVstore是兼容开源 Redis 协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。KVstore支持字符串(String)、链表(List)、集合(Set)、有序集合(SortedSet)、哈希表(Hash)等多种数据类型。通过“内存+硬盘”的存储方式,KVstore在19、提供高速数据读写能力的同时满足数据持久化需求。培训目标:能够理解KVstore的各个概念、掌握基本使用、掌握基本开发能力KVstore与开源redis对比序号序号对比项对比项KVstoreKVstore开源开源redisredis1安装即开即用自行部署2高可用短连接优化、IO优化,秒级切换不稳定,哨兵模式代码不好扩展3备份恢复采用aof binlog的方式,断点续传、流式备份(采用增量日志格式进行复制传输)采用aof+rdb的方式,全量同步、全量备份4在线扩容无缝扩容,界面化操作扩容不便5监控完善的可视化统计监控,方便运维开源项目,运维复杂6性能KVstore性能优于redis,KVstore20、单节点读写qps可达到十几万。7热升级proxy与redis都可实现热升级重启升级8权限控制白名单、ssl加密密码访问、安全隔离差9内核对源码 Redis 进行深度内核优化,有效防止内存溢出,修复安全漏洞,为您保驾护航。10存储内存+硬盘,实现冷热数据分离数据都存放在内存中,需要配置持久化功能24分布式消息MQ-简介MQ是分布式消息中间件,基于高可用分布式集群技术,搭建的包括发布/订阅、轨迹查询、定时(延时)消息、监控报警等功能的一套完整的消息云服务。功能特点1、无单点、无瓶颈、可自由扩展2、为分布式应用系统提供异步解耦、削峰填谷能力3、具有海量消息堆积,高吞吐,可靠重试等互联网应用所需特性421、支持事物消息,保证最终一致性5、可通过web控制台管理主题、生产者、消费者,通过topic、key、messageId查询消息,查看消息轨迹25分布式消息MQ-名词介绍英文名词中文名词释义Message消息消息队列中信息传递的载体Message ID消息的全局唯一标识由 MQ 系统自动生成,唯一标识某条消息Message Key消息的业务标识由消息生产者(Producer)设置,唯一标识某个业务逻辑topic消息主题一级消息类型,通过 Topic 对消息进行分类tag消息标签二级消息类型,用来进一步区分某个 Topic 下的消息分类Producer消息生产者也称为消息发布者,负责生产并发送消22、息Producer ID一类 Producer 的标识这类 Producer 通常生产并发送一类消息,且发送逻辑一致Consumer消息消费者也称为消息订阅者,负责接收并消费消息Consumer ID一类 Consumer 的标识这类 Consumer 通常接收并消费一类消息,且消费逻辑一致CLUSTERING集群消费一个 Consumer ID 所标识的所有 Consumer 平均分摊消费消息。例如某个 Topic 有 9 条消息,一个 Consumer ID 有 3 个 Consumer 实例,那么在集群消费模式下每个实例平均分摊,只消费其中的 3 条消息BROADCASTING广播消费一23、个 Consumer ID 所标识的所有 Consumer 都会各自消费某条消息一次。例如某个 Topic 有 9 条消息,一个 Consumer ID 有 3 个 Consumer 实例,那么在广播消费模式下每个实例都会各自消费 9 条消息26分布式消息MQ-消息类型普通消息分区顺序消息全局顺序消息即时消息延时消息定时消息1、无序消息,性能高2、支持集群消费、广播消费3、支持三种发送方式1、分区内消息有序,性能较高2、只支持集群消费3、只支持同步发送消息方式1、全局消息有序,性能低2、只支持集群消费3、只支持同步发送消息方式消息分类普通消息再分类消息立即发送,消费端立即可接收到进行消费事务消24、息消息按照设置的时延,定时发送消息按照设置的时间点,定时发送消息发送与本地事务同时执行,本地事务成功时,消费端才能接收到消息进行消费123123427分布式消息MQ-消息发送方式可靠同步发送可靠异步发送单向发送12328发送消息同时指定本地事务分布式消息MQ-事务消息消息事务:在分布式环境下,消息能够与本地事务一起提交或一起回滚,保证业务的最终一致性;事务过程:生产者发送消息后,消息服务会一直等待本地事务的实行结果,根据拿到的返回信息,对消息进行投递或回滚处理producer分布式消息服务1发送消息本地事务Consumer执行业务逻辑本地事务结果投递消息监听check回滚消息根据结果2本地执行4回馈结果应用自行处理 CHINAUNICOM CHINAUNICOM谢谢