SlideShare ist ein Scribd-Unternehmen logo
1 von 18
Docker与数据库的应用结合
罗成对
luochengdui@ucloud.cn
QQ: 376925324
agenda
• Background Introduction
• Scaling UDB Cluster
• Deployment
• Reflections on Docker
Background Introduction
• UCloud提供多样的云服务
• 业务曲线快速增长
UHost UDisk UDB UMem ULB UCDN
……
业务数据的存储
• 数据源及规模
– 对象:ucloud各云产品
– 类型:业务类、日志类、监控类(产品实例、平台级)、元数据…
– 特点:增长快、schema多样
– 规模:PB级,单库单表可达10T
• 面临的问题及对策
– 单点压力(热点库表)--scale-up和scale-out,high performance
– 单点故障 --HA
– 成本 -- 按需申请资源
– 运维 -- 易管理、易部署
• 高可用、高扩展性的云数据库UDB集群
– MySQL:业务类
– MongoDB:日志类、监控类、元数据
Scaling UDB Cluster
Master PrimarySlave
HA-manager
Secondary Arbiter
Replica Set
MySQL MongoDB
High Availability
Read/Write Splitting
Scaling UDB Cluster
UXX-sh1-p
UXX-sh1-s UXX-sh1-a
Replica Set
UXX-sh2-p
UXX-sh2-s UXX-sh2-a
Replica Set
UXX-sh-cnf1
UXX-sh-cnf2
UXX-sh-cnf3
mongos
shardsvr shardsvr
configsvrQuery
Scale-out Sharding
Scaling UDB Cluster
Application
Driver
Mongos Mongos
Access Layer
Mongos
Primary
Secondary
Arbiter
Shard1
Primary
Secondary
Arbiter
Shard2
Primary
Secondary
Arbiter
Shard3
Primary
Secondary
Arbiter
ShardN
……
Configsvr
Configsvr
Configsvr
Config
…… Query Router
DB Cluster Layer
……
High Scaling
Deployment
Infrastructure
Operating System
Docker Engine
Master(15G/500G)
Mongos(6G/20G)
Primary(50G/1T)
Infrastructure
Operating System
Docker Engine
Slave(15G/500G)
Secondary(50G/1T) Config(1.5G/20G)
Infrastructure
Operating System
Docker Engine
Config(1.5G/20G)
Arbiter(600M/20G)
SDN
Config(1.5G/20G)
Mongos(3G/20G)
Demand/Fast/Auto-Scheduling
Deployment
Master(15G/500G)
Infrastructure
Operating System
Docker Engine
Infrastructure
Operating System
Docker Engine
Config(1.5G/20G)
Arbiter(600M/20G)
SDN
Mongos(3G/20G)
On-line/Off-line
Upgrade/Degrade
Migration
Master(30G/1T)
Mongos(1.5G/20G)
Config(1.5G/20G)
Arbiter(600M/20G)
Master(30G/1T)
Mongos(1.5G/20G)
特性增强相关性
Feature Docker DB
High Performance √ √
Scale-up √ -
Scale-out - √
High Availability - √
Cost √ -
Deployment/Maintenance √ -
Deployment
• Image
– 来源干净可靠(推荐官网)
– 利用Dockerfile安装必要工具
– 合理的版本维护
• 操作系统
– 内核版本和docker适配
– cgroup挂载点
– 最大文件数,限制db的连接数等等
• 数据卷持久化数据
– 设置合理的读写权限
安全性
• 网络设置
– 自定义网桥,限制docker0
– 内网隔离
– 禁止暴露端口
– 配置DNS等
• 安全加强
– 启用SELinux/GRSEC
– 启用能力机制,注意某些超级权限
• Docker Daemon防护
– 禁止宿主机根目录映射
– 禁止滥用root权限
Docker的稳定性
• Service异常
– 现象:停服、自动重启,概率极低
– 后果:container存活状态存在不确定性
(1)killed(时间上不确定)无法umount挂载点无
法启动container
(2)hanging
– 措施:实时监控docker service
• 数据卷读写异常
– 现象:rw变ro,小概率事件
– 后果:映射目录无法写入
– 措施:重启container
Docker的稳定性
• Docker版本升级异常
– 现象:向下不兼容,概率不确定,版本相关
– 后果:已存images消失,后果很严重
– 措施:预防,保持存量机器不升级
• Docker cgroup异常
– 现象:资源使用超配额
– 后果:导致OOM
– 措施:实时监控资源使用率
监控与诊断
• 监控级别
– 实时监控宿主机存活、网络连通性
– 实时监控docker service
– 实时监控container存活
– 实时监控DB连通性
• Log --信息量有限
– 宿主机日志/var/log/messages
– Docker日志/var/log/docker
– DB系统日志
Reflections on Docker
• 实践效果
– 高性能,低损耗
– 按需申请,秒级安装
– 一键式集群部署
• 现状
– 内部有几千个docker容器提供数据服务和网络服务
– Docker化的UDB集群作为基础,完美地支撑公司云
平台,支持众多产品线
Reflections on Docker
• Docker on Iaas & Paas
Think You

