淘宝核心系统资深专家 余锋http://yufeng.info @淘宝褚霸 2012-12-23(v0.1) MySQL云平台和Erlang实现 淘宝核心系统资深专家 余锋http://yufeng.info @淘宝褚霸 2012-12-23(v0.1)

Slides:



Advertisements
Similar presentations
分享人:張益源. 個人資料介紹 姓名:張益源 畢業:體育系 97 級 專長:田徑、籃球、游泳 任教學校:慈濟大學實驗國民小學 學校職務:體育兼資訊老師.
Advertisements

定 格 入 格 破 格 —— 新诗仿写复习训练 仿照下列句子,再把 “ 人生 ” 比喻成 “ 大海 ”“ 天空 ” , 造两个句子。 如果说人生是一首优美的乐曲,那么痛苦则 是其中一个不可或缺的音符。 参考答案: 1 、如果说人生是一望无际的大海,那么挫折则 是其中一个骤然翻起的浪花。 2 、如果说人生是一片湛蓝的天空,那么失意则.
●公司簡介. ●公司組織 行銷 企劃部 行銷 企劃部 研發 設計部 研發 設計部 視覺 設計部 視覺 設計部 媒體 製作部 媒體 製作部 行動 裝置部 行動 裝置部 執行長 總經理 管理部 本公司組織人力配置除董事長、執行長、總經理外,共 有六大部門,分別為研發部 6 人、管理部 4 人、視覺設計部.
协同数据管理及数据分析专家 2013 年 07 月 通达智能报表中心. 第二章 引子 第四章 领先优势 第五章 应用领域 第六章 案例分享 第三章 产品介绍 第一章 通达信科综合实力 第七章 客户名单(部分) 第八章 系统演示.
1 网站设计理念 大连理工大学创新实验学院 优秀网站展示 - LAMP 类网站
方振镇 华东架构师大会. SNS 和 Web 游戏基本对比 SNS 游戏后台 Web 游戏后台 如何选择 问答.
一、老师申请题目,以下指导老 师操作。 1. 登录教务系统 web 端. 2. 点击 “ 毕业设计 ” 工具栏下拉菜单中的 “ 论文 _ 教师申请题目 ”
白玉苦瓜 余光中.
IT运维管理解决方案 -轻松管理,自在运维 产品经理 刘曜.
厦门大学数据库实验室 刘颖杰 2014年11月15日 实习总结报告 厦门大学数据库实验室 刘颖杰 2014年11月15日.
世新大學 校務行政e化進度報告 陳育亮
繁星推薦及申請入學 家長說明會 教務處試務組.
MySQL数据库服务介绍 2013 年 6 月.
IT运维管理解决方案 -轻松管理,自在运维 产品经理 刘曜.
应用性能管理提升客户体验 龙珠客户案例分享 肖澍 云智慧公司.
研究計畫執行 & 計畫人員管理 注意事項說明 研發處研推組 董家鈞組長.
“大云”大数据平台及应用 中国移动通信研究院 郭磊涛 2013年11月.
WordPress 系统优化 优雅、稳定、快速 陈少钧 2007年9月1号北京.
大型、高负载网站架构和应用初探.
Better文明,Better生活 初一五班.
網頁介紹與管理 演講單位:電算中心 演講人:侯麗雪.
云智慧助力在线医疗服务性能优化 —让IT运营更简单 2015年4月 云智慧科技(北京)有限公司.
2013华东数据库技术大会 人人网的SNS数据库架构与设计艺术 周彦伟
資料庫系統 曾俊雄.
第二章 项目一:企业厂区与车间平面设计 1.
第八章 网络课程的设计与开发.
第 11 章 網際網路與資料庫系統.
Web程序设计基础 太原理工大学 计算机科学与技术学院 林福平 求实创新
教師資訊基本素養 蔡志強.
系統安全期末報告 網管實務經驗探討-十人以下中小企業為例
新北市政府第二代公文自動化系統 建置推廣暨維運服務委外案 文書人員-二代公文共同課程
第8章 机床操作 主讲:臧红彬 博士.
智慧雲屋物聯網設計 亞洲大學 資訊工程學系 學生:楊定宸、姚建名、李冠穎、賴宏緯 指導教授:蔡志仁教授
互联网时代班主任的挑战 万玮 2014年9月20日.
江西省专业技术人员 继续教育信息管理系统.
苏州大汇信息科技有限公司 招聘简介.
CDM Project Management Database Development
黃俊榮 邱敏乘 蔡一郎 國家高速網路與計算中心
主講人:黃鎮榮 東方設計學院觀光與休閒事業管理系
安裝 WAMP5 PHP 網頁必須要有 WWW 伺服器及 PHP 語法解析程式才能運作, 但一般人通常不會在自己的電腦上安裝 WWW 伺服器。 因此本節要介紹如何架設一個可執行 PHP 的 WWW 伺服器, 以方便測試自己撰寫的 PHP 網頁, 提高學習效率。
課程名稱:資料庫系統 授課老師:李春雄 博士
面向高能所信息化系统的高可用数据库服务 王丽 计算中心 中科院高能所 第十八届全国科学计算与信息化会议.
鄉村尋根-農具篇.
操作資料庫 教授:楊維邦 教授 助教:黃存賢 陳廷宣.
/8/19 Erlang的高级特性和应用 /8/19.
電算中心工作報告 電子計算機中心 童曉儒主任 98年11月10日.
/8/19 Erlang的高级特性和应用 /8/19.
Windows服务器操作系统:2003 市场占有率仍稳居第一
PHP5與MySQL5 入門學習指南 凱文瑞克 著 第 3 章 安裝 WebServ.
Chang Chi-Chung 國立大里高級中學
專題名稱:Android App應用於訊號量測平台 指導教授:陳永欽
PHP 5與MySQL5 入門學習指南 凱文瑞克 著 第 1 章 PHP簡介.
第1章 SQL Server 2005概述 教学提示:SQL Server 2005是微软的下一代数据管理和分析解决方案,它给企业级应用数据和分析程序带来更好的安全性、稳定性和可靠性,使得它们更易于创建、部署和管理,从而可以在很大程度上帮助企业根据数据做出更快、更好的决策,提高开发团队的生产力和灵活度,以及在减少总体IT预算的同时,能够扩展IT基础架构以更好地满足多种需求。
中華生活商圈 商家管理系統 指導老師:王素華老師 學 生: 陳逸文 張治仁.
指導老師: 高玉芬 老師 組 員: 黃匡陵 劉安國 楊怡雰
phpBB安裝 phpBB 顧名思義,一定馬上就可以瞭解這是一個 PHP 語言寫成的軟體套件了! 用來作為討論區使用。 下載網址:
分布式入侵检测系统 及其在多园区校园网中的应用
DEBUG.
網路科技在商店經營管理之應用 第一章 osCommerce系統需求 Ting-Yi Chang (張庭毅)
“修身成材” 班级干部培训班 黑龙江大学党委学工部.
第三章 光现象 三、光的直线传播.
光的直线传播 鸡泽县实验中学.
課程名稱:資料庫系統 授課老師:李春雄 博士
計畫類勞僱型兼任助理(工讀生)申請流程 用人單位確認兼任助理(工讀生) 屬勞僱型 用人單位
辦理兼任助理聘僱申請(紙本) 辦理勞健保加保申請(系統)
本校兼任助理進用流程 兼任助理僱用/學習請核 異動申請
----以《西北民族音乐学术资源数据库》为例 西安音乐学院 景 月 亲
第1章 HTML基础 主讲人:刘泰然 经济管理学院.
县级支中心 乡镇基层服务点的建设 朱 庆 华.
中国石油大学(华东)信息化建设实践与思考 陈勇
Presentation transcript:

