SlideShare una empresa de Scribd logo
1 de 28
基于 Erlang 的
MMO 链接管理服务器
侯明园
御风行数码科技有限公司
目录
   问题
       MMO 链接管理的特点与需求
   整合
       Erlang 如何整合入到现有集群系统?
   测量
       建立基于 erlang 的压力测试环境
   实现
       Erlang/OTP 如何简化编程?
   展望
       erlang 在网络游戏开发中的潜力点
问题

MMO 链接管理的特点
MMO 集群结构图
MMO 链接管理的特点
   链接管理的应用场景
       MMORPG 游戏服务端结构中包含是那个部分:
        登录认证服务,链接管理服务,游戏逻辑服务。
        游戏逻辑服务还可以继续进行细分。
       通常只有链接服务与客户端直接进行通信,可
        以认为集群内是安全的可以预测的计算环境,
        外部是实际的不安全的计算环境,这个服务是
        逻辑服务器与客户端之间的桥梁和管道。
       逻辑服务切换时,用户拥有一个不变的访问点
MMO 链接管理的特点(续)
   管理集群中所有的来自 client 的链接,将从客
    户端收到的消息转发到对应的逻辑服务器, 将
    逻辑服务器收到的消息转发到相应的 client ,
    发出去的包大部分的包是广播,链接服务器负
    责处理广播。
       路由
       广播
       安全
   功能明确,逻辑比较简单
MMO 链接管理的需求
   高性能
       路由和广播的要尽可能快,保障游戏的流畅感觉
       服务端频率 10HZ ,响应时间 <100ms
   高并发
       连接多,能处理的链接越高越好, MMO 服务器承载的人数对游
        戏有重要的意义
       大于 5000+
   高吞吐量
       输出远远大于输入
           收到的数量少,需要广播的数据多
   高可用性
       出故障时间要少
       恢复时间要短
       95%
整合

ERLANG 如何整合入到现有集群
系统?
整合
   整合进入原有的监控系统
       兼容原有管理工具
       状态报告
       维护操作,重启,关闭,查询
   数据库访问 mysql 数据库支持
   兼容原有网络协议
       原有协议是简单二进制协议
       引入协议定义语言,自动生成
        actionscript , python , C++, erlang 协议编码
        解码代码
关于整合的归纳与总结
   定义通信标准
       如果公司的应用程序想要扎根网络应用领域,
        及时你是第一款产品,建立的一个网络协议的
        规范和标准,定义语言,也是非常有必要的。
       Protobuf , asn , CERL SDL
       未来可以进一步建立一种行业标准
测量

压力测试环境的建立
Erlang 之前

   C++&python Client
   缺点
        远程连接 10+ 机器
       管理困难
       状态监测困难
       代码发布困难
Power by Erlang/OTP
Power by Erlang/OTP
   监控节点(唯一)
       测试配置状态进程
        ( global)
       测试数据收集进程
        (global)
       GUI 控制进程
   工作节点(多个)
       监督进程
       多个工作进程
Power by Erlang/OTP

   run erl as service
   发布代码:热代码替换 nl(MODULE).
   启动关闭
       [rpc:call(N, stress, start, []] || N <-nodes()]
       [rpc:call(N, stress, stop, []] || N <-nodes()]
   采用 ETS 存储监测信息,不用编写任何代
    码即可方便查看
   wxPython 绑定,非常快速设计跨平台监控
    GUI , wxFormBuilder
Power by Erlang/OTP
   代码规模
       总共 erlang 代码: 2200
       注释: 600
   所有的进程都是用 behavior,:
       gen_server
       gen_fsm
       gen_supervisor
       wx_object
关于测量的归纳与总结
   测试先行
   Erlang 非常适合搭建分布式测试系统
       开发快速
       平台丰富
       工具完善
       管理简单
实现

ERLANG 如何简化编程?
原有 C++ 版本
   非阻塞 socket
   状态机 (20 个状态, 26 个事件)
   同一个集群中可以启动多个连接管理进程
实现 V1
   监听进程( 1 个)
   客户端链接管理
       所有 Client 进程由一个监
        督进程管理
       一个进程对应一个进程对
        应一个客户端 TCP 链接
       一个进程对应一个到逻辑
        服务器的链接
       进程实现采用 OTP 状态
        机
   服务端链接管理
       所有 Service 进程由一个
        监督进程管理
   链接 ID 到 PID 映射管理
简单的实现比较
C++                       Erlang
   代码行数 :7924               代码行数: 2000 线程
   逻辑结构方面比较                 逻辑结构
       单进程                      表示连接
       状态机                      状态机状态减少了:采用进
       ( 20 状态, 26 事件)           程来模拟客户端之后
                                 (10 状态, 12 事件)
                                 模式匹配使代码更加清晰
                                 otp 行为模式框架简化程序
   性能                       性能
       6000                     6000
优化   调优过程

   性能阶梯
       一般设计未经优化的 C 程序
       一般设计未经优化的 Erlang 程序
       良好设计优化过后的 Erlang 程序
       良好设计优化过后的 C 程序
监测 Erlang 工具
   pman
       显示进程列表
       包含进程: Pids, Current Function, Name,
        Msgs,Reds,Size
   Etop
       类似于 linux 平台的 top 命令
       包含 pman 的所有功能
       实时更新进程状态,可以属性选择排序
优化 case 1
   多链接情况下 +K 非常重要
       4000, CPU: 80%~100%
           Top 看到 60-70%sy
       +K true, CPU 13% ~ 20%
       +K true && –smp disable, CPU 9%~20%
       原因:使用 epoll
优化 case 2 :数字 ID 查找 PID
问题                    方案性能对比
   每个连接有一个数字 ID ,    查找方        Insert   find
                      案
    逻辑服务器的广播包里面
                      ETS        1.11     8.98
    包含一个数字 ID 类别和数
                      DICT       5.12     9.65
    据,网关服务器通过 ID 查
                      gbtree     1        28.25
    找到对应 PID, 这个查找过
                      Register   80       1
    程一度成为瓶颈
