2011php技术高峰论坛演讲-张宴

上传人:j7****6 文档编号:61608893 上传时间:2018-12-06 格式:PPT 页数:29 大小:4.41MB
返回 下载 相关 举报
2011php技术高峰论坛演讲-张宴_第1页
第1页 / 共29页
2011php技术高峰论坛演讲-张宴_第2页
第2页 / 共29页
2011php技术高峰论坛演讲-张宴_第3页
第3页 / 共29页
2011php技术高峰论坛演讲-张宴_第4页
第4页 / 共29页
2011php技术高峰论坛演讲-张宴_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《2011php技术高峰论坛演讲-张宴》由会员分享,可在线阅读,更多相关《2011php技术高峰论坛演讲-张宴(29页珍藏版)》请在金锄头文库上搜索。

1、PHP在金山游戏运营中的应用,张宴,30分钟,议 题,PHP在金山游戏官方网站()中的应用: 、PHP团队协作开发; 、PHP系统架构应用。 PHP在金山游戏运营系统 Keyes 中的应用: 、分层架构设计模型; 、通用性API接口设计。,PHP在金山游戏运营中的应用,PHP在金山游戏官方网站()中的应用,PHP在金山游戏运营中的应用,PHP团队协作开发环境,团队协作,多人同时开发一个PHP项目时,开发环境、测试环境,如何即满足每位程序员的快速调试需求,又做到版本控制?,PHP在金山游戏运营中的应用,PHP团队协作开发环境,PHP在金山游戏运营中的应用,PHP团队协作开发环境,PHP在金山游戏

2、运营中的应用,开发了协作开发环境 配置工具:XDevelop,PHP团队协作开发环境,在自己的电脑上,修改完一个文件(例如:phpinfo.php),即可马上用浏览器运行、调试;,PHP在金山游戏运营中的应用,设置“C:WINDOWSsystem32driversetchosts”为本机IP: 127.0.0.1 ,本地调试没问题后,再提交SVN;,提交到SVN后,自动同步到Linux测试服务器,供后续测试。,PHP团队协作开发环境,PHP在金山游戏运营中的应用,在Windows上编写的PHP代码文件,用Linux环境的PHP(FastCGI)来调试,保证了开发环境、测试环境、生成环境的统一;

3、,整个PHP开发环境、测试环境,即保证了程序员的快速修改、调试代码需求,又保证了整个代码都在SVN版本控制之中。,PHP代码的统一性保证,PHP在金山游戏运营中的应用,“开发环境线下测试环境线上测试环境线上正式环境”,连接的MySQL、Memcached、接口IP、端口各不同,程序员一头雾水,经常改错配置文件或忘记修改,如何解决?,谁最了解各种服务器环境的配置?系统工程师。,那么,为什么不分离?,PHP代码的统一性保证,PHP在金山游戏运营中的应用,解决方案:自行开发“配置管理后台+PHP扩展”,通过实现一个函数kae_config(),在不同的服务器环境,可以获取到不同的配置信息,保证PHP

4、配置文件不用因环境不同而修改。, array ( host = mysql_name_masterhost.“:“.$mysql_name_masterport, username = $mysql_name_masteruser, password = $mysql_name_masterpass, ), slave = array ( host = $mysql_name_slavehost.“:“.$mysql_name_slaveport, username = $mysql_name_slaveuser, password = $mysql_name_slavepass, ), );

5、 ?,PHP代码的上线发布与回滚,PHP在金山游戏运营中的应用,将上线发布的版本号(例如:2.1.46),与SVN版本号(例如:r21909)相对应,建立拥有Web界面的PHP代码发布系统。,代码的发布上线,可由项目负责人(工程师)自行完成,一般无需系统工程师的协助。,PHP代码发布系统,PHP在金山游戏运营中的应用,PHP代码发布系统,PHP在金山游戏运营中的应用,PHP与开源产品、C/C+程序的结合,PHP在金山游戏运营中的应用,方式一:利用PHP客户端扩展,通过TCP协议与C/C+开源程序进行通讯(例如,与Sphinx搜索、分布式图片处理系统、TT、Memcached通讯);,PHP与开

