余锋 (褚霸) 淘宝网技术专家 中国软件技术大会 北京 2010

Slides:



Advertisements
Similar presentations
Erlang 分布式系统的的领域语言 淘宝核心系统资深专家 余锋 淘宝褚霸
Advertisements

高级服务器设计和实现 1 —— 基础与进阶 余锋
專題報告 宇宙雙人射擊遊戲.
LSF系统介绍 张焕杰 中国科学技术大学网络信息中心
Erlang全接触 褚霸 2010/07/20.
核心系统数据库组 褚霸 高性能集群服务器 Erlang解决方案 核心系统数据库组 褚霸
淘宝核心系统资深专家 我为什么要选择RabbitMQ 淘宝核心系统资深专家
实用操作系统概念 张惠娟 副教授 1.
基于解释性语言的手机跨平台架构 Sloan Yi. Qt MTK.
企业级云计算 A Enterprise Cloud Serivce
施耐德电气(中国)投资有限公司 运动控制部技术经理 李幼涵 高级工程师
Cell organized Distributed File Storage
Information & Security System in China China North Eastern Air Traffic Control Bureau (CAAC) Customer Background Subsidiary of General Administration of.
Kvm异步缺页中断 浙江大学计算机体系结构实验室 徐浩.
LSF系统介绍 张焕杰 中国科学技术大学网络信息中心
余锋 2009/03/11 Erlang及其应用 余锋 2009/03/11
MariaDB Spider分库分表引擎调研
嵌入式系统课程简介 宋健建 南京大学软件学院 2004/02/10.
第二讲 搭建Java Web开发环境 主讲人:孙娜
R in Enterprise Environment 企业环境中的R
中国科学技术大学 肖 明 军 《网络信息安全》 中国科学技术大学 肖 明 军
从现在做起 彻底改变你自己 Sanjay Mirchandani EMC公司高级副总裁、首席信息官.
存储系统.
大学计算机基础 典型案例之一 构建FPT服务器.
SVN服务器的搭建(Windows) 柳峰
管理信息结构SMI.
Jul 2014 HEAT部署Hadoop集群
基于OpenStack的散裂中子源计算环境概述 —CSNS私有云环境现状
Qt网络编程实战之HTTP服务器 安晓辉(foruok)
第11章:一些著名开源软件介绍 第12章:服务安装和配置 本章教学目标: 了解当前一些应用最广泛的开源软件项目 搭建一个网站服务器
大数据管理技术 --NoSQL数据库 HBase 陈 辉 大数据分析技术.
/8/19 Erlang的高级特性和应用 /8/19.
Windows网络操作系统管理 ——Windows Server 2008 R2.
/8/19 Erlang的高级特性和应用 /8/19.
Erlang emulator 实现分析 2007/10.
淘宝核心系统资深专家 (v0.1) MySQL云平台和Erlang实现 淘宝核心系统资深专家 (v0.1)
《手把手教你学STM32》 主讲人 :正点原子团队 硬件平台:正点原子STM32开发板 版权所有:广州市星翼电子科技有限公司 淘宝店铺:
数据挖掘工具性能比较.
DevDays ’99 The aim of this mission is knowledge..
任务1-3 使用Dreamweaver创建ASP网页
宁波市高校慕课联盟课程 与 进行交互 Linux 系统管理.
三:基于Eclipse的集成开发环境搭建与使用
Unit 11.Operating System 11.1 What’s OS 11.2 Related Courses
何勉 新浪微博: Scrum框架及其背后的原则 原始图片 何勉 新浪微博:
新一代安全网上银行 小组成员:杨志明 王晶 任毅 刘建中 关昊 刘超.
内容摘要 ■ 课程概述 ■ 教学安排 ■ 什么是操作系统? ■ 为什么学习操作系统? ■ 如何学习操作系统? ■ 操作系统实例
C语言程序设计 主讲教师:陆幼利.
微机系统的组成.
软件设计演进和系列训练营 实践 丁辉 Tel:
第四章 团队音乐会序幕: 团队协作平台的快速创建
新一代企业IT与OpenStack 贾琨 2014年7月.
Cassandra应用及高性能客户端 董亚军 来自Newegg-NESC.
政策环境与旅游投资 Policy environment & Tourism Investment
计算机网络与网页制作 Chapter 07:Dreamweaver CS5入门
信号量(Semaphore).
解决“最后1公里”问题.
JSP实用教程 清华大学出版社 第2章 JSP运行环境和开发环境 教学目标 教学重点 教学过程 2019年5月7日.
静定结构位移计算 ——互等定理 主讲教师:戴萍.
Touch Github = Touch the World
临界区问题的硬件指令解决方案 (Synchronization Hardware)
OpenStack vs CloudStack
ARM裸机第一部分-ARM那些你得知道的事
C++语言程序设计 C++语言程序设计 第一章 C++语言概述 第十一组 C++语言程序设计.
Chinese Virtual Observatory
雲端運算的技術趨勢與影響 資管四A 謝宗儒 A.
FVX1100介绍 法视特(上海)图像科技有限公司 施 俊.
SMC服务.
《手把手教你学STM32-STemWin》 主讲人 :正点原子团队 硬件平台:正点原子STM32开发板 版权所有:广州市星翼电子科技有限公司
2019/9/19 互联网产业、立法与网规 张钦坤 腾讯法务部.
《手把手教你学STM32-STemWin》 主讲人 :正点原子团队 硬件平台:正点原子STM32开发板 版权所有:广州市星翼电子科技有限公司
Presentation transcript:

余锋 (褚霸) 淘宝网技术专家 http://yufeng.info 中国软件技术大会 北京 2010 Erlang零成本实现云计算   余锋 (褚霸) 淘宝网技术专家 http://yufeng.info  中国软件技术大会 北京 2010

议题 1. Erlang天生适合云计算 2 .Erlang并行计算的效率 3. Erlang云计算基础构件 4. Erlang集群管理和维护   2 .Erlang并行计算的效率 3. Erlang云计算基础构件 4. Erlang集群管理和维护 5. 讨论

Erlang是什么? 通用的语言和运行环境 内置并发,集群,容错机制 电信和互联网行业大规模部署应用  经过时间验证的成熟商业系统

Erlang的历史 很老的FP语言,始于80年代末 爱立信投资10亿美金主导开发 EPL版权方式开源 需要记住的几个年份 1987  The first experiments with Erlang.  1993  Distribution is added to Erlang. 2006  SMP support is added to Erlang.

云计算定义 云计算就是应用公共网络设施对逻辑的组建,像水和电一样融入大家的生活,为用户提供海量一站式的服务. -腾讯首席执行官马化腾   Cloud = "CPU + Storage + Queues + Management"          -The Amazon Web Services says essentially

Erlang的进程, 天上的云 "Erlang was built from the ground up for concurrency.  Not just in a single machine, but in clusters of machines.  Lots of machines.  Lost of machines running many processes.  Sounds like a cloud, right?" -Colin Clark

语言和虚拟机天生可伸缩 最COOL的语言特性:   函数式语言,方便排错 轻量级进程 异步消息机制 软实时 代码热升级

内置集群和分布的基础设施和库 进程分布和名称同步管理 进程和节点容错管理 rpc gen_server mnesia数据库  

稳定性 In 1998, the Ericsson AXD301 switch was announced, containing over a million lines of Erlang, and reported to achieve a reliability of nine "9"s.   -Joe Armstrong

Erlang零成本云计算适用的领域   互联网应用服务器 消息推送系统  网关代理服务器 软实时的服务 集群管理

Erlang社区快速壮大, 见证云计算的增长

小结   Erlang天生适合特定领域的云计算

议题 1. Erlang天生适合云计算 2 .Erlang并行计算的效率 3. Erlang云计算基础构件 4. Erlang集群管理和维护   2 .Erlang并行计算的效率 3. Erlang云计算基础构件 4. Erlang集群管理和维护 5. 讨论

