摘要: 这篇文章是对之前一篇文章的补充和改进, 创建一个主(master)进程,主进程安装定时器,每隔5分钟检测一次队列长度,根据队列长度计算需要的worker进程, 然后创建或者杀掉子进程。这样做的好处是防止队列堆积,任务得不到及时处理。更新业务代码,只需要reload操作即可。 整个流程有以下知识点: 阅读全文
posted @ 2018-11-04 16:21 gaoqin31 阅读(1526) 评论(0) 推荐(0) 编辑
摘要: 一.概述 项目是棋牌,web架构是典型的lnmp,server产生的牌局通过http协议请求webserver,由php分析并持久化到mysql,中间参杂了很多业务逻辑,整个流程耗时平均接近2s。 这种方式存在以下2个问题 1.整个流程是同步的,server会一直等待php响应,一旦server处理 阅读全文
posted @ 2018-08-28 19:47 gaoqin31 阅读(2601) 评论(0) 推荐(0) 编辑
摘要: 一.发布系统要解决的问题 一个比较完善的发布系统首先肯定是要能发布文件,其次当发布出现问题时要能支持撤销,避免长时间无法解决问题影响产品的正常运营。对于发布脚本语言如PHP,shell加入语法检查,有语法错误阻止本次发布。 二.原理 我们正在使用的发布系统基于PHP+shell开发,发布的时候填好文 阅读全文
posted @ 2018-07-28 19:06 gaoqin31 阅读(821) 评论(0) 推荐(1) 编辑
摘要: 策略模式属于对象行为型的设计模式 定义 :封装了一些列算法,它们之前可以相互替换,此模式使得算法的改变,不会影响到使用它们的客户端 策略模式有以下3个角色组成 抽象策略类 : 所有策略类的父类,为所支持的策略算法声明了抽象方法 具体策略类 :实现抽象策略类的方法 Context环境类 : 维护一个对 阅读全文
posted @ 2017-10-16 19:33 gaoqin31 阅读(218) 评论(0) 推荐(0) 编辑
摘要: 工厂设计模式又分为简单工厂模式,工厂方法模式,抽象工厂模式 简单工厂模式 : 简单工厂模式是属于创建型的设计模式,又叫做静态工厂方法模式,但不属于23种GOF设计模式,简单工厂模式是由一个工厂决定创建哪一类产品的实例,简单工厂模式是工厂模式家族中最简单实用的模式,可以理解为是不同工厂模式的一个特殊实 阅读全文
posted @ 2017-09-30 17:15 gaoqin31 阅读(176) 评论(0) 推荐(0) 编辑
摘要: 一.单一职责 定义: 一个类承担的职责不宜过多,或者说就一个类而言,应该仅有一个引起它变化的原因 如果一个类的职责承担过多,如果涉及到其中每一个职责变动的时候,都要修改这个类,而且在我们要复用这个类中的其中一个职责的时候也没法做到复用。 看到项目里经常有把请求第三方接口的curl方法写在当前类里,比 阅读全文
posted @ 2017-09-28 19:54 gaoqin31 阅读(286) 评论(0) 推荐(0) 编辑
摘要: 前言 今年接手的一个计费项目让我痛苦不堪,里面到处充斥着重复冗余的代码,一个简单的需求往往需要改n个地方,而且很多改动牵一发动全身,这个项目涉及到支付,出问题就是损失银子的问题。虽然我不会写出如此难维护的代码,并且平常也用到了一些设计模式,比如工厂,策略,但是我觉得还是很有必要系统学习下面向对象方面 阅读全文
posted @ 2017-09-22 19:06 gaoqin31 阅读(361) 评论(2) 推荐(1) 编辑
摘要: 一.简介 http请求只能由客户端主动发起,服务器响应的模式, 服务器无法主动向客户端推数据,websocket的出现完美的解决了这一问题。websocket和http处于同一层,都是基于TCP协议的,客户端和服务器使用websocket通讯的时候需要握手和传输数据两步,握手借助http状态码101 阅读全文
posted @ 2017-08-10 11:35 gaoqin31 阅读(467) 评论(0) 推荐(0) 编辑
摘要: 如果说php是世界上最好的语言,那么javascript无疑可以称为世界上最飘逸的语言,最近看了下jQuery的源码,实现了一个简陋的jQuery。我觉得要看懂jQuery整体结构,需要搞懂js作用域链,闭包,js prototype继承,关于闭包网络上的定义实在太多了,这里参照了js权威指南里的定 阅读全文
posted @ 2017-07-21 18:07 gaoqin31 阅读(183) 评论(0) 推荐(0) 编辑
摘要: 利用shell脚本定时扫描线上服务是否开启,发邮件到相关人的邮箱。需要安装nmap yum install nmap 。 阅读全文
posted @ 2016-09-27 14:57 gaoqin31 阅读(182) 评论(0) 推荐(0) 编辑