SlideShare a Scribd company logo
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

More Related Content

PDF
有道云笔记架构简介
PDF
美团点评技术沙龙14:美团云对象存储系统
PPTX
云梯的多Namenode和跨机房之路
PDF
美团点评技术沙龙010-点评RDS系统介绍
PDF
基于MySQL的分布式数据库实践
PDF
Ceph bluestore-tiering-2018-11-15
PDF
Stand out your presentation - 让演讲PPT脱颖而出
PPTX
浅析分布式存储架构—设计自己的存储- 58同城徐振华
有道云笔记架构简介
美团点评技术沙龙14:美团云对象存储系统
云梯的多Namenode和跨机房之路
美团点评技术沙龙010-点评RDS系统介绍
基于MySQL的分布式数据库实践
Ceph bluestore-tiering-2018-11-15
Stand out your presentation - 让演讲PPT脱颖而出
浅析分布式存储架构—设计自己的存储- 58同城徐振华

What's hot (20)

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

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

Editor's Notes

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