设为首页 收藏本站
查看: 640|回复: 0

[经验分享] php技术大会个人所学总结(转载)

[复制链接]

尚未签到

发表于 2017-3-30 08:10:47 | 显示全部楼层 |阅读模式
1.webmatrix 形如frontpage类似的生成php .net站点的工具。

2.php在淘宝的搜索的前端的使用,淘宝虽然以前全站都是java做的业务逻辑,但是最近几年也大型使用php作为前端业务逻辑,后端采用java+c实现一些服务和接口。既然是走接口,就基本上是http,但是同时请求几个http接口的时候,由于php没有多线程的概念,必须顺序执行,所以淘宝用了curl的并发请求来减少接口访问等待时间,具体的请参看博客 http://www.searchtb.com/2010/12/using-multicurl-to-improve-performance.html

淘宝搜索的架构:

(php+apache电信、网通、教育网cdn)——>memcache————->搜索接口

3.腾讯微博的总结:
存储:微博上碎片的小信息的存储,采用腾讯自己开发的一套存储系统,TLV格式(介绍),就是type+length+value,可以像mysql的静态表那样把所有的信息都设置成定长的,这样有利于程序和磁盘寻址找到数据。存储的数据按照热度分别存放在内存(一两天的数据)——–>ssd(几周的数据)——–>一般的磁盘,这样可以保证热数据的获取的速度。

分层设计:底层只实现数据接口,理论上应该是原子操作,不涉及业务逻辑,上层负责各种业务逻辑、数据分发、数据展示等工作。保证每一层的的修改不影响其他层,也就是和http的四层透明代理一样。

cache设计:每一层都有cache设置,保证上一层的cache失效后不会把后端的全挂掉,当上层有了数据修改,通过触发器的方式来刷缓存。

数据交换和分发:由于微博的特定性和腾讯的超级长的战线,微博数据需要同步到很多地方,采用一种腾讯内部的UDP协议传输——OIDB,为什么采用UDP,首先是UDP比TCP的传输快很多,其次可能是因为客户端的原因。

4.php在金山游戏运营中的使用

张宴上来就讲了他的一个新的团队开发的模式,在window下开发,用linux调试,应该是本地windows的nginx用fastcgi的方式跑linux下的服务器的php,然后在linux下挂载windows的共享目录,实现代码的实时调试,并且保持svn的控制。这个个不错的调试方法,既保证了svn,又能快速在windows上开发,用linux的真实环境运行,一举三得。

各种语言之间的协同,php和c、c++等写的程序,通过一些协议进行交换,一般是http协议或者mc等封装协议

5.惠新宸,php在百度的使用情况

总结1:目前百度、新浪等大公司都有了一个特殊的平台,在新浪叫动态应用平台(以及有开放给外面使用的sae),百度有bae,都是提供一定规范的php+apache+mysql+cache+存储的环境服务,所有的小项目都可以到上面去运行。这样有很多好处,首先是运维工程师解放了,他们再也不用为每个应用单独配置特殊的服务器了;其次是突发流量、ddos等的时候可以水平任意扩容。

总结2:php为什么慢,因为php到最后的汇编指令要比c、c++等程序多10倍,这个是导致程序慢的根本原因。但是php到底是不是当前互联网的速度瓶颈?当前互联网的瓶颈应该是IO——网络IO、磁盘IO等。

总结3:facebook的hip-hop的优化的最根本的原理,php里面的所有的变量、函数都存放在一个关联的数据结构里面,当我们使用一个变量、一个函数的时候,都需要从里面查询一遍,这个很慢,hip-hop就把这个符号解析给拿掉了,使寻址速度更快。

总结4:百度的Ap框架,就是用php的扩展实现一个php的框架,比用php写的框架快,原因还是符号寻址的问题。

刘晓震,新浪博客的架构

新浪博客的架构

新浪博客使用的是最经典的架构

f5—->nginx—->apache+php->memcache—->mysql(或者key-value的mdb)

具体的如下

http://www.phpchina.com/?action-viewnews-itemid-38418

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-357332-1-1.html 上篇帖子: php中的两个DI解决方案 下篇帖子: 论PHP代码的优与劣
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表