SlideShare una empresa de Scribd logo
1 de 16
Descargar para leer sin conexión
Erlang在网页游戏开发领域的应用




      @光环-达达
简介

● Erlang
● 网页游戏
Erlang
●   爱立信开发
●   1987年问世
●   1998年开源
●   函数式
●   面向并行
●   支持分布式
●   代码热更新
网页游戏

●   互联网产品
●   开发周期短
●   调整要迅速
●   质量要求高
●   需求多种多样
开源项目
商业项目
●   爱立信
     ○ 在其支持节点产品中使用Erlang,这些节点用于世界各地的GPRS和3G移
        动网络通信
     ○ Ericsson公司作为Erlang语言的缔造者,AXD301交换机是Erlang语言最
        大的电信软件项目,有高达1.7M代 码,9个9的可靠性。
●   T-Mobile
     ○ 将Erlang用于SMS和认证系统(T-Mobile是世界上最大的移动电话公司
        之一)
●   摩托罗拉
     ○ 在公共安全行业的呼叫处理产品中使用了Erlang。
●   Amazon云计算
     ○ Amazon目前是全球云计算的领导公司,Amazon云计算的Elastic
        Cloud、S3等项目中很大部分采用Erlang技术开发。
●   Facebook
     ○ 将Erlang用于其聊天系统服务的后台支持,它可以处理超过一亿数量的
        活跃用户信息。
Erlang的应用点

● 开发上
  ○ 网络编程
  ○ 多核支持
  ○ Actor模型
  ○ 内置存储方案
  ○ 分布式
● 运维上
  ○ 分布式
  ○ 热更新
  ○ 系统信息
网络编程

●   gen_tcp
●   {packet, N}
●   二进制语法
●   kernel poll
多核支持

● 轻量级进程
● 多个调度器




                                                                   进程消耗实验




 图片来源《About Erlang/OTP and Multi-core performance in particular》
Actor模型

●   无共享
●   基于消息通讯
●   独立消息队列
●   可选择的接收
●   超时状态处理




             图片来源《Erlang Programming》
内置存储方案

● ETS
  ○   基于内存的key-value存储
  ○   支持多种存储结构
  ○   支持select和match
  ○   支持压缩存储
● DETS                   ets性能测试


  ○ 基于文件的key-value存储
  ○ 与ets兼容
● Mnesia
  ○   ETS + DETS + 分布式   dets性能测试


  ○   事务
  ○   备份
  ○   还有很多...
把前面这些综合起来
分布式

● 多节点
● 对程序透明
● 应用场景
  ○ 开发
    ■ 活动时间协调
    ■ 跨服战
  ○ 运维
   ■ 远程更新
   ■ 状态监控
   ■ 批量操作
热更新

● 不需要重启
● 不影响玩家




          图片来源《Erlang Programming》
详尽的系统信息

●   进程
●   内存
●   ETS表
●   可视化
谢谢
邮箱:bg5sbk@gmail.com
主页:http://1234n.com

Más contenido relacionado

Similar a Erlang在网页游戏开发领域的应用

Erlang low cost_clound_computing
Erlang low cost_clound_computingErlang low cost_clound_computing
Erlang low cost_clound_computingFeng Yu
 
基于Tornado后端系统架构暨最佳实践
基于Tornado后端系统架构暨最佳实践基于Tornado后端系统架构暨最佳实践
基于Tornado后端系统架构暨最佳实践ZY Zhang
 
Erlang高级原理和应用
Erlang高级原理和应用Erlang高级原理和应用
Erlang高级原理和应用Feng Yu
 
Inside Erlang Vm II
Inside Erlang Vm IIInside Erlang Vm II
Inside Erlang Vm IIFeng Yu
 
Yupoo! (花瓣网/又拍云) 架构中的消息与任务系统
Yupoo! (花瓣网/又拍云) 架构中的消息与任务系统Yupoo! (花瓣网/又拍云) 架构中的消息与任务系统
Yupoo! (花瓣网/又拍云) 架构中的消息与任务系统Dahui Feng
 
Erlang开发及应用
Erlang开发及应用Erlang开发及应用
Erlang开发及应用litaocheng
 
Erlang Optimize
Erlang OptimizeErlang Optimize
Erlang OptimizeFeng Yu
 
Erlang全接触
Erlang全接触Erlang全接触
Erlang全接触Feng Yu
 
