varnish如何建立高效的缓存规则

网站一般都会分为计算机站(俗称PC站)、移动站,并且使用不同的域名来为不同的设备类型提供服务。例如 :计算机访问使用域名: www.xytong.cc,移动设备访问使用域名:m.xytong.cc.如果有移动设备访问www域名(或计算机设备访问m域名),则用http 301跳转至m(或www)域名保证访问的一致性。

这种情况比较多见,例如京东,淘宝都是这样处理的。

varnish处理缓存也比较方便,只需要根据url进行缓存就可以了。

default.vcl可以这样处理:

继续阅读“varnish如何建立高效的缓存规则”

消息队列redis部署,以及在实际场景中使用

    接上一节的继续,上一节说过了因近期接手其他部门项目,发现诸多问题.关于mysql 并发 处理已经讲过,没有看过的同学可以去这里:http://xytong.cc/archives/87 。
    本节讲讲如何正确地处理消息队列,此项目后台进程消息传递用的memcacheq,出现了很多问题列举如下:

mysql如存在并发修改可能,一定要注意保证数据一致性

       近日,因人员调整接手了一个其他部门负责的项目。随后发现其中的很多关键环节是没有考虑mysql并发操作的,现列出存在的一例问题 并分享如何解决的。

 

问题描述:

  用户账户余额转移赠送 (用户A将自己的账户剩余金额赠送给用户B),同一时刻还可能存在用户A消费操作(例如赠送操作在app,消费操作在手机站)。

svn 分支使用,在实际应用中的经验

对重要的web项目最好是使用主干+分支来进行版本管理。

在我负责的项目中,用上述方式管理web项目代码 的好处:
1.及时的版本控制,项目组内成员可以在分支及时进行代码同步,不用担心影响生产环境。
2.项目某功能开发完毕后,通过merge+commit+update操作,可以快速向线上环境 发布代码。
3.有利于权限分割,比如前端人员只 在分支目录有读写权限。
生产环境 目录读写权限分配给运维人员+后台人员就可以了。

继续阅读“svn 分支使用,在实际应用中的经验”

支付宝服务窗接入常见问题说明

近日将一产品接入支付宝服务窗,接入过程遇到几点磕绊,记下也为后来者有所借鉴。支付宝服务窗无论界面到技术接入,同微信公众号相似度还是比较高的,做过公众号接入的,服务窗接入就是轻车熟路了。

继续阅读“支付宝服务窗接入常见问题说明”

php 执行超时问题探讨分析

前一段,查看php-fpm.conf 定义的slow log,发现有很多的执行超时,记录格式如下:
[26-Apr-2016 18:02:16] WARNING: [pool www] child 7883, script ‘/***/index.php’ (request: “GET /index.php”) executing too slow (56.565008 sec), logging
从日志记录的结果看,此请求执行了56秒多。但是查看php.in 定义却发现max_execution_time = 5,顿感好奇,最大执行5秒为何为执行了近一分钟呢?这个max_execution_time 难道定义的不是请求执行时间吗?遂去google了一下。

继续阅读“php 执行超时问题探讨分析”