优化 case3
       LoginProxy 负责从客户
        端到 login 服务器转发,
        服务端到客户端的转发
        ,这有可能造成性能瓶
        颈,收到服务端的消息
        之后,一般会进行循环
        处理,可能会延迟转发
        客户端消息,将转发任
        务分两部分,一个只负
        责从客户端到 logic 服务
        器 , 一个负责从逻辑服
        务器到 client
结果
   OS: CentOS release 5 (Final)
   Intel(R) Xeon(TM) CPU 2.80GHz X 2
   6500 链接
   30000 ~ 40000 packet/s
展望
   erlang 在网络游戏开发中的潜力点
   热部署
            网络游戏服务器维护通常会导致玩家流失如果
             Erlang 的热部署能够有效应用那么有可能极大减少
             服务器维护的频率和时间
   AI
            有 AI 实现采用 Lua 协程, Stackless Python 。
             Erlang 进程也有类似的特点
   运营接口
   整合工具

Más contenido relacionado

Similar a 基于Erlang的

Erlang Optimize
Erlang OptimizeErlang Optimize
Erlang OptimizeFeng Yu
 
未来网络技术发展探梦 - 开篇
未来网络技术发展探梦 - 开篇未来网络技术发展探梦 - 开篇
未来网络技术发展探梦 - 开篇Yao-Wei Ou
 
软件工程
软件工程软件工程
软件工程bill0077
 
Chap12 嵌入式系统开发模式
Chap12 嵌入式系统开发模式Chap12 嵌入式系统开发模式
Chap12 嵌入式系统开发模式Allen Galler
 
腾讯大讲堂30 运维工具让你的开发运营更轻松
腾讯大讲堂30 运维工具让你的开发运营更轻松腾讯大讲堂30 运维工具让你的开发运营更轻松
腾讯大讲堂30 运维工具让你的开发运营更轻松Michael Zhang
 
腾讯大讲堂30 运维工具让你的开发运营更轻松
腾讯大讲堂30 运维工具让你的开发运营更轻松腾讯大讲堂30 运维工具让你的开发运营更轻松
腾讯大讲堂30 运维工具让你的开发运营更轻松areyouok
 
基于嵌入式系统的Avs P10编码系统设计
基于嵌入式系统的Avs P10编码系统设计基于嵌入式系统的Avs P10编码系统设计
基于嵌入式系统的Avs P10编码系统设计Hengyi
 
Lean Message Architecture Highlights
Lean Message Architecture HighlightsLean Message Architecture Highlights
Lean Message Architecture Highlightssunng87
 
LeanMessage 实时通信云架构
LeanMessage 实时通信云架构LeanMessage 实时通信云架构
LeanMessage 实时通信云架构wenny yuan
 
deep inside Sina App Engine cloud service
deep inside Sina App Engine cloud servicedeep inside Sina App Engine cloud service
deep inside Sina App Engine cloud servicecong lei
 
Erlang高级原理和应用
Erlang高级原理和应用Erlang高级原理和应用
Erlang高级原理和应用Feng Yu
 
网易 李弈远 网易服务集成框架的构建与运维
网易 李弈远 网易服务集成框架的构建与运维网易 李弈远 网易服务集成框架的构建与运维
网易 李弈远 网易服务集成框架的构建与运维guiyingshenxia
 
网易 李弈远 网易服务集成框架的构建与运维
网易 李弈远 网易服务集成框架的构建与运维网易 李弈远 网易服务集成框架的构建与运维
网易 李弈远 网易服务集成框架的构建与运维colderboy17
 
Baidu LSP and DISQL for Log Analysis
Baidu LSP and DISQL for Log AnalysisBaidu LSP and DISQL for Log Analysis
Baidu LSP and DISQL for Log AnalysisXiaoming Chen
 
1.4亿在线背后的故事
1.4亿在线背后的故事1.4亿在线背后的故事
1.4亿在线背后的故事llkk0914
 
高性能远程调用解决方案
高性能远程调用解决方案高性能远程调用解决方案
高性能远程调用解决方案Ady Liu
 
作業系統數位教材(劉政雄)(1 9)
作業系統數位教材(劉政雄)(1 9)作業系統數位教材(劉政雄)(1 9)
作業系統數位教材(劉政雄)(1 9)Ying wei (Joe) Chou
 

Similar a 基于Erlang的 (20)

Mocha Bsm
Mocha BsmMocha Bsm
Mocha Bsm
 
Erlang Optimize
Erlang OptimizeErlang Optimize
Erlang Optimize
 
未来网络技术发展探梦 - 开篇
未来网络技术发展探梦 - 开篇未来网络技术发展探梦 - 开篇
未来网络技术发展探梦 - 开篇
 
软件工程
软件工程软件工程
软件工程
 
Chap12 嵌入式系统开发模式
Chap12 嵌入式系统开发模式Chap12 嵌入式系统开发模式
Chap12 嵌入式系统开发模式
 
腾讯大讲堂30 运维工具让你的开发运营更轻松
腾讯大讲堂30 运维工具让你的开发运营更轻松腾讯大讲堂30 运维工具让你的开发运营更轻松
腾讯大讲堂30 运维工具让你的开发运营更轻松
 
腾讯大讲堂30 运维工具让你的开发运营更轻松
腾讯大讲堂30 运维工具让你的开发运营更轻松腾讯大讲堂30 运维工具让你的开发运营更轻松
腾讯大讲堂30 运维工具让你的开发运营更轻松
 
基于嵌入式系统的Avs P10编码系统设计
基于嵌入式系统的Avs P10编码系统设计基于嵌入式系统的Avs P10编码系统设计
基于嵌入式系统的Avs P10编码系统设计
 
Lean Message Architecture Highlights
Lean Message Architecture HighlightsLean Message Architecture Highlights
Lean Message Architecture Highlights
 
LeanMessage 实时通信云架构
LeanMessage 实时通信云架构LeanMessage 实时通信云架构
LeanMessage 实时通信云架构
 