淘宝核心系统资深专家 余锋http://yufeng.info @淘宝褚霸 2012-12-23(v0.1) MySQL云平台和Erlang实现 淘宝核心系统资深专家 余锋http://yufeng.info @淘宝褚霸 2012-12-23(v0.1)

关于我 淘宝核心系统资深技术专家 余锋 超过15年互联网行业的网络、内核以及底层软件开发经验 专注于高性能分布式服务器的研究和实现 擅长构建大规模集群服务器 对数据库系统和分布式文件存储有深入的研究

平台设计 平台架构和部件 平台开发和运维 讨论

平台设计原则 平台对外保持单一入口,对内维护单一的资源池 保证服务的高可用性,消除单点故障 保证系统是弹性可伸缩的,可以动态的增加、删减计算与存储节点。 保证分配给用户的资源也是弹性可伸缩的,资源之间相互隔离。

平台设计层次 通过层次消化复杂性,层越靠后业务越单纯 前端状态尽可能的推到后一层 后端功能单一、结构简单,性能和可靠性容易做到极致 性能不够,通常可引入cache层解决 三层是个好的选择 LAMP(Linux-Apache-MySQL-PHP)流行的启示

技术选择 采用成熟主流的技术 复用工业强度的部件,避免造轮子 Massive adoption leads to massive investment. Massive investment leads to better tools, better and faster VMs. 复用工业强度的部件,避免造轮子

