Suche senden
Hochladen
Erlang开发实践
•
Als PPTX, PDF herunterladen
•
7 gefällt mir
•
2,671 views
Feng Yu
Folgen
Erlang在MySQL云平台的开发实践
Weniger lesen
Mehr lesen
Technologie
Melden
Teilen
Melden
Teilen
1 von 40
Jetzt herunterladen
Empfohlen
低成本和高性能MySQL云架构探索
低成本和高性能MySQL云架构探索
Feng Yu
了解应用服务器
了解应用服务器
Feng Yu
我为什么要选择RabbitMQ
我为什么要选择RabbitMQ
Feng Yu
了解集群
了解集群
Feng Yu
Erlang分布式系统的的领域语言
Erlang分布式系统的的领域语言
Feng Yu
高级服务器设计和实现3
高级服务器设计和实现3
Feng Yu
高级服务器设计和实现2
高级服务器设计和实现2
Feng Yu
淘宝商品库MySQL优化实践
淘宝商品库MySQL优化实践
Feng Yu
Empfohlen
低成本和高性能MySQL云架构探索
低成本和高性能MySQL云架构探索
Feng Yu
了解应用服务器
了解应用服务器
Feng Yu
我为什么要选择RabbitMQ
我为什么要选择RabbitMQ
Feng Yu
了解集群
了解集群
Feng Yu
Erlang分布式系统的的领域语言
Erlang分布式系统的的领域语言
Feng Yu
高级服务器设计和实现3
高级服务器设计和实现3
Feng Yu
高级服务器设计和实现2
高级服务器设计和实现2
Feng Yu
淘宝商品库MySQL优化实践
淘宝商品库MySQL优化实践
Feng Yu
众行业公司系统架构案例介绍
众行业公司系统架构案例介绍
mysqlops
美团点评技术沙龙010-点评RDS系统介绍
美团点评技术沙龙010-点评RDS系统介绍
美团点评技术团队
MySQL和IO(下)
MySQL和IO(下)
Feng Yu
美团点评技术沙龙14:美团云对象存储系统
美团点评技术沙龙14:美团云对象存储系统
美团点评技术团队
MySQL的并发线程性能问题
MySQL的并发线程性能问题
Hui Liu
新浪微博分布式缓存与队列-2013版
新浪微博分布式缓存与队列-2013版
XiaoJun Hong
A
A
lonegunman
虎扑基础设施架构探讨
虎扑基础设施架构探讨
hoopchina
Build scalable microblog qcon beijing 2010
Build scalable microblog qcon beijing 2010
Tim Y
java title
java title
lonegunman
辽宁大学私有云项目分析
辽宁大学私有云项目分析
博 孟
大型系统的缓存标准化之路—从主从多级重client到一体化
大型系统的缓存标准化之路—从主从多级重client到一体化
XiaoJun Hong
基于MySQL的分布式数据库实践
基于MySQL的分布式数据库实践
jackbillow
Flash存储设备在淘宝的应用实践
Flash存储设备在淘宝的应用实践
Feng Yu
内存数据库[1]
内存数据库[1]
小新 制造
分布式缓存与队列
分布式缓存与队列
XiaoJun Hong
mercury
mercury
moonbingbing
MySQL压力测试经验
MySQL压力测试经验
Jinrong Ye
新浪微博redis技术演化
新浪微博redis技术演化
XiaoJun Hong
大规模数据库存储方案
大规模数据库存储方案
XiaoJun Hong
Go
Go
Feng Yu
了解内存
了解内存
Feng Yu
Weitere ähnliche Inhalte
Was ist angesagt?
众行业公司系统架构案例介绍
众行业公司系统架构案例介绍
mysqlops
美团点评技术沙龙010-点评RDS系统介绍
美团点评技术沙龙010-点评RDS系统介绍
美团点评技术团队
MySQL和IO(下)
MySQL和IO(下)
Feng Yu
美团点评技术沙龙14:美团云对象存储系统
美团点评技术沙龙14:美团云对象存储系统
美团点评技术团队
MySQL的并发线程性能问题
MySQL的并发线程性能问题
Hui Liu
新浪微博分布式缓存与队列-2013版
新浪微博分布式缓存与队列-2013版
XiaoJun Hong
A
A
lonegunman
虎扑基础设施架构探讨
虎扑基础设施架构探讨
hoopchina
Build scalable microblog qcon beijing 2010
Build scalable microblog qcon beijing 2010
Tim Y
java title
java title
lonegunman
辽宁大学私有云项目分析
辽宁大学私有云项目分析
博 孟
大型系统的缓存标准化之路—从主从多级重client到一体化
大型系统的缓存标准化之路—从主从多级重client到一体化
XiaoJun Hong
基于MySQL的分布式数据库实践
基于MySQL的分布式数据库实践
jackbillow
Flash存储设备在淘宝的应用实践
Flash存储设备在淘宝的应用实践
Feng Yu
内存数据库[1]
内存数据库[1]
小新 制造
分布式缓存与队列
分布式缓存与队列
XiaoJun Hong
mercury
mercury
moonbingbing
MySQL压力测试经验
MySQL压力测试经验
Jinrong Ye
新浪微博redis技术演化
新浪微博redis技术演化
XiaoJun Hong
大规模数据库存储方案
大规模数据库存储方案
XiaoJun Hong
Was ist angesagt?
(20)
众行业公司系统架构案例介绍
众行业公司系统架构案例介绍
美团点评技术沙龙010-点评RDS系统介绍
美团点评技术沙龙010-点评RDS系统介绍
MySQL和IO(下)
MySQL和IO(下)
美团点评技术沙龙14:美团云对象存储系统
美团点评技术沙龙14:美团云对象存储系统
MySQL的并发线程性能问题
MySQL的并发线程性能问题
新浪微博分布式缓存与队列-2013版
新浪微博分布式缓存与队列-2013版
A
A
虎扑基础设施架构探讨
虎扑基础设施架构探讨
Build scalable microblog qcon beijing 2010
Build scalable microblog qcon beijing 2010
java title
java title
辽宁大学私有云项目分析
辽宁大学私有云项目分析
大型系统的缓存标准化之路—从主从多级重client到一体化
大型系统的缓存标准化之路—从主从多级重client到一体化
基于MySQL的分布式数据库实践
基于MySQL的分布式数据库实践
Flash存储设备在淘宝的应用实践
Flash存储设备在淘宝的应用实践
内存数据库[1]
内存数据库[1]
分布式缓存与队列
分布式缓存与队列
mercury
mercury
MySQL压力测试经验
MySQL压力测试经验
新浪微博redis技术演化
新浪微博redis技术演化
大规模数据库存储方案
大规模数据库存储方案
Andere mochten auch
Go
Go
Feng Yu
了解内存
了解内存
Feng Yu
mnesia脑裂问题综述
mnesia脑裂问题综述
Feng Yu
Cpu高效编程技术
Cpu高效编程技术
Feng Yu
了解IO协议栈
了解IO协议栈
Feng Yu
Systemtap
Systemtap
Feng Yu
了解IO设备
了解IO设备
Feng Yu
了解网络
了解网络
Feng Yu
了解Cpu
了解Cpu
Feng Yu
Go Lang
Go Lang
Feng Yu
Cap 理论与实践
Cap 理论与实践
james tong
高性能集群服务器(Erlang解决方案)
高性能集群服务器(Erlang解决方案)
Feng Yu
Rethink db&tokudb调研测试报告
Rethink db&tokudb调研测试报告
Feng Yu
利用新硬件提升数据库性能
利用新硬件提升数据库性能
Feng Yu
MySQL和IO(上)
MySQL和IO(上)
Feng Yu
SSD在淘宝的应用实践
SSD在淘宝的应用实践
Feng Yu
Performance Analysis: The USE Method
Performance Analysis: The USE Method
Brendan Gregg
Netflix: From Clouds to Roots
Netflix: From Clouds to Roots
Brendan Gregg
Linux 4.x Tracing Tools: Using BPF Superpowers
Linux 4.x Tracing Tools: Using BPF Superpowers
Brendan Gregg
Andere mochten auch
(19)
Go
Go
了解内存
了解内存
mnesia脑裂问题综述
mnesia脑裂问题综述
Cpu高效编程技术
Cpu高效编程技术
了解IO协议栈
了解IO协议栈
Systemtap
Systemtap
了解IO设备
了解IO设备
了解网络
了解网络
了解Cpu
了解Cpu
Go Lang
Go Lang
Cap 理论与实践
Cap 理论与实践
高性能集群服务器(Erlang解决方案)
高性能集群服务器(Erlang解决方案)
Rethink db&tokudb调研测试报告
Rethink db&tokudb调研测试报告
利用新硬件提升数据库性能
利用新硬件提升数据库性能
MySQL和IO(上)
MySQL和IO(上)
SSD在淘宝的应用实践
SSD在淘宝的应用实践
Performance Analysis: The USE Method
Performance Analysis: The USE Method
Netflix: From Clouds to Roots
Netflix: From Clouds to Roots
Linux 4.x Tracing Tools: Using BPF Superpowers
Linux 4.x Tracing Tools: Using BPF Superpowers
Ähnlich wie Erlang开发实践
新浪微博平台与安全架构
新浪微博平台与安全架构
n716
基于 MySQL 的B2C电商系统前端数据层架构
基于 MySQL 的B2C电商系统前端数据层架构
Sky Jian
开源软件营销策略
开源软件营销策略
linhaicaoyuan
蓝鲸平台培训_V1.0.pptx
蓝鲸平台培训_V1.0.pptx
ssuser693b9a
I Sample 20070904
I Sample 20070904
Shin-Jan Wu
SWsoft_Prim@Telecom
SWsoft_Prim@Telecom
webhostingguy
微服務架構 導入經驗分享 吳剛志 - Community Open Camp
微服務架構 導入經驗分享 吳剛志 - Community Open Camp
Andrew Wu
IBM PureFlex (Traditional Chinese)
IBM PureFlex (Traditional Chinese)
Jerry Huang
Erlang low cost_clound_computing
Erlang low cost_clound_computing
Feng Yu
Top100summit前端的云时代支付宝前端平台架构 王保平
Top100summit前端的云时代支付宝前端平台架构 王保平
drewz lin
開放原始碼 Ch2.3 app - oss - ui framewoks (ver 1.0)
開放原始碼 Ch2.3 app - oss - ui framewoks (ver 1.0)
My own sweet home!
美团点评技术沙龙08 - 分布式服务通信框架及服务治理系统
美团点评技术沙龙08 - 分布式服务通信框架及服务治理系统
美团点评技术团队
MySQL 高可用方案及成功案例
MySQL 高可用方案及成功案例
郁萍 王
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
Scourgen Hong
作業系統概論
作業系統概論
Ying wei (Joe) Chou
Oracle服务器及存储介绍
Oracle服务器及存储介绍
Ethan M. Liu
Mobile app的測試v2
Mobile app的測試v2
Mr PM
分会场六利用赛门铁克的Sort工具降低风险,提高应用的持续运行时间 中文版
分会场六利用赛门铁克的Sort工具降低风险,提高应用的持续运行时间 中文版
ITband
Zh tw introduction_to_cloud_computing
Zh tw introduction_to_cloud_computing
TrendProgContest13
Application express overview_cn_final -v2
Application express overview_cn_final -v2
TravelSky
Ähnlich wie Erlang开发实践
(20)
新浪微博平台与安全架构
新浪微博平台与安全架构
基于 MySQL 的B2C电商系统前端数据层架构
基于 MySQL 的B2C电商系统前端数据层架构
开源软件营销策略
开源软件营销策略
蓝鲸平台培训_V1.0.pptx
蓝鲸平台培训_V1.0.pptx
I Sample 20070904
I Sample 20070904
SWsoft_Prim@Telecom
SWsoft_Prim@Telecom
微服務架構 導入經驗分享 吳剛志 - Community Open Camp
微服務架構 導入經驗分享 吳剛志 - Community Open Camp
IBM PureFlex (Traditional Chinese)
IBM PureFlex (Traditional Chinese)
Erlang low cost_clound_computing
Erlang low cost_clound_computing
Top100summit前端的云时代支付宝前端平台架构 王保平
Top100summit前端的云时代支付宝前端平台架构 王保平
開放原始碼 Ch2.3 app - oss - ui framewoks (ver 1.0)
開放原始碼 Ch2.3 app - oss - ui framewoks (ver 1.0)
美团点评技术沙龙08 - 分布式服务通信框架及服务治理系统
美团点评技术沙龙08 - 分布式服务通信框架及服务治理系统
MySQL 高可用方案及成功案例
MySQL 高可用方案及成功案例
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
从林书豪到全明星 - 虎扑网技术架构如何化解流量高峰
作業系統概論
作業系統概論
Oracle服务器及存储介绍
Oracle服务器及存储介绍
Mobile app的測試v2
Mobile app的測試v2
分会场六利用赛门铁克的Sort工具降低风险,提高应用的持续运行时间 中文版
分会场六利用赛门铁克的Sort工具降低风险,提高应用的持续运行时间 中文版
Zh tw introduction_to_cloud_computing
Zh tw introduction_to_cloud_computing
Application express overview_cn_final -v2
Application express overview_cn_final -v2
Mehr von Feng Yu
开源混合存储方案(Flashcache)
开源混合存储方案(Flashcache)
Feng Yu
Oprofile linux
Oprofile linux
Feng Yu
C1000K高性能服务器构建技术
C1000K高性能服务器构建技术
Feng Yu
Erlang全接触
Erlang全接触
Feng Yu
Tsung 压力测试工具
Tsung 压力测试工具
Feng Yu
Inside Erlang Vm II
Inside Erlang Vm II
Feng Yu
Mehr von Feng Yu
(6)
开源混合存储方案(Flashcache)
开源混合存储方案(Flashcache)
Oprofile linux
Oprofile linux
C1000K高性能服务器构建技术
C1000K高性能服务器构建技术
Erlang全接触
Erlang全接触
Tsung 压力测试工具
Tsung 压力测试工具
Inside Erlang Vm II
Inside Erlang Vm II
Erlang开发实践
1.
Erlang开发实践 淘宝核心系统资深专家 余锋 http://yufeng.info @淘宝褚霸 2013-05-25
2.
平台架构 工程实践 讨论
3.
UMP整体架构
4.
UMP核心挑战 • 平台对外保持单一入口,对内维护单一的资源池 。 • 保证服务的高可用性,消除单点故障 •
保证系统是弹性可伸缩的,可以动态的增加、删 减计算与存储节点。 • 保证分配给用户的资源也是弹性可伸缩的,资源 之间相互隔离。 统一 平台 统一 资源 申请入口 统一数据 服务入口 统一Portal 入口
5.
UMP经验 • 开放的平台,方便用户扩展 • 采用开放成熟的第三方部件的好处 •
热部署和升级对不停机维护的意义 • 容错系统设计的重要性
6.
为什么要用Erlang实现 • 高并发、高性能、集群易扩展 • 时间检验的高可靠 •
强大的管理功能,方便的问题定位支持 • 强大的交互性,与其他系统整合能力 • Erlang独特的世界观 – 世界是并行的 – 万物皆独善其身 – 万物皆通讯 – 天有不测风云
7.
UMP内部组件图
8.
平台架构 工程实践 讨论
9.
设计 • 哲学 – 小而美 –
细节是魔鬼 – fail fast • 三高 – HIGH cost performance – HIGH Reliability – HIGH Scalability 9
10.
设计—典型三层 10
11.
实现 • 三化 – rebar化 –
application化 – 插件化 • 代码组织 – api化 – rpc松散化 – 接口平民化 • 代码质量 – 警告零容忍 – dialyzer – tidier 11
12.
实现—功臣 12
13.
实现—rebar化 13 $ ls -l
deps/ump_controller/ include priv README.md rebar rebar.config src THANKS …
14.
实现—以app为单位扁平组织 $ tree -L
1 deps deps ├── … ├── ump ├── ump_agent ├── ump_alarm ├── ump_bs ├── ump_freakout ├── ump_la ├── ump_tc └──... 14
15.
实现—功能api化 $ ls -al
deps/ump_controller/src ... ump_instance_job.erl ump_job_clone.erl ump_job_delete_share_user.erl ump_metastore.erl ump_metastore_instance.erl ump_mnesia_monitor.erl ump_monitor_node_api.erl ump_monitor_resource_api.erl 15
16.
实现—rpc化 $ cat ump_diag_nodes.erl … get_nodes()
-> case ump_diag_rpc:call(ump_monitor_node_api, registered_node, []) of {badrpc, _Reason} -> []; Nodes -> Nodes end. 16
17.
实现—Makefile最小化 $ cat deps/ump_diag/Makefile all:
compile escriptize compile: ./rebar get-deps compile escriptize: ./rebar escriptize 17
18.
实现—dialyzer警告零容忍 $ dialyzer ebin Checking
whether the PLT /home/chuba/.dialyzer_plt is up-to-date... yes Proceeding with analysis... done in 0m5.67s done (passed successfully) 18
19.
部署 • reltool 和
release_handler <=> 打包和热部 署 • ssh/sftp <=> 安装和升级包传递 • ump_bootstrap <=>大规模自动部署 19
20.
测试 • 白盒 <=>
eunit 覆盖率 <=> cover • 黑盒 <=> common test • 压力测试 <=> tsung – api – mysql – console 20
21.
诊断 • VM层面信息 <=>
observer – crashdump – etop • 业务信息<=> console/portal • 主动诊断 <=> ump_diagnostic • 主动破坏 <=> ump_freakout 21
22.
运维 • 热更新 <=>
不停机 • snmp监控 <=> 方便对接现有监控系统 • 节点管理 <=> 随时添加、移除、启停结点 • 集群安全 <=> 审计 22
23.
调优 • 消息流动 <=>
dbg • 函数级别 <=> eprof • 驱动层面 <=> dtrace • 锁竞争 <=> lcnt • 角色协作 <=> percept 23
24.
平台架构 工程实践 讨论
25.
存在问题 • 集群规模和安全 • mnesia
brain split • 节点间rpc通道压力 • 小众语言 25
26.
讨论时间 谢谢大家! 26 @淘宝褚霸
27.
备用-Portal界面 27
28.
备用-Portal界面 28
29.
备用-Portal界面 29
30.
备用-Portal界面 30
31.
备用-Portal界面 31
32.
备用-Portal界面 32
33.
备用-Portal界面 33
34.
备用-Portal界面 34
35.
备用-Portal界面 35
36.
备用-Portal界面 36
37.
备用-Portal界面 37
38.
备用-Portal界面 38
39.
备用-Portal界面 39
40.
备用-Portal界面 40
Jetzt herunterladen