deep inside Sina App Engine cloud service
deep inside Sina App Engine cloud servicedeep inside Sina App Engine cloud service
deep inside Sina App Engine cloud service
 
Sae
SaeSae
Sae
 
Erlang高级原理和应用
Erlang高级原理和应用Erlang高级原理和应用
Erlang高级原理和应用
 
网易 李弈远 网易服务集成框架的构建与运维
网易 李弈远 网易服务集成框架的构建与运维网易 李弈远 网易服务集成框架的构建与运维
网易 李弈远 网易服务集成框架的构建与运维
 
网易 李弈远 网易服务集成框架的构建与运维
网易 李弈远 网易服务集成框架的构建与运维网易 李弈远 网易服务集成框架的构建与运维
网易 李弈远 网易服务集成框架的构建与运维
 
Baidu LSP and DISQL for Log Analysis
Baidu LSP and DISQL for Log AnalysisBaidu LSP and DISQL for Log Analysis
Baidu LSP and DISQL for Log Analysis
 
1.4亿在线背后的故事
1.4亿在线背后的故事1.4亿在线背后的故事
1.4亿在线背后的故事
 
高性能远程调用解决方案
高性能远程调用解决方案高性能远程调用解决方案
高性能远程调用解决方案
 
作業系統數位教材(劉政雄)(1 9)
作業系統數位教材(劉政雄)(1 9)作業系統數位教材(劉政雄)(1 9)
作業系統數位教材(劉政雄)(1 9)
 
Erlang and HTML5
Erlang and HTML5Erlang and HTML5
Erlang and HTML5
 

Último

哪里可以购买日本群马县立县民健康科学大学学位记🏆做个假的文凭可认证吗🏆台湾大学文凭制作🏆托福TOEFL证书定制
哪里可以购买日本群马县立县民健康科学大学学位记🏆做个假的文凭可认证吗🏆台湾大学文凭制作🏆托福TOEFL证书定制哪里可以购买日本群马县立县民健康科学大学学位记🏆做个假的文凭可认证吗🏆台湾大学文凭制作🏆托福TOEFL证书定制
哪里可以购买日本群马县立县民健康科学大学学位记🏆做个假的文凭可认证吗🏆台湾大学文凭制作🏆托福TOEFL证书定制radeybfgkf477
 
30T.ppt【国外大学文凭样本】TWU毕业证认证Q/微:892798920办西三一大学毕业证留信留服使馆公证,TWU硕士毕业证,TWU研究生毕业证,文凭...
30T.ppt【国外大学文凭样本】TWU毕业证认证Q/微:892798920办西三一大学毕业证留信留服使馆公证,TWU硕士毕业证,TWU研究生毕业证,文凭...30T.ppt【国外大学文凭样本】TWU毕业证认证Q/微:892798920办西三一大学毕业证留信留服使馆公证,TWU硕士毕业证,TWU研究生毕业证,文凭...
30T.ppt【国外大学文凭样本】TWU毕业证认证Q/微:892798920办西三一大学毕业证留信留服使馆公证,TWU硕士毕业证,TWU研究生毕业证,文凭...ggbob1
 
未毕业在线购买日本神户国际大学学位记🏆学习成绩单电子版定制🏆仿制西班牙大学毕业证🏆香港中学会考证书定制
未毕业在线购买日本神户国际大学学位记🏆学习成绩单电子版定制🏆仿制西班牙大学毕业证🏆香港中学会考证书定制未毕业在线购买日本神户国际大学学位记🏆学习成绩单电子版定制🏆仿制西班牙大学毕业证🏆香港中学会考证书定制
未毕业在线购买日本神户国际大学学位记🏆学习成绩单电子版定制🏆仿制西班牙大学毕业证🏆香港中学会考证书定制radeybfgkf477
 
快速定制高仿日本广岛修道大学学位记/入学许可证书PDF修改/意大利大学文凭制作/日语JLPT证书定制
快速定制高仿日本广岛修道大学学位记/入学许可证书PDF修改/意大利大学文凭制作/日语JLPT证书定制快速定制高仿日本广岛修道大学学位记/入学许可证书PDF修改/意大利大学文凭制作/日语JLPT证书定制
快速定制高仿日本广岛修道大学学位记/入学许可证书PDF修改/意大利大学文凭制作/日语JLPT证书定制paulachevez2
 
未毕业在线购买日本熊本县立大学学位记🏆学习成绩单电子版定制🏆克隆爱尔兰大学文凭🏆CFA证书定制
未毕业在线购买日本熊本县立大学学位记🏆学习成绩单电子版定制🏆克隆爱尔兰大学文凭🏆CFA证书定制未毕业在线购买日本熊本县立大学学位记🏆学习成绩单电子版定制🏆克隆爱尔兰大学文凭🏆CFA证书定制
未毕业在线购买日本熊本县立大学学位记🏆学习成绩单电子版定制🏆克隆爱尔兰大学文凭🏆CFA证书定制gravestomas0
 
1.💥黑客接单,挑战你的想象力! 🚀💡从最炫酷的黑科技到神秘莫测的代码世界,这里都是你想要的技术。无论是破解密码、入侵系统还是开发软件,我们都能帮你实现!...
1.💥黑客接单,挑战你的想象力! 🚀💡从最炫酷的黑科技到神秘莫测的代码世界,这里都是你想要的技术。无论是破解密码、入侵系统还是开发软件,我们都能帮你实现!...1.💥黑客接单,挑战你的想象力! 🚀💡从最炫酷的黑科技到神秘莫测的代码世界,这里都是你想要的技术。无论是破解密码、入侵系统还是开发软件,我们都能帮你实现!...
1.💥黑客接单,挑战你的想象力! 🚀💡从最炫酷的黑科技到神秘莫测的代码世界,这里都是你想要的技术。无论是破解密码、入侵系统还是开发软件,我们都能帮你实现!...黑客 接单【TG/微信qoqoqdqd】
 
