同程Docker 大规模应用之路.pdf

  1. 1、本文档共39页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
同程Docker 大规模应用之路.pdf

同程Docker大规模应用之路 吴中骅 • 自我介绍 演讲目录 • 为什么是Docker • 同程中的Docker • Docker之坑 • QA 自我介绍 吴中骅 同程旅游 系统架构规划部资深架构师 Node.js和Go发烧友 《Node.js实战》两季作者 喜爱摄影,旅游 为什么是Docker • Linux物理机起步较晚,运维团队人手不够 • 爆发式增长,多语言应用导致物理机环境混乱 • 各个业务应用系统抢占资源 • 物理机利用率不平均,资源利用不充分 • 无法快速扩容 当时的运维 希望解决的问题 • 物理机利用率的提升,合理的编排应用,让各物理机资源使用更 平均,减少买服务器的花费 • 各应用间资源隔离,避免环境和资源的冲突,提升安全性 • 爆发式流量进入,快速扩容和迁移 • 应用迁移—— 减少买服务器的花费 • 解放运维工作,更多的自动化,更精细化的监控和报警 Docker是一个好选择 物理机利用率 • Docker相比虚拟机技术(KVM)更高效 • 一台物理机可以跑几十甚至上百个Container (你跑上百个虚拟机 试试?) • LXC (与宿主机使用相同内核,不需要指令模拟) • Libcontainer (Docker 1.10) • 实测物理机和Container之间的性能几乎没有损耗 实测Redis性能对比 测试命令:redis-benchmark -h 127.0.0.1 -p 6379 -q -d 100 物理机实测 Docker测试 应用资源隔离 • Cgroups是control groups的缩写,限制、记录、隔离进程组(process groups)所使用的物理资源 • 细粒度的分配一个Container的Cpu,内存使用量 • 使各应用环境独立,友好的共存:JAVA,PHP,GO,NODE.JS,PYTHON … • Aufs(Devicemapper, overlayfs) 提高文件系统的利用率 再也不用担心抢占资源了 扩容和迁移 • 启动一个Container需要几秒钟 • 通过制作好的Image,可以做到快速扩容部署 • Docker - Build, Ship, and Run Any App, Anywhere 运维和监控 • Swarm (业务系统) • Kubernetes (内部测试) • Mesos Marathon (大数据分析系统) • Zabbix + pythonAgent 刀客系统 同程目前Docker使用情况 • 原物理机1000台,应用200个 • Docker宿主机800 台,Docker容器5000 个,高峰扩容容器8000 个 • 容器应用包含:web应用,数据库,SOA微服务,消息队列… • 容器语言包含:JAVA, PHP, GO, NODE.JS, PYTHON, LUA … • cpu利用率由20% 提升为80% • 运维团队9人 • Docker应用600个 Docker化之后没买过服务器!!! 同程Docker集群架构 除了业务应用,我们还把他们塞入了容器 • Mongodb • Redis RedisProxy • OpenResty (Nginx+Lua) • Mysql DBRouter (Mysql SQLServer sharding router) • NSQ • DSF (Distributed Service Framework) Mongodb和Docker • Mongodb 自带分布式集群模式,节点自带副本集高保障 • 收集Mongodb 日志,分析

文档评论(0)

cai + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档