Weitere ähnliche Inhalte

Was ist angesagt?

美团技术沙龙04 - Kv Tair best practise
美团技术沙龙04 - Kv Tair best practise 美团技术沙龙04 - Kv Tair best practise
美团技术沙龙04 - Kv Tair best practise 美团点评技术团队
 
华为软件定义存储架构分析
华为软件定义存储架构分析华为软件定义存储架构分析
华为软件定义存储架构分析Liang Ming
 
Ocean base海量结构化数据存储系统 hadoop in china
Ocean base海量结构化数据存储系统 hadoop in chinaOcean base海量结构化数据存储系统 hadoop in china
Ocean base海量结构化数据存储系统 hadoop in chinaknuthocean
 
张铁安:Feed系统架构浅析
张铁安:Feed系统架构浅析张铁安:Feed系统架构浅析
张铁安:Feed系统架构浅析Leechael
 
新浪微博Feed服务架构
新浪微博Feed服务架构新浪微博Feed服务架构
新浪微博Feed服务架构XiaoJun Hong
 
分布式存储的元数据设计
分布式存储的元数据设计分布式存储的元数据设计
分布式存储的元数据设计LI Daobing
 
Feed服务架构-新浪微博新员工培训议题
Feed服务架构-新浪微博新员工培训议题Feed服务架构-新浪微博新员工培训议题
Feed服务架构-新浪微博新员工培训议题XiaoJun Hong
 
Sina my sq概述及优化
Sina my sq概述及优化Sina my sq概述及优化
Sina my sq概述及优化pigso
 
The New Boundary for Unified Storage - Rongze Zhu
The New Boundary for Unified Storage - Rongze ZhuThe New Boundary for Unified Storage - Rongze Zhu
The New Boundary for Unified Storage - Rongze ZhuCeph Community
 
redis 适用场景与实现
redis 适用场景与实现redis 适用场景与实现
redis 适用场景与实现iammutex
 
美团点评技术沙龙14:美团四层负载均衡
美团点评技术沙龙14:美团四层负载均衡美团点评技术沙龙14:美团四层负载均衡
美团点评技术沙龙14:美团四层负载均衡美团点评技术团队
 
阿里自研数据库 Ocean base实践
阿里自研数据库 Ocean base实践阿里自研数据库 Ocean base实践
阿里自研数据库 Ocean base实践drewz lin
 
Exadata那点事
Exadata那点事Exadata那点事
Exadata那点事freezr
 
大规模数据库存储方案
大规模数据库存储方案大规模数据库存储方案
大规模数据库存储方案XiaoJun Hong
 
漫画背后的故事
漫画背后的故事漫画背后的故事
漫画背后的故事长洪 余
 
高可用可扩展数据库架构方案探讨
高可用可扩展数据库架构方案探讨高可用可扩展数据库架构方案探讨
高可用可扩展数据库架构方案探讨Sky Jian
 