保分服务在SAT考试作弊问题上的应对策略和措施是否充分,如何确保服务的可靠性??
保分服务在SAT考试作弊问题上的应对策略和措施是否充分,如何确保服务的可靠性??保分服务在SAT考试作弊问题上的应对策略和措施是否充分,如何确保服务的可靠性??
保分服务在SAT考试作弊问题上的应对策略和措施是否充分,如何确保服务的可靠性??testhelper Sobrenome
 
改GPA申请研究生#大学修改成绩修改 #找黑客改分#修改成绩单听说你想改一改在美国大学的成绩?嗯,我明白你的感受。其实,成绩这事儿也不是说改就能改的,你得...
改GPA申请研究生#大学修改成绩修改 #找黑客改分#修改成绩单听说你想改一改在美国大学的成绩?嗯,我明白你的感受。其实,成绩这事儿也不是说改就能改的,你得...改GPA申请研究生#大学修改成绩修改 #找黑客改分#修改成绩单听说你想改一改在美国大学的成绩?嗯,我明白你的感受。其实,成绩这事儿也不是说改就能改的,你得...
改GPA申请研究生#大学修改成绩修改 #找黑客改分#修改成绩单听说你想改一改在美国大学的成绩?嗯,我明白你的感受。其实,成绩这事儿也不是说改就能改的,你得...黑客 接单【TG/微信qoqoqdqd】
 
【国外大学文凭样本】多大毕业证认证Q/微:892798920办多伦多大学毕业证留信留服使馆公公证,多大硕士毕业证,U of T研究生毕业证,文凭,改U o...
【国外大学文凭样本】多大毕业证认证Q/微:892798920办多伦多大学毕业证留信留服使馆公公证,多大硕士毕业证,U of T研究生毕业证,文凭,改U o...【国外大学文凭样本】多大毕业证认证Q/微:892798920办多伦多大学毕业证留信留服使馆公公证,多大硕士毕业证,U of T研究生毕业证,文凭,改U o...
【国外大学文凭样本】多大毕业证认证Q/微:892798920办多伦多大学毕业证留信留服使馆公公证,多大硕士毕业证,U of T研究生毕业证,文凭,改U o...ggbob1
 
听说在加拿大,修改大学成绩单是学霸的日常?求秘籍📚,让我的GPA也能像枫叶一样红得耀眼!#加拿大学霸日常#黑客真的可以改业留学#毕业成绩吗?改了#成绩会被...
听说在加拿大,修改大学成绩单是学霸的日常?求秘籍📚,让我的GPA也能像枫叶一样红得耀眼!#加拿大学霸日常#黑客真的可以改业留学#毕业成绩吗?改了#成绩会被...听说在加拿大,修改大学成绩单是学霸的日常?求秘籍📚,让我的GPA也能像枫叶一样红得耀眼!#加拿大学霸日常#黑客真的可以改业留学#毕业成绩吗?改了#成绩会被...
听说在加拿大,修改大学成绩单是学霸的日常?求秘籍📚,让我的GPA也能像枫叶一样红得耀眼!#加拿大学霸日常#黑客真的可以改业留学#毕业成绩吗?改了#成绩会被...黑客 接单【TG/微信qoqoqdqd】
 
003 DSKP KSSR SEMAKAN 2017 BAHASA CINA TAHUN 3.pdf
003 DSKP KSSR SEMAKAN 2017 BAHASA CINA TAHUN 3.pdf003 DSKP KSSR SEMAKAN 2017 BAHASA CINA TAHUN 3.pdf
003 DSKP KSSR SEMAKAN 2017 BAHASA CINA TAHUN 3.pdfshanshanhui1
 
【創業簡報練習】當一個人吃飯會想起誰: (A)I-DOLL 陪吃娃娃|科技創業與營運實務
【創業簡報練習】當一個人吃飯會想起誰:(A)I-DOLL 陪吃娃娃|科技創業與營運實務【創業簡報練習】當一個人吃飯會想起誰:(A)I-DOLL 陪吃娃娃|科技創業與營運實務
【創業簡報練習】當一個人吃飯會想起誰: (A)I-DOLL 陪吃娃娃|科技創業與營運實務sardinesaying
 
我曾试图入侵正方教务系统,但我发现它有一些漏洞找黑客入侵电脑,找黑客入侵服务器,找黑客破解密码,怎么找黑客?【微 tytyqqww 信】
我曾试图入侵正方教务系统,但我发现它有一些漏洞找黑客入侵电脑,找黑客入侵服务器,找黑客破解密码,怎么找黑客?【微 tytyqqww 信】我曾试图入侵正方教务系统,但我发现它有一些漏洞找黑客入侵电脑,找黑客入侵服务器,找黑客破解密码,怎么找黑客?【微 tytyqqww 信】
我曾试图入侵正方教务系统,但我发现它有一些漏洞找黑客入侵电脑,找黑客入侵服务器,找黑客破解密码,怎么找黑客?【微 tytyqqww 信】黑客 接单【TG/微信qoqoqdqd】
 
加急代办一个日本秋田县立大学学位记/合格通知书电子版制作/补办国外大学毕业证/CPA证书定制
加急代办一个日本秋田县立大学学位记/合格通知书电子版制作/补办国外大学毕业证/CPA证书定制加急代办一个日本秋田县立大学学位记/合格通知书电子版制作/补办国外大学毕业证/CPA证书定制
加急代办一个日本秋田县立大学学位记/合格通知书电子版制作/补办国外大学毕业证/CPA证书定制paulachevez2
 
1.🔥承接黑客破解任务,你的难题我们来解决! 💡无论你是游戏玩家、企业用户还是个人用户,都能在这里找到满意的解决方案。 💪经验丰富的专业团队为您提供全方位...
1.🔥承接黑客破解任务,你的难题我们来解决! 💡无论你是游戏玩家、企业用户还是个人用户,都能在这里找到满意的解决方案。 💪经验丰富的专业团队为您提供全方位...1.🔥承接黑客破解任务,你的难题我们来解决! 💡无论你是游戏玩家、企业用户还是个人用户,都能在这里找到满意的解决方案。 💪经验丰富的专业团队为您提供全方位...
1.🔥承接黑客破解任务,你的难题我们来解决! 💡无论你是游戏玩家、企业用户还是个人用户,都能在这里找到满意的解决方案。 💪经验丰富的专业团队为您提供全方位...黑客 接单【TG/微信qoqoqdqd】
 