为什么要用Erlang实现 高并发,高性能,集群易扩展 时间检验的高可靠 强大的管理功能,方便的问题定位支持 强大的交互性, 与其他系统整合能力

平台设计 平台架构和部件 平台开发和运维 讨论

系统架构

平台特性 平台足够稳定,支持热升级 支持几千台物理机规模, 以对用户透明的形式提供主从热备、数据备份、迁移、容灾、读写分离、分库分表功能 资源隔离,按需分配和限制CPU、内存和IO资源 不影响提供数据服务的前提下根据用户业务的发展动态的扩容和缩容 屏蔽数据节点不同的软硬件差异

平台概况 稳定性生产系统验证过 依赖的开源组件:Mnesia、Lvs、RabbitMQ、ZooKeeper 代码规模 承载的实例数:千级别 核心使用以高性能、健壮以及可伸缩性出名的Erlang语言开发 7万行Erlang代码,3万c代码,2万其他代码 六人团队,历时1.5年

系统组件 controller服务器 proxy服务器 agent服务器 API/Web服务器 日志分析、信息统计服务器 报警和自动部署模块 元数据存储、集群成员管理、发起备份、迁移、主从切换等操作 proxy服务器 提供访问MySQL数据库的服务 agent服务器 管理每台物理机上MySQL实例,执行备份、迁移、主从切换等操作 API/Web服务器 提供系统管理界面 日志分析、信息统计服务器 收集用户SQL、集群状态信息 报警和自动部署模块

创建数据库实例流程

数据主路径流程

LVS 安全隔离 L4流量切割,实现负载均衡 Proxy故障自动转移

ZooKeeper 作为配置服务器 提供分布式锁 MySQL插件监控所有实例的可用性

RabbitMQ Erlang消息机制与AMQP极度吻合 系统中各节点间的可靠通信(不包括SQL查询、日志等大数据流的传输) 系统各部件广播服务 标准的AMQP协议,方便第三方对接和扩展 工作流方式消息流动,方便监控

Mnesia分布式数据库 MySQL NDB出自同门,可靠性长时间验证过 Mnesia支持分布式事务,也支持脏读写 无中心点,带持久内存数据库,数据存取软实时 核心元数据全集群可见

其他Erlang组件 Chicago Mochiweb Cowboy …

平台设计 平台架构和部件 平台开发和运维 讨论

平台开发 系统实现足够简单清晰 开发效率/运行效率/维护效率方面的考虑 平台和工具方面的考虑 高并发带来的收益和风险 Erlang工具链(特别提到rebar) 高并发带来的收益和风险

平台单点问题 逻辑单点 物理单点 目标 单一视图简化系统模型 潜在风险点,尽量消除 候补队员 物理单点  潜在风险点,尽量消除 候补队员 目标 在晚上得知节点挂掉后,依然可以去睡觉,留到有时间的时候解决

平台服务保障 不中断服务(公路的例子) 容量规划(高速公路5车道例子) 预警机制 (依据是什么) 流量调度/排队机制( 国庆高速公路不发卡例子) 降级服务 (高速绕行国道例子)

平台保障关键技术 流量切割 L4层和L7层 角色分工明确 名称服务 引入间接层 其他服务如全局锁的基础 数据冗余 故障隔离/恢复

稳定性和容灾 高可用,为失效设计 watchdog/heartbeat系统 failover/takeover机制 硬件/软件都会失效 节点自我保护(拒绝服务/服务降级) 处处维稳 (非典期间人员监控的例子) watchdog/heartbeat系统 failover/takeover机制

可维护性 系统健康检查和报警日常化 双集群保证平滑切换 系统升级/热部署日常化 包管理 代码和配置变更日常化 节点添加/退出 想想公路修理例子 系统升级/热部署日常化 包管理 代码和配置变更日常化 节点添加/退出 通过ssh自动化部署

平台问题定位 为诊断而开发 日志/收集分析融入到集群 监控系统 主动诊断工具 事后审计 信息尽可能的能自描述所做的事情 snmp协议/web portal 图形说话 主动诊断工具 系统环境随着时间在变化 事后审计 想想超速例子

提问时间 谢谢大家!

备用-Portal界面

备用-Portal界面

备用-Portal界面

备用-Portal界面

备用-Portal界面

备用-Portal界面

备用-Portal界面

备用-Portal界面

备用-Portal界面

备用-Portal界面

备用-Portal界面

备用-Portal界面