美团技术沙龙04 美团下一代分布式存储系统
美团技术沙龙04   美团下一代分布式存储系统美团技术沙龙04   美团下一代分布式存储系统
美团技术沙龙04 美团下一代分布式存储系统美团点评技术团队
 
大型系统的缓存标准化之路—从主从多级重client到一体化
大型系统的缓存标准化之路—从主从多级重client到一体化大型系统的缓存标准化之路—从主从多级重client到一体化
大型系统的缓存标准化之路—从主从多级重client到一体化XiaoJun Hong
 
OTN软硬件结合数据库解决方案
OTN软硬件结合数据库解决方案OTN软硬件结合数据库解决方案
OTN软硬件结合数据库解决方案freezr
 
No sql带来了什么 孙立
No sql带来了什么   孙立No sql带来了什么   孙立
No sql带来了什么 孙立Shaoning Pan
 

Was ist angesagt? (20)

美团技术沙龙04 - Kv Tair best practise
美团技术沙龙04 - Kv Tair best practise 美团技术沙龙04 - Kv Tair best practise
美团技术沙龙04 - Kv Tair best practise
 
华为软件定义存储架构分析
华为软件定义存储架构分析华为软件定义存储架构分析
华为软件定义存储架构分析
 
Ocean base海量结构化数据存储系统 hadoop in china
Ocean base海量结构化数据存储系统 hadoop in chinaOcean base海量结构化数据存储系统 hadoop in china
Ocean base海量结构化数据存储系统 hadoop in china
 
张铁安:Feed系统架构浅析
张铁安:Feed系统架构浅析张铁安:Feed系统架构浅析
张铁安:Feed系统架构浅析
 
新浪微博Feed服务架构
新浪微博Feed服务架构新浪微博Feed服务架构
新浪微博Feed服务架构
 
分布式存储的元数据设计
分布式存储的元数据设计分布式存储的元数据设计
分布式存储的元数据设计
 
Feed服务架构-新浪微博新员工培训议题
Feed服务架构-新浪微博新员工培训议题Feed服务架构-新浪微博新员工培训议题
Feed服务架构-新浪微博新员工培训议题
 
Sina my sq概述及优化
Sina my sq概述及优化Sina my sq概述及优化
Sina my sq概述及优化
 
The New Boundary for Unified Storage - Rongze Zhu
The New Boundary for Unified Storage - Rongze ZhuThe New Boundary for Unified Storage - Rongze Zhu
The New Boundary for Unified Storage - Rongze Zhu
 
redis 适用场景与实现
redis 适用场景与实现redis 适用场景与实现
redis 适用场景与实现
 
美团点评技术沙龙14:美团四层负载均衡
美团点评技术沙龙14:美团四层负载均衡美团点评技术沙龙14:美团四层负载均衡
美团点评技术沙龙14:美团四层负载均衡
 
阿里自研数据库 Ocean base实践
阿里自研数据库 Ocean base实践阿里自研数据库 Ocean base实践
阿里自研数据库 Ocean base实践
 
Exadata那点事
Exadata那点事Exadata那点事
Exadata那点事
 
大规模数据库存储方案
大规模数据库存储方案大规模数据库存储方案
大规模数据库存储方案
 
漫画背后的故事
漫画背后的故事漫画背后的故事
漫画背后的故事
 
高可用可扩展数据库架构方案探讨
高可用可扩展数据库架构方案探讨高可用可扩展数据库架构方案探讨
高可用可扩展数据库架构方案探讨
 
美团技术沙龙04 美团下一代分布式存储系统
美团技术沙龙04   美团下一代分布式存储系统美团技术沙龙04   美团下一代分布式存储系统
美团技术沙龙04 美团下一代分布式存储系统
 
大型系统的缓存标准化之路—从主从多级重client到一体化
大型系统的缓存标准化之路—从主从多级重client到一体化大型系统的缓存标准化之路—从主从多级重client到一体化
大型系统的缓存标准化之路—从主从多级重client到一体化
 