正方教务系统的小漏洞被黑客找到啦~他现在正在偷偷溜进去玩呢!(*^__^*)法国大学挂科改成绩 德国大学挂科改成绩 韩国大学挂科改成绩大学成绩修改,找黑客...
正方教务系统的小漏洞被黑客找到啦~他现在正在偷偷溜进去玩呢!(*^__^*)法国大学挂科改成绩 德国大学挂科改成绩 韩国大学挂科改成绩大学成绩修改,找黑客...正方教务系统的小漏洞被黑客找到啦~他现在正在偷偷溜进去玩呢!(*^__^*)法国大学挂科改成绩 德国大学挂科改成绩 韩国大学挂科改成绩大学成绩修改,找黑客...
正方教务系统的小漏洞被黑客找到啦~他现在正在偷偷溜进去玩呢!(*^__^*)法国大学挂科改成绩 德国大学挂科改成绩 韩国大学挂科改成绩大学成绩修改,找黑客...黑客 接单【TG/微信qoqoqdqd】
 
在中国可以购买日本东京女子大学学位记/做个假的文凭可认证吗/定制马来西亚大学毕业证/CFA证书定制
在中国可以购买日本东京女子大学学位记/做个假的文凭可认证吗/定制马来西亚大学毕业证/CFA证书定制在中国可以购买日本东京女子大学学位记/做个假的文凭可认证吗/定制马来西亚大学毕业证/CFA证书定制
在中国可以购买日本东京女子大学学位记/做个假的文凭可认证吗/定制马来西亚大学毕业证/CFA证书定制paulachevez2
 
为了确保自己的安全和合法权益,我选择购买高品質的假护照、身份证明以及结婚证等证件。这些都是真实有效且具有法律效力的文件【微 tytyqqww 信】
为了确保自己的安全和合法权益,我选择购买高品質的假护照、身份证明以及结婚证等证件。这些都是真实有效且具有法律效力的文件【微 tytyqqww 信】为了确保自己的安全和合法权益,我选择购买高品質的假护照、身份证明以及结婚证等证件。这些都是真实有效且具有法律效力的文件【微 tytyqqww 信】
为了确保自己的安全和合法权益,我选择购买高品質的假护照、身份证明以及结婚证等证件。这些都是真实有效且具有法律效力的文件【微 tytyqqww 信】黑客 接单【TG/微信qoqoqdqd】
 
未毕业在线购买日本长崎县立大学学位记🏆卒业证书外壳什么样子🏆办理比利时大学文凭🏆日语JLPT证书定制
未毕业在线购买日本长崎县立大学学位记🏆卒业证书外壳什么样子🏆办理比利时大学文凭🏆日语JLPT证书定制未毕业在线购买日本长崎县立大学学位记🏆卒业证书外壳什么样子🏆办理比利时大学文凭🏆日语JLPT证书定制
未毕业在线购买日本长崎县立大学学位记🏆卒业证书外壳什么样子🏆办理比利时大学文凭🏆日语JLPT证书定制radeybfgkf477
 
DIGNITAS INFINITA - 人类尊严 - 教区信仰教义宣言.pptx
DIGNITAS INFINITA - 人类尊严  -  教区信仰教义宣言.pptxDIGNITAS INFINITA - 人类尊严  -  教区信仰教义宣言.pptx
DIGNITAS INFINITA - 人类尊严 - 教区信仰教义宣言.pptxMartin M Flynn
 

Último (20)

哪里可以购买日本群马县立县民健康科学大学学位记🏆做个假的文凭可认证吗🏆台湾大学文凭制作🏆托福TOEFL证书定制
哪里可以购买日本群马县立县民健康科学大学学位记🏆做个假的文凭可认证吗🏆台湾大学文凭制作🏆托福TOEFL证书定制哪里可以购买日本群马县立县民健康科学大学学位记🏆做个假的文凭可认证吗🏆台湾大学文凭制作🏆托福TOEFL证书定制
哪里可以购买日本群马县立县民健康科学大学学位记🏆做个假的文凭可认证吗🏆台湾大学文凭制作🏆托福TOEFL证书定制
 
30T.ppt【国外大学文凭样本】TWU毕业证认证Q/微:892798920办西三一大学毕业证留信留服使馆公证,TWU硕士毕业证,TWU研究生毕业证,文凭...
30T.ppt【国外大学文凭样本】TWU毕业证认证Q/微:892798920办西三一大学毕业证留信留服使馆公证,TWU硕士毕业证,TWU研究生毕业证,文凭...30T.ppt【国外大学文凭样本】TWU毕业证认证Q/微:892798920办西三一大学毕业证留信留服使馆公证,TWU硕士毕业证,TWU研究生毕业证,文凭...
30T.ppt【国外大学文凭样本】TWU毕业证认证Q/微:892798920办西三一大学毕业证留信留服使馆公证,TWU硕士毕业证,TWU研究生毕业证,文凭...
 
未毕业在线购买日本神户国际大学学位记🏆学习成绩单电子版定制🏆仿制西班牙大学毕业证🏆香港中学会考证书定制
未毕业在线购买日本神户国际大学学位记🏆学习成绩单电子版定制🏆仿制西班牙大学毕业证🏆香港中学会考证书定制未毕业在线购买日本神户国际大学学位记🏆学习成绩单电子版定制🏆仿制西班牙大学毕业证🏆香港中学会考证书定制
未毕业在线购买日本神户国际大学学位记🏆学习成绩单电子版定制🏆仿制西班牙大学毕业证🏆香港中学会考证书定制
 
