资源预览内容
第1页 / 共34页
第2页 / 共34页
第3页 / 共34页
第4页 / 共34页
第5页 / 共34页
第6页 / 共34页
第7页 / 共34页
第8页 / 共34页
第9页 / 共34页
第10页 / 共34页
亲,该文档总共34页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
高性能集群服务器Erlang解决方案核心系统数据库组 褚霸http:/yufeng.info2011-07-291十万英尺高度看Erlang2我是谁?3Erlang是什么?江湖传说支持高并发伤眼睛怪异难学官方定义通用的语言和运行环境内置并发,集群,容错机制电信行业大规模部署应用经过时间验证的成熟商业系统4Erlang的历史很老的FP语言,始于80年代末爱立信投资10亿美金主导开发EPL版权方式开源需要记住的几个年份1987 The first experiments with Erlang. 1993 Distribution is added to Erlang. 2006 SMP support is added to Erlang.5Erlang社区6印象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 7Erlang适合做什么互联网应用服务器消息系统海量存储需要软实时的数据库应用网关代理服务器 异构系统粘合8Erlang成熟项目9显微镜看Erlang10语言和虚拟机天生可伸缩函数式语言,方便排错轻量级进程异步消息机制软实时代码热升级最酷的语言特性:集群特点及规模集群全连通或者分区连通访问授权: nothing or all策略节点规模可强力伸缩节点热插拔规模可达上千台12典型系统的集群进程组织图Erlang语言运行和开发效率13Erlang对SMP的支持从2006年发布的R11B开始.SMP开发人员的信条:SMP should be transparent to programers in much the way as erlang distribution.-Ulf Wiger, Ericsson AB14Erlang进程调度及策略15Erlang调度器的伸缩性16稳定性In 1998, the Ericsson AXD301 switch was announced, containing over a million lines of Erlang, and reported to achieve a reliability of nine 9s.-Joe Armstrong17异构性不同的平台Windows(smp支持的有待改进)Linux(*NIX)不同的体系结构无需关心endianess问题 工业级协议的支持(asn.1, snmp等)18历史遗留系统粘合API: nifC系统: eiJava: jinterfaceCobra: cos*TCP/HTTP19Erlang技术发展路线图虚拟机的运行期持续改进计划涵盖了对众核NUMA体系结构的支持,保证了它在未来新的硬件体系结构下能持续获得更好的性能。20软件生命周期看Erlang21设计基于Actor模型异步消息传递无类型系统,模块化,内置大部分应用模块行为提炼: gen_server, gen_fsm,gen_event90%的模块都是gen_server22开发工具编辑器 Emacs或者其他文本编辑器编译器:内置Make工具: rebar效率开发人员素质要求中等开发效率是C/C+的7倍(摩托罗拉,4399游戏)23排错静态分析器:dialyzer动态分析器: debugger完善的日志系统和出错原因完善的coredump分析24测试单元测试eunit系统测试common_testtest_server25部署独立的安装包自带运行环境无需停机维护 在线升级,系统同时跑新旧代码发现问题在线降级工具化,一切自动化26远程维护强大的内置shell内置SSH和SFTP服务器,分布式日志系统27监控功能操作系统,CPU,内存,磁盘监控无比详细的运行期状态支持工业标准SNMP/HTTP28从淘宝看Erlang29淘宝的业务特点用户数目庞大海量数据应用繁多30淘宝现存软件的特点开源基础改进自家酿造,门派繁多开发周期长,软件生命周期长稳定性要求高31Erlang来救助IO密集型:小菜一碟计算密集型: 无助网络密集型:拿手好戏集群密集型:拿手好戏稳定密集型:拿手好戏粘合型:小菜一碟数据库:小菜一碟32推广障碍函数式语言, 开发人员少, 招聘成本高 独特的并发和错误处理哲学开发社区偏小,知识积累不够应用库偏少软件经理不了解33提问时间谢谢大家!34
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号