6、源产品、C/C+程序的结合,PHP在金山游戏运营中的应用,方式二:利用fsocketopen()、file_get_contents()、cURL等函数,通过HTTP协议与C/C+开源程序进行通讯。(例如,与我们自行开发的开源简单消息队列软件:HTTPSQS【http:/ Web程序中的异步处理,PHP在金山游戏运营中的应用,在PHP Web程序中,发送手机短信、电子邮件、转换视频格式、记录日志、数据挖掘采集等,都是比较耗时的操作。,为了增强用户体验,需要将这些操作转为异步执行。,PHP Web程序中的短耗时异步处理,PHP在金山游戏运营中的应用,前提:使用Nginx+PHP(php-fpm

7、FastCGI)架构。,PHP-FPM 提供了fastcgi_finish_reques()函数。,PHP Web程序中的短耗时异步处理,PHP在金山游戏运营中的应用,fastcgi_finish_reques()函数的缺点:,PHP FastCGI 进程数有限,正在处理异步操作的php-cgi进程,无法处理新请求;,如果并发访问量较大,php-cgi进程数用满,新访问请求,将没有php-cgi去处理。Nginx服务器会出现: 502 Bad Gateway。,PHP Web程序中的长耗时异步处理,PHP在金山游戏运营中的应用,使用简单消息队列,来解决长耗时异步处理:,PHP在负载均衡架构中的

8、约束,PHP在金山游戏运营中的应用,PHP在Web服务器负载均衡架构中的约束,PHP在金山游戏运营中的应用,数据对象的缓存,用APC、Memcached代替;,PHP Web程序,不在Web服务器上生成html静态文件、PHP文件、缓存文件;,HTML输出网页的缓存,用前端的Nginx负载均衡软件,来实现;,优点:Web服务器上,PHP文件能够通过代码发布系统统一管理,增、删Web服务器,非常快捷;清除缓存,能够由系统工程师去统一管理。 不经过代码发布系统生成、修改的PHP文件,Web服务器自动禁止执行,做到防篡改、防挂马。,PHP在Web服务器负载均衡架构中的约束,PHP在金山游戏运营中的应

9、用,如果需要记录Session会话,在负载均衡服务器上做IP哈希,或在PHP Web服务器上做Session共享,必不可少。,PHP在金山游戏运营系统 Keyes 中的应用,PHP在金山游戏运营中的应用,界面、接口、支撑,分层架构设计,PHP在金山游戏运营中的应用,PHP、C程序的交互,PHP在金山游戏运营中的应用,数据交互设计,运营指令(修改经验倍数、踢人、发消息广播、启动游戏、停止游戏、更新游戏程序、更新配置文件、并服) 步骤: 服务器监控(CPU、磁盘、内存、进程数、系统负载、游戏服务端进程是否存在等) 步骤: 游戏心跳检测(Ping包检测,确定游戏是否正常运行) 步骤: 游戏在线人数(查看游戏总在线人数、各地图在线人数) 步骤:,两个步骤表示KingEyes“管理界面”通过AJAX轮询请求“功能接口”获取返回信息。,一套程序兼容不同游戏的服务端架构,PHP在金山游戏运营中的应用,派大巴车来接啦!,KE游戏运营平台,与游戏进程交互的初期接口设计方案,一套程序兼容不同游戏的服务端架构,与游戏进程交互的正式接口设计方案,KE游戏运营平台,丁,丙,乙,甲,接口犹如道路。 不限制交通工具,但需要受交通规则的约束。,(满意),(满意),(满意),(满意),一套程序兼容不同游戏的服务端架构,PHP在金山游戏运营中的应用,以游戏服务端程序的每一个进程为单位,进行通讯。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号