快速定制高仿日本广岛修道大学学位记/入学许可证书PDF修改/意大利大学文凭制作/日语JLPT证书定制
快速定制高仿日本广岛修道大学学位记/入学许可证书PDF修改/意大利大学文凭制作/日语JLPT证书定制快速定制高仿日本广岛修道大学学位记/入学许可证书PDF修改/意大利大学文凭制作/日语JLPT证书定制
快速定制高仿日本广岛修道大学学位记/入学许可证书PDF修改/意大利大学文凭制作/日语JLPT证书定制
 
未毕业在线购买日本熊本县立大学学位记🏆学习成绩单电子版定制🏆克隆爱尔兰大学文凭🏆CFA证书定制
未毕业在线购买日本熊本县立大学学位记🏆学习成绩单电子版定制🏆克隆爱尔兰大学文凭🏆CFA证书定制未毕业在线购买日本熊本县立大学学位记🏆学习成绩单电子版定制🏆克隆爱尔兰大学文凭🏆CFA证书定制
未毕业在线购买日本熊本县立大学学位记🏆学习成绩单电子版定制🏆克隆爱尔兰大学文凭🏆CFA证书定制
 
1.💥黑客接单,挑战你的想象力! 🚀💡从最炫酷的黑科技到神秘莫测的代码世界,这里都是你想要的技术。无论是破解密码、入侵系统还是开发软件,我们都能帮你实现!...
1.💥黑客接单,挑战你的想象力! 🚀💡从最炫酷的黑科技到神秘莫测的代码世界,这里都是你想要的技术。无论是破解密码、入侵系统还是开发软件,我们都能帮你实现!...1.💥黑客接单,挑战你的想象力! 🚀💡从最炫酷的黑科技到神秘莫测的代码世界,这里都是你想要的技术。无论是破解密码、入侵系统还是开发软件,我们都能帮你实现!...
1.💥黑客接单,挑战你的想象力! 🚀💡从最炫酷的黑科技到神秘莫测的代码世界,这里都是你想要的技术。无论是破解密码、入侵系统还是开发软件,我们都能帮你实现!...
 
保分服务在SAT考试作弊问题上的应对策略和措施是否充分,如何确保服务的可靠性??
保分服务在SAT考试作弊问题上的应对策略和措施是否充分,如何确保服务的可靠性??保分服务在SAT考试作弊问题上的应对策略和措施是否充分,如何确保服务的可靠性??
保分服务在SAT考试作弊问题上的应对策略和措施是否充分,如何确保服务的可靠性??
 
改GPA申请研究生#大学修改成绩修改 #找黑客改分#修改成绩单听说你想改一改在美国大学的成绩?嗯,我明白你的感受。其实,成绩这事儿也不是说改就能改的,你得...
改GPA申请研究生#大学修改成绩修改 #找黑客改分#修改成绩单听说你想改一改在美国大学的成绩?嗯,我明白你的感受。其实,成绩这事儿也不是说改就能改的,你得...改GPA申请研究生#大学修改成绩修改 #找黑客改分#修改成绩单听说你想改一改在美国大学的成绩?嗯,我明白你的感受。其实,成绩这事儿也不是说改就能改的,你得...
改GPA申请研究生#大学修改成绩修改 #找黑客改分#修改成绩单听说你想改一改在美国大学的成绩?嗯,我明白你的感受。其实,成绩这事儿也不是说改就能改的,你得...
 
【国外大学文凭样本】多大毕业证认证Q/微:892798920办多伦多大学毕业证留信留服使馆公公证,多大硕士毕业证,U of T研究生毕业证,文凭,改U o...
【国外大学文凭样本】多大毕业证认证Q/微:892798920办多伦多大学毕业证留信留服使馆公公证,多大硕士毕业证,U of T研究生毕业证,文凭,改U o...【国外大学文凭样本】多大毕业证认证Q/微:892798920办多伦多大学毕业证留信留服使馆公公证,多大硕士毕业证,U of T研究生毕业证,文凭,改U o...
【国外大学文凭样本】多大毕业证认证Q/微:892798920办多伦多大学毕业证留信留服使馆公公证,多大硕士毕业证,U of T研究生毕业证,文凭,改U o...
 
听说在加拿大,修改大学成绩单是学霸的日常?求秘籍📚,让我的GPA也能像枫叶一样红得耀眼!#加拿大学霸日常#黑客真的可以改业留学#毕业成绩吗?改了#成绩会被...
听说在加拿大,修改大学成绩单是学霸的日常?求秘籍📚,让我的GPA也能像枫叶一样红得耀眼!#加拿大学霸日常#黑客真的可以改业留学#毕业成绩吗?改了#成绩会被...听说在加拿大,修改大学成绩单是学霸的日常?求秘籍📚,让我的GPA也能像枫叶一样红得耀眼!#加拿大学霸日常#黑客真的可以改业留学#毕业成绩吗?改了#成绩会被...
听说在加拿大,修改大学成绩单是学霸的日常?求秘籍📚,让我的GPA也能像枫叶一样红得耀眼!#加拿大学霸日常#黑客真的可以改业留学#毕业成绩吗?改了#成绩会被...
 
003 DSKP KSSR SEMAKAN 2017 BAHASA CINA TAHUN 3.pdf
003 DSKP KSSR SEMAKAN 2017 BAHASA CINA TAHUN 3.pdf003 DSKP KSSR SEMAKAN 2017 BAHASA CINA TAHUN 3.pdf
003 DSKP KSSR SEMAKAN 2017 BAHASA CINA TAHUN 3.pdf
 
【創業簡報練習】當一個人吃飯會想起誰: (A)I-DOLL 陪吃娃娃|科技創業與營運實務
【創業簡報練習】當一個人吃飯會想起誰:(A)I-DOLL 陪吃娃娃|科技創業與營運實務【創業簡報練習】當一個人吃飯會想起誰:(A)I-DOLL 陪吃娃娃|科技創業與營運實務
【創業簡報練習】當一個人吃飯會想起誰: (A)I-DOLL 陪吃娃娃|科技創業與營運實務
 