Ceph Day Beijing - Leverage Ceph for SDS in China Mobile
Ceph Day Beijing - Leverage Ceph for SDS in China MobileCeph Day Beijing - Leverage Ceph for SDS in China Mobile
Ceph Day Beijing - Leverage Ceph for SDS in China MobileCeph Community
 
Ceph Day Beijing - Leverage Ceph for SDS in China Mobile
Ceph Day Beijing - Leverage Ceph for SDS in China MobileCeph Day Beijing - Leverage Ceph for SDS in China Mobile
Ceph Day Beijing - Leverage Ceph for SDS in China MobileDanielle Womboldt
 
Oracle服务器及存储介绍
Oracle服务器及存储介绍Oracle服务器及存储介绍
Oracle服务器及存储介绍Ethan M. Liu
 
Erlang游戏开发
Erlang游戏开发Erlang游戏开发
Erlang游戏开发litaocheng
 
Establish The Core of Cloud Computing Application by Using Hazelcast (Chinese)
Establish The Core of  Cloud Computing Application  by Using Hazelcast (Chinese)Establish The Core of  Cloud Computing Application  by Using Hazelcast (Chinese)
Establish The Core of Cloud Computing Application by Using Hazelcast (Chinese)Joseph Kuo
 
First nVidia Tegra 4 SmartPhone - Xiaomi Mi-3 (TDSCDMA/China Mobile) (Simple ...
First nVidia Tegra 4 SmartPhone - Xiaomi Mi-3 (TDSCDMA/China Mobile) (Simple ...First nVidia Tegra 4 SmartPhone - Xiaomi Mi-3 (TDSCDMA/China Mobile) (Simple ...
First nVidia Tegra 4 SmartPhone - Xiaomi Mi-3 (TDSCDMA/China Mobile) (Simple ...JJ Wu
 
Deep learning hardware architecture and software deploy with docker
Deep learning hardware architecture and software deploy with dockerDeep learning hardware architecture and software deploy with docker
Deep learning hardware architecture and software deploy with dockerYa-Lun Li
 
Erlang分布式系统的的领域语言
Erlang分布式系统的的领域语言Erlang分布式系统的的领域语言
Erlang分布式系统的的领域语言Feng Yu
 

Similar a Erlang在网页游戏开发领域的应用 (20)

Erlang low cost_clound_computing
Erlang low cost_clound_computingErlang low cost_clound_computing
Erlang low cost_clound_computing
 
基于Tornado后端系统架构暨最佳实践
基于Tornado后端系统架构暨最佳实践基于Tornado后端系统架构暨最佳实践
基于Tornado后端系统架构暨最佳实践
 
Erlang高级原理和应用
Erlang高级原理和应用Erlang高级原理和应用
Erlang高级原理和应用
 
Inside Erlang Vm II
Inside Erlang Vm IIInside Erlang Vm II
Inside Erlang Vm II
 
Yupoo! (花瓣网/又拍云) 架构中的消息与任务系统
Yupoo! (花瓣网/又拍云) 架构中的消息与任务系统Yupoo! (花瓣网/又拍云) 架构中的消息与任务系统
Yupoo! (花瓣网/又拍云) 架构中的消息与任务系统
 
No[1][1]
No[1][1]No[1][1]
No[1][1]
 
wwerrssssss
wwerrsssssswwerrssssss
wwerrssssss
 
Erlang开发及应用
Erlang开发及应用Erlang开发及应用
Erlang开发及应用
 
Erlang Optimize
Erlang OptimizeErlang Optimize
Erlang Optimize
 
Erlang全接触
Erlang全接触Erlang全接触
Erlang全接触
 
Ceph Day Beijing - Leverage Ceph for SDS in China Mobile
Ceph Day Beijing - Leverage Ceph for SDS in China MobileCeph Day Beijing - Leverage Ceph for SDS in China Mobile
Ceph Day Beijing - Leverage Ceph for SDS in China Mobile
 
Ceph Day Beijing - Leverage Ceph for SDS in China Mobile
Ceph Day Beijing - Leverage Ceph for SDS in China MobileCeph Day Beijing - Leverage Ceph for SDS in China Mobile
Ceph Day Beijing - Leverage Ceph for SDS in China Mobile
 
Go
GoGo
Go
 
Oracle服务器及存储介绍
Oracle服务器及存储介绍Oracle服务器及存储介绍
Oracle服务器及存储介绍
 
Erlang游戏开发
Erlang游戏开发Erlang游戏开发
Erlang游戏开发
 
Establish The Core of Cloud Computing Application by Using Hazelcast (Chinese)
Establish The Core of  Cloud Computing Application  by Using Hazelcast (Chinese)Establish The Core of  Cloud Computing Application  by Using Hazelcast (Chinese)
Establish The Core of Cloud Computing Application by Using Hazelcast (Chinese)
 
First nVidia Tegra 4 SmartPhone - Xiaomi Mi-3 (TDSCDMA/China Mobile) (Simple ...
First nVidia Tegra 4 SmartPhone - Xiaomi Mi-3 (TDSCDMA/China Mobile) (Simple ...First nVidia Tegra 4 SmartPhone - Xiaomi Mi-3 (TDSCDMA/China Mobile) (Simple ...
First nVidia Tegra 4 SmartPhone - Xiaomi Mi-3 (TDSCDMA/China Mobile) (Simple ...
 
Deep learning hardware architecture and software deploy with docker
Deep learning hardware architecture and software deploy with dockerDeep learning hardware architecture and software deploy with docker
Deep learning hardware architecture and software deploy with docker
 
Erlang分布式系统的的领域语言
Erlang分布式系统的的领域语言Erlang分布式系统的的领域语言
Erlang分布式系统的的领域语言
 
How to Make a Scanning Drone in Chinese
How to Make a Scanning Drone in ChineseHow to Make a Scanning Drone in Chinese
How to Make a Scanning Drone in Chinese
 

Erlang在网页游戏开发领域的应用

  • 3. Erlang ● 爱立信开发 ● 1987年问世 ● 1998年开源 ● 函数式 ● 面向并行 ● 支持分布式 ● 代码热更新
  • 4. 网页游戏 ● 互联网产品 ● 开发周期短 ● 调整要迅速 ● 质量要求高 ● 需求多种多样
  • 6. 商业项目 ● 爱立信 ○ 在其支持节点产品中使用Erlang,这些节点用于世界各地的GPRS和3G移 动网络通信 ○ Ericsson公司作为Erlang语言的缔造者,AXD301交换机是Erlang语言最 大的电信软件项目,有高达1.7M代 码,9个9的可靠性。 ● T-Mobile ○ 将Erlang用于SMS和认证系统(T-Mobile是世界上最大的移动电话公司 之一) ● 摩托罗拉 ○ 在公共安全行业的呼叫处理产品中使用了Erlang。 ● Amazon云计算 ○ Amazon目前是全球云计算的领导公司,Amazon云计算的Elastic Cloud、S3等项目中很大部分采用Erlang技术开发。 ● Facebook ○ 将Erlang用于其聊天系统服务的后台支持,它可以处理超过一亿数量的 活跃用户信息。
  • 7. Erlang的应用点 ● 开发上 ○ 网络编程 ○ 多核支持 ○ Actor模型 ○ 内置存储方案 ○ 分布式 ● 运维上 ○ 分布式 ○ 热更新 ○ 系统信息
  • 8. 网络编程 ● gen_tcp ● {packet, N} ● 二进制语法 ● kernel poll
  • 9. 多核支持 ● 轻量级进程 ● 多个调度器 进程消耗实验 图片来源《About Erlang/OTP and Multi-core performance in particular》
  • 10. Actor模型 ● 无共享 ● 基于消息通讯 ● 独立消息队列 ● 可选择的接收 ● 超时状态处理 图片来源《Erlang Programming》
  • 11. 内置存储方案 ● ETS ○ 基于内存的key-value存储 ○ 支持多种存储结构 ○ 支持select和match ○ 支持压缩存储 ● DETS ets性能测试 ○ 基于文件的key-value存储 ○ 与ets兼容 ● Mnesia ○ ETS + DETS + 分布式 dets性能测试 ○ 事务 ○ 备份 ○ 还有很多...
  • 13. 分布式 ● 多节点 ● 对程序透明 ● 应用场景 ○ 开发 ■ 活动时间协调 ■ 跨服战 ○ 运维 ■ 远程更新 ■ 状态监控 ■ 批量操作
  • 14. 热更新 ● 不需要重启 ● 不影响玩家 图片来源《Erlang Programming》
  • 15. 详尽的系统信息 ● 进程 ● 内存 ● ETS表 ● 可视化