Weitere ähnliche Inhalte
Ähnlich wie Advanced php programming
Ähnlich wie Advanced php programming (20)
Advanced php programming
- 5. Web开发
业务开发模式
路由框架
模板引擎
- 8. 服务
• 通用服务
– 不局限于通用服务
• 划分为一个模块还是一个服务?
– Fe在前端做处理,还是rd在后端处理
– 性能,稳定性方面
– e.g.,新首页的并行调度
• 模块内业务来实现,还是剥离出个服务?
– 性能,稳定性,php是否适合做?
– e.g.,新首页导航自动分类
• 做为一个lib还是作为一个服务?
– 多大通用性?开发成本?
– Memcached冗余,扩容
- 11. 打好日志
• Logid
• 交互日志
– Backendip,耗时,主要参数
• 哪些要打warning
– Warning日志对应于异常逻辑
– Warning日志不作为出错的强依据
• 哪些要打fatal
– 逻辑执行不下去了,要打fatal
– Fatal是出错的强依据
• 一条fatal就意味着对用户一次500或者404
• 哪些抛Exception
– 逻辑执行下去了再exception
– 也就是一个exception对应于一条fatal
– 在基础库上做个封装,统一catch exception
- 14. 关注性能
• Php性能
– Eacc/APC之类的opcode cache
– 自动加载的优化
• 代码性能
– Php没有过多的编译优化
– Rd需要关注代码性能
• 性能出问题的地方
– 大部分时候都不是代码写的太烂
– 查清楚db,后端服务等对php耗时的影响(就那么多cpu)
– 代码结构的问题
• 发现
– Xhprof
– xdebug
• 优化
– 优化代码结构,架构
– 扩展化
- 16. 模块/异步提交划分的case-baike
user
w/
Webserver1
guanxi/
webserver2 webserver2
webserver3
Rewrite规则分到指定app
Rewrite规则分到指定app
Rewrite规则分到指定app guanxi
Search
Relation Lemma Category RS
Action Action Action
PageService PageService PageService
DataService DataService DataService DataService
Dao Dao Dao
CM Antisapm HttpProxy DB Pic Message
MQ Transfer webserver4