我曾试图入侵正方教务系统,但我发现它有一些漏洞找黑客入侵电脑,找黑客入侵服务器,找黑客破解密码,怎么找黑客?【微 tytyqqww 信】
我曾试图入侵正方教务系统,但我发现它有一些漏洞找黑客入侵电脑,找黑客入侵服务器,找黑客破解密码,怎么找黑客?【微 tytyqqww 信】我曾试图入侵正方教务系统,但我发现它有一些漏洞找黑客入侵电脑,找黑客入侵服务器,找黑客破解密码,怎么找黑客?【微 tytyqqww 信】
我曾试图入侵正方教务系统,但我发现它有一些漏洞找黑客入侵电脑,找黑客入侵服务器,找黑客破解密码,怎么找黑客?【微 tytyqqww 信】
 
加急代办一个日本秋田县立大学学位记/合格通知书电子版制作/补办国外大学毕业证/CPA证书定制
加急代办一个日本秋田县立大学学位记/合格通知书电子版制作/补办国外大学毕业证/CPA证书定制加急代办一个日本秋田县立大学学位记/合格通知书电子版制作/补办国外大学毕业证/CPA证书定制
加急代办一个日本秋田县立大学学位记/合格通知书电子版制作/补办国外大学毕业证/CPA证书定制
 
1.🔥承接黑客破解任务,你的难题我们来解决! 💡无论你是游戏玩家、企业用户还是个人用户,都能在这里找到满意的解决方案。 💪经验丰富的专业团队为您提供全方位...
1.🔥承接黑客破解任务,你的难题我们来解决! 💡无论你是游戏玩家、企业用户还是个人用户,都能在这里找到满意的解决方案。 💪经验丰富的专业团队为您提供全方位...1.🔥承接黑客破解任务,你的难题我们来解决! 💡无论你是游戏玩家、企业用户还是个人用户,都能在这里找到满意的解决方案。 💪经验丰富的专业团队为您提供全方位...
1.🔥承接黑客破解任务,你的难题我们来解决! 💡无论你是游戏玩家、企业用户还是个人用户,都能在这里找到满意的解决方案。 💪经验丰富的专业团队为您提供全方位...
 
正方教务系统的小漏洞被黑客找到啦~他现在正在偷偷溜进去玩呢!(*^__^*)法国大学挂科改成绩 德国大学挂科改成绩 韩国大学挂科改成绩大学成绩修改,找黑客...
正方教务系统的小漏洞被黑客找到啦~他现在正在偷偷溜进去玩呢!(*^__^*)法国大学挂科改成绩 德国大学挂科改成绩 韩国大学挂科改成绩大学成绩修改,找黑客...正方教务系统的小漏洞被黑客找到啦~他现在正在偷偷溜进去玩呢!(*^__^*)法国大学挂科改成绩 德国大学挂科改成绩 韩国大学挂科改成绩大学成绩修改,找黑客...
正方教务系统的小漏洞被黑客找到啦~他现在正在偷偷溜进去玩呢!(*^__^*)法国大学挂科改成绩 德国大学挂科改成绩 韩国大学挂科改成绩大学成绩修改,找黑客...
 
在中国可以购买日本东京女子大学学位记/做个假的文凭可认证吗/定制马来西亚大学毕业证/CFA证书定制
在中国可以购买日本东京女子大学学位记/做个假的文凭可认证吗/定制马来西亚大学毕业证/CFA证书定制在中国可以购买日本东京女子大学学位记/做个假的文凭可认证吗/定制马来西亚大学毕业证/CFA证书定制
在中国可以购买日本东京女子大学学位记/做个假的文凭可认证吗/定制马来西亚大学毕业证/CFA证书定制
 
为了确保自己的安全和合法权益,我选择购买高品質的假护照、身份证明以及结婚证等证件。这些都是真实有效且具有法律效力的文件【微 tytyqqww 信】
为了确保自己的安全和合法权益,我选择购买高品質的假护照、身份证明以及结婚证等证件。这些都是真实有效且具有法律效力的文件【微 tytyqqww 信】为了确保自己的安全和合法权益,我选择购买高品質的假护照、身份证明以及结婚证等证件。这些都是真实有效且具有法律效力的文件【微 tytyqqww 信】
为了确保自己的安全和合法权益,我选择购买高品質的假护照、身份证明以及结婚证等证件。这些都是真实有效且具有法律效力的文件【微 tytyqqww 信】
 
未毕业在线购买日本长崎县立大学学位记🏆卒业证书外壳什么样子🏆办理比利时大学文凭🏆日语JLPT证书定制
未毕业在线购买日本长崎县立大学学位记🏆卒业证书外壳什么样子🏆办理比利时大学文凭🏆日语JLPT证书定制未毕业在线购买日本长崎县立大学学位记🏆卒业证书外壳什么样子🏆办理比利时大学文凭🏆日语JLPT证书定制
未毕业在线购买日本长崎县立大学学位记🏆卒业证书外壳什么样子🏆办理比利时大学文凭🏆日语JLPT证书定制
 
DIGNITAS INFINITA - 人类尊严 - 教区信仰教义宣言.pptx
DIGNITAS INFINITA - 人类尊严  -  教区信仰教义宣言.pptxDIGNITAS INFINITA - 人类尊严  -  教区信仰教义宣言.pptx
DIGNITAS INFINITA - 人类尊严 - 教区信仰教义宣言.pptx
 