OTN软硬件结合数据库解决方案
OTN软硬件结合数据库解决方案OTN软硬件结合数据库解决方案
OTN软硬件结合数据库解决方案
 
No sql带来了什么 孙立
No sql带来了什么   孙立No sql带来了什么   孙立
No sql带来了什么 孙立
 

Ähnlich wie 4 罗成对 docker与数据库的应用结合 罗成对-注解

20141128(刘胜)UTC2014分布式和云服务的思考与实践——支付清算行业分布式架构的探索
20141128(刘胜)UTC2014分布式和云服务的思考与实践——支付清算行业分布式架构的探索20141128(刘胜)UTC2014分布式和云服务的思考与实践——支付清算行业分布式架构的探索
20141128(刘胜)UTC2014分布式和云服务的思考与实践——支付清算行业分布式架构的探索liu sheng
 
Cloud computing for manufacturing
Cloud computing for manufacturingCloud computing for manufacturing
Cloud computing for manufacturingJeff Chu
 
Qcon2013 罗李 - hadoop在阿里
Qcon2013 罗李 - hadoop在阿里Qcon2013 罗李 - hadoop在阿里
Qcon2013 罗李 - hadoop在阿里li luo
 
何时浮云散尽(在北邮北邮纪阳老师移动互联网课程上的讲义)
何时浮云散尽(在北邮北邮纪阳老师移动互联网课程上的讲义)何时浮云散尽(在北邮北邮纪阳老师移动互联网课程上的讲义)
何时浮云散尽(在北邮北邮纪阳老师移动互联网课程上的讲义)Xu Wang
 
美团点评技术沙龙14美团云-Docker平台
美团点评技术沙龙14美团云-Docker平台美团点评技术沙龙14美团云-Docker平台
美团点评技术沙龙14美团云-Docker平台美团点评技术团队
 
罗李:构建一个跨机房的Hadoop集群
罗李:构建一个跨机房的Hadoop集群罗李:构建一个跨机房的Hadoop集群
罗李:构建一个跨机房的Hadoop集群hdhappy001
 
雲端環境的快取策略-Global Azure Bootcamp 2015 臺北場
雲端環境的快取策略-Global Azure Bootcamp 2015 臺北場雲端環境的快取策略-Global Azure Bootcamp 2015 臺北場
雲端環境的快取策略-Global Azure Bootcamp 2015 臺北場twMVC
 
Zh120226techparty velocity2011-review
Zh120226techparty velocity2011-reviewZh120226techparty velocity2011-review
Zh120226techparty velocity2011-reviewZoom Quiet
 
Hadoop development in China Mobile Research Institute
Hadoop development in China Mobile Research InstituteHadoop development in China Mobile Research Institute
Hadoop development in China Mobile Research InstituteXu Wang
 
Full stack-development with node js
Full stack-development with node jsFull stack-development with node js
Full stack-development with node jsXuefeng Zhang
 
从Docker到容器服务
从Docker到容器服务从Docker到容器服务
从Docker到容器服务Li Yi
 
01.ofm11g概览
01.ofm11g概览01.ofm11g概览
01.ofm11g概览Meng He
 
Top100summit东软 孙广宇-uni sdp基于html5构建的跨平台的统一智能设备解决方案
Top100summit东软 孙广宇-uni sdp基于html5构建的跨平台的统一智能设备解决方案 Top100summit东软 孙广宇-uni sdp基于html5构建的跨平台的统一智能设备解决方案
Top100summit东软 孙广宇-uni sdp基于html5构建的跨平台的统一智能设备解决方案 drewz lin
 
Big Data Technology - Cloud Computing
Big Data Technology - Cloud ComputingBig Data Technology - Cloud Computing
Big Data Technology - Cloud ComputingRen-Hao (PAN) Pan
 