Erlang语言运行和开发效率 摩托罗拉C/Erlang开发效率比较 纯Erlang的运行效率大概是C的1/5, 编码效率是C的7倍,在脚本语言中属于中等水平.但是云计算不仅仅是纯计算,任务调度和集群管理是Erlang的强项,从而拉升系统的整体表现.   第三方独立评测网站 The Computer Language Benchmarks Game   

Erlang对SMP的支持 从2006年发布的R11B开始. SMP开发人员的信条: "SMP should be transparent to programers in much the way as erlang distribution."   -Ulf Wiger, Ericsson AB

Erlang进程调度及策略 Full load or not 多个运行队列,动态迁移进程 调度器看起来很像操作系统,实际上Erlang的第一个进程名字叫做otp_ring

Erlang调度器的伸缩性 小消息,大计算原则

架构设计方面的考虑 不共享 没有显式的同步 并发导向的编程 进程是低廉的,和现实世界对象1:1模型 所有无依赖的任务,都抽象为进程并发执行 终止的进程,一切都是垃圾,资源集中回收 简洁为王

Erlang技术发展路线图 虚拟机的运行期持续改进计划涵盖了对众核和NUMA体系结构的支持,保证了它在未来新的硬件体系结构下能持续获得更好的性能。

小结   Erlang并行计算效率高

议题 1. Erlang天生适合云计算 2 .Erlang并行计算的效率 3. Erlang云计算基础构件 4. Erlang集群管理和维护   2 .Erlang并行计算的效率 3. Erlang云计算基础构件 4. Erlang集群管理和维护 5. 小结

从Vmware收购谈起... Vmware 计算虚拟化 Redis 存储 RabbitMQ 消息交换系统   我们可以清楚的看到云计算的三个基础设施!

存储系统(noSQL) CouchDB Riak Membase

消息交换系统 RabbitMQ Ejabberd

WEB服务器 Mochiweb Erlyweb

Map/Reduce系统 Disco

小结   Erlang基础设施齐全, 开发成本低

议题 1. Erlang天生适合云计算 2 .Erlang并行计算的效率 3. Erlang云计算基础构件 4. Erlang集群管理和维护   2 .Erlang并行计算的效率 3. Erlang云计算基础构件 4. Erlang集群管理和维护 5. 讨论

集群特点及规模 集群全连通或者分区连通 访问授权: nothing or all策略 节点规模可强力伸缩 节点热插拔 规模可达上千台 典型系统的集群进程组织图

异构性 不同的平台 Windows(smp支持的有待改进) *nix 不同的体系结构 无需关心endianess问题 工业级协议的支持(asn.1, snmp等)

强大的交互性, 与其他遗留系统整合 NIF C节点(ei) Java (jinterface) Cobra TCP/HTTP 内置RPC

部署 Standalone发布,无需单独安装Erlang运行期 不停机维护 在线升级,系统同时运行新旧代码 发现问题在线降级 工具化, 一切自动化

代码安全 代码可远程从网络加载, Diskless减少维护的成本 代码可加密, 强加密防止反编译

远程维护 强大的内置shell ssh/sftp 可集中管理的日志系统

监控功能 OS mon SNMP HTTP

小结   Erlang集群管理成本低

议题 1. Erlang天生适合云计算 2 .Erlang并行计算的效率 3. Erlang云计算基础构件 4. Erlang集群管理和维护   2 .Erlang并行计算的效率 3. Erlang云计算基础构件 4. Erlang集群管理和维护 5. 讨论

典型成功案例 国内: 校内网 腾讯 华为 游戏公司 (如4399) ...   国外: Facebook Github

应用障碍 FP语言, 开发人员少, 招聘成本高 独特的并发和错误处理哲学 开发社区偏小,知识积累不够 应用库偏少

谢谢大家!   Any questions?