基于Erlang的

  • 1. 基于 Erlang 的 MMO 链接管理服务器 侯明园 御风行数码科技有限公司
  • 2. 目录  问题  MMO 链接管理的特点与需求  整合  Erlang 如何整合入到现有集群系统?  测量  建立基于 erlang 的压力测试环境  实现  Erlang/OTP 如何简化编程?  展望  erlang 在网络游戏开发中的潜力点
  • 5. MMO 链接管理的特点  链接管理的应用场景  MMORPG 游戏服务端结构中包含是那个部分: 登录认证服务,链接管理服务,游戏逻辑服务。 游戏逻辑服务还可以继续进行细分。  通常只有链接服务与客户端直接进行通信,可 以认为集群内是安全的可以预测的计算环境, 外部是实际的不安全的计算环境,这个服务是 逻辑服务器与客户端之间的桥梁和管道。  逻辑服务切换时,用户拥有一个不变的访问点
  • 6. MMO 链接管理的特点(续)  管理集群中所有的来自 client 的链接,将从客 户端收到的消息转发到对应的逻辑服务器, 将 逻辑服务器收到的消息转发到相应的 client , 发出去的包大部分的包是广播,链接服务器负 责处理广播。  路由  广播  安全  功能明确,逻辑比较简单
  • 7. MMO 链接管理的需求  高性能  路由和广播的要尽可能快,保障游戏的流畅感觉  服务端频率 10HZ ,响应时间 <100ms  高并发  连接多,能处理的链接越高越好, MMO 服务器承载的人数对游 戏有重要的意义  大于 5000+  高吞吐量  输出远远大于输入  收到的数量少,需要广播的数据多  高可用性  出故障时间要少  恢复时间要短  95%
  • 9. 整合  整合进入原有的监控系统  兼容原有管理工具  状态报告  维护操作,重启,关闭,查询  数据库访问 mysql 数据库支持  兼容原有网络协议  原有协议是简单二进制协议  引入协议定义语言,自动生成 actionscript , python , C++, erlang 协议编码 解码代码
  • 10. 关于整合的归纳与总结  定义通信标准  如果公司的应用程序想要扎根网络应用领域, 及时你是第一款产品,建立的一个网络协议的 规范和标准,定义语言,也是非常有必要的。  Protobuf , asn , CERL SDL  未来可以进一步建立一种行业标准
  • 12. Erlang 之前  C++&python Client  缺点  远程连接 10+ 机器  管理困难  状态监测困难  代码发布困难
  • 14. Power by Erlang/OTP  监控节点(唯一)  测试配置状态进程 ( global)  测试数据收集进程 (global)  GUI 控制进程  工作节点(多个)  监督进程  多个工作进程
  • 15. Power by Erlang/OTP  run erl as service  发布代码:热代码替换 nl(MODULE).  启动关闭  [rpc:call(N, stress, start, []] || N <-nodes()]  [rpc:call(N, stress, stop, []] || N <-nodes()]  采用 ETS 存储监测信息,不用编写任何代 码即可方便查看  wxPython 绑定,非常快速设计跨平台监控 GUI , wxFormBuilder
  • 16. Power by Erlang/OTP  代码规模  总共 erlang 代码: 2200  注释: 600  所有的进程都是用 behavior,:  gen_server  gen_fsm  gen_supervisor  wx_object
  • 17. 关于测量的归纳与总结  测试先行  Erlang 非常适合搭建分布式测试系统  开发快速  平台丰富  工具完善  管理简单
  • 19. 原有 C++ 版本  非阻塞 socket  状态机 (20 个状态, 26 个事件)  同一个集群中可以启动多个连接管理进程
  • 20. 实现 V1  监听进程( 1 个)  客户端链接管理  所有 Client 进程由一个监 督进程管理  一个进程对应一个进程对 应一个客户端 TCP 链接  一个进程对应一个到逻辑 服务器的链接  进程实现采用 OTP 状态 机  服务端链接管理  所有 Service 进程由一个 监督进程管理  链接 ID 到 PID 映射管理
  • 21. 简单的实现比较 C++ Erlang  代码行数 :7924  代码行数: 2000 线程  逻辑结构方面比较  逻辑结构  单进程  表示连接  状态机  状态机状态减少了:采用进  ( 20 状态, 26 事件) 程来模拟客户端之后  (10 状态, 12 事件)  模式匹配使代码更加清晰  otp 行为模式框架简化程序  性能  性能  6000  6000
  • 22. 优化 调优过程  性能阶梯  一般设计未经优化的 C 程序  一般设计未经优化的 Erlang 程序  良好设计优化过后的 Erlang 程序  良好设计优化过后的 C 程序
  • 23. 监测 Erlang 工具  pman  显示进程列表  包含进程: Pids, Current Function, Name, Msgs,Reds,Size  Etop  类似于 linux 平台的 top 命令  包含 pman 的所有功能  实时更新进程状态,可以属性选择排序
  • 24. 优化 case 1  多链接情况下 +K 非常重要  4000, CPU: 80%~100%  Top 看到 60-70%sy  +K true, CPU 13% ~ 20%  +K true && –smp disable, CPU 9%~20%  原因:使用 epoll
  • 25. 优化 case 2 :数字 ID 查找 PID 问题 方案性能对比  每个连接有一个数字 ID , 查找方 Insert find 案 逻辑服务器的广播包里面 ETS 1.11 8.98 包含一个数字 ID 类别和数 DICT 5.12 9.65 据,网关服务器通过 ID 查 gbtree 1 28.25 找到对应 PID, 这个查找过 Register 80 1 程一度成为瓶颈
  • 26. 优化 case3  LoginProxy 负责从客户 端到 login 服务器转发, 服务端到客户端的转发 ,这有可能造成性能瓶 颈,收到服务端的消息 之后,一般会进行循环 处理,可能会延迟转发 客户端消息,将转发任 务分两部分,一个只负 责从客户端到 logic 服务 器 , 一个负责从逻辑服 务器到 client
  • 27. 结果  OS: CentOS release 5 (Final)  Intel(R) Xeon(TM) CPU 2.80GHz X 2  6500 链接  30000 ~ 40000 packet/s
  • 28. 展望  erlang 在网络游戏开发中的潜力点  热部署  网络游戏服务器维护通常会导致玩家流失如果 Erlang 的热部署能够有效应用那么有可能极大减少 服务器维护的频率和时间  AI  有 AI 实现采用 Lua 协程, Stackless Python 。 Erlang 进程也有类似的特点  运营接口  整合工具