浅谈电商网站数据访问层(DAL)与 ORM 之适用性
浅谈电商网站数据访问层(DAL)与 ORM 之适用性浅谈电商网站数据访问层(DAL)与 ORM 之适用性
浅谈电商网站数据访问层(DAL)与 ORM 之适用性Xuefeng Zhang
 
Oracle服务器及存储介绍
Oracle服务器及存储介绍Oracle服务器及存储介绍
Oracle服务器及存储介绍Ethan M. Liu
 
利用统一存储获得无与伦比的速度,简化系统,并节省更多
利用统一存储获得无与伦比的速度,简化系统,并节省更多利用统一存储获得无与伦比的速度,简化系统,并节省更多
利用统一存储获得无与伦比的速度,简化系统,并节省更多ITband
 
微博平台混合云实践 - Docker全架构
微博平台混合云实践 - Docker全架构微博平台混合云实践 - Docker全架构
微博平台混合云实践 - Docker全架构Chen Fei
 
深入浅出 V cloud director
深入浅出 V cloud director深入浅出 V cloud director
深入浅出 V cloud directorITband
 

Ähnlich wie 4 罗成对 docker与数据库的应用结合 罗成对-注解 (20)

20141128(刘胜)UTC2014分布式和云服务的思考与实践——支付清算行业分布式架构的探索
20141128(刘胜)UTC2014分布式和云服务的思考与实践——支付清算行业分布式架构的探索20141128(刘胜)UTC2014分布式和云服务的思考与实践——支付清算行业分布式架构的探索
20141128(刘胜)UTC2014分布式和云服务的思考与实践——支付清算行业分布式架构的探索
 
Cloud computing for manufacturing
Cloud computing for manufacturingCloud computing for manufacturing
Cloud computing for manufacturing
 
Qcon2013 罗李 - hadoop在阿里
Qcon2013 罗李 - hadoop在阿里Qcon2013 罗李 - hadoop在阿里
Qcon2013 罗李 - hadoop在阿里
 
何时浮云散尽(在北邮北邮纪阳老师移动互联网课程上的讲义)
何时浮云散尽(在北邮北邮纪阳老师移动互联网课程上的讲义)何时浮云散尽(在北邮北邮纪阳老师移动互联网课程上的讲义)
何时浮云散尽(在北邮北邮纪阳老师移动互联网课程上的讲义)
 
美团点评技术沙龙14美团云-Docker平台
美团点评技术沙龙14美团云-Docker平台美团点评技术沙龙14美团云-Docker平台
美团点评技术沙龙14美团云-Docker平台
 
罗李:构建一个跨机房的Hadoop集群
罗李:构建一个跨机房的Hadoop集群罗李:构建一个跨机房的Hadoop集群
罗李:构建一个跨机房的Hadoop集群
 
雲端環境的快取策略-Global Azure Bootcamp 2015 臺北場
雲端環境的快取策略-Global Azure Bootcamp 2015 臺北場雲端環境的快取策略-Global Azure Bootcamp 2015 臺北場
雲端環境的快取策略-Global Azure Bootcamp 2015 臺北場
 
Zh120226techparty velocity2011-review
Zh120226techparty velocity2011-reviewZh120226techparty velocity2011-review
Zh120226techparty velocity2011-review
 
Hadoop development in China Mobile Research Institute
Hadoop development in China Mobile Research InstituteHadoop development in China Mobile Research Institute
Hadoop development in China Mobile Research Institute
 
Full stack-development with node js
Full stack-development with node jsFull stack-development with node js
Full stack-development with node js
 
从Docker到容器服务
从Docker到容器服务从Docker到容器服务
从Docker到容器服务
 
01.ofm11g概览
01.ofm11g概览01.ofm11g概览
01.ofm11g概览
 
Top100summit东软 孙广宇-uni sdp基于html5构建的跨平台的统一智能设备解决方案
Top100summit东软 孙广宇-uni sdp基于html5构建的跨平台的统一智能设备解决方案 Top100summit东软 孙广宇-uni sdp基于html5构建的跨平台的统一智能设备解决方案
Top100summit东软 孙广宇-uni sdp基于html5构建的跨平台的统一智能设备解决方案
 
Databases on AWS
Databases on AWSDatabases on AWS
Databases on AWS
 
Big Data Technology - Cloud Computing
Big Data Technology - Cloud ComputingBig Data Technology - Cloud Computing
Big Data Technology - Cloud Computing
 
浅谈电商网站数据访问层(DAL)与 ORM 之适用性
浅谈电商网站数据访问层(DAL)与 ORM 之适用性浅谈电商网站数据访问层(DAL)与 ORM 之适用性
浅谈电商网站数据访问层(DAL)与 ORM 之适用性
 
Oracle服务器及存储介绍
Oracle服务器及存储介绍Oracle服务器及存储介绍
Oracle服务器及存储介绍
 
利用统一存储获得无与伦比的速度,简化系统,并节省更多
利用统一存储获得无与伦比的速度,简化系统,并节省更多利用统一存储获得无与伦比的速度,简化系统,并节省更多
利用统一存储获得无与伦比的速度,简化系统,并节省更多
 
微博平台混合云实践 - Docker全架构
微博平台混合云实践 - Docker全架构微博平台混合云实践 - Docker全架构
微博平台混合云实践 - Docker全架构
 
深入浅出 V cloud director
深入浅出 V cloud director深入浅出 V cloud director
深入浅出 V cloud director
 

4 罗成对 docker与数据库的应用结合 罗成对-注解

Hinweis der Redaktion

  1. 前面三位大牛作了非常精彩的演讲,内容都非常新颖。接下来,我讲一下docker与数据库的应用结合。 为什么docker和数据库应用会这么紧密呢? 1、数据库属于基础服务 2、docker的一系列优点,尤其适合云平台上大规模部署。 所以二者的结合是必然的。 本次的演讲更多地是一次经验之谈。
  2. 这是本次演讲的主要内容, 1、背景介绍 2、可扩展的udb集群,这样的集群是如何完美地解决背景里提出的问题 3、在docker环境下如何大规模部署集群 4、在实践中的一些心得体会
  3. 云服务包括计算、存储、网络等基础设施 如何支撑现在的云平台,以及未来的平台规模,成为存储的一大挑战
  4. 支持高可用和读写分离的特性
  5. 如果再大数据库规模,怎么办?这就需要db集群来支撑 从两个分片,到三个分片、一直到n个分片 前端路由可以从一个到n个 这就实现
  6. 如何去部署这样的db集群呢? 整个过程就体现了按需申请,快速部署,资源自由调度
  7. 什么叫特性的增强相关性呢? Udb集群有这些特性,那边docker和db本身对这些特性的贡献有多少呢? 有助于产品实现或者加强某方面特性的影响值,也就是正能量
  8. 安全性是docker不得不谈的 其实对于安全性大可不必谈虎色变,为什么呢? 因为 第一、docker的安全性是足够好的 第二、docker的安全性要看应用场景了,并不是很看重安全性 第三、安全性也是有办法加强的,避免某些不安全因素的
  9. 总体而言,docker是非常稳定的,但是docker毕竟是新鲜事物的,它有一个成熟的过程,这个是可以接受的。建议选择高版本 很有幸,我们在实践中,踩过一些坑,让我们也更加充实了
  10. 与内核版本匹配 内核热补丁
  11. 就更刚才讲到的,docker是新鲜事物,有一个成熟期。 一旦出现状况,我们要如何应对和预防呢?
  12. 众多友商已经重兵投入,有些是docker的重要贡献者 对于云服务商,docker已经帮忙解决了资源隔离和配额的工作,至于安全性,可以通过其他途径克服,对于开发者,不在关心基础设施,而在乎服务商,需要多少的计算和存储能力,即刻到位, 我们有不少客户,paas客户,他们也在逐渐接纳docker 是不是一定要限定在iaas或者paas呢?并不是的,还是那句话,看应用场景,对于数据库的场景,在paas层上实现并不是很合适