2015年11月9日星期一

一个失败的架构师

今天心情很沉重,我想我总该说些什么。
愧对这么多小伙伴对我的信任。。。
大家梦寐以求的WHV,很多小伙伴的机会、前途、梦想甚至人生计划全因为我而被打乱。。。
我自己其实也一样
山外有山,人外有人,这次竞争的惨烈是我没预料到的。

我毕业到现在做了6年的IT,当然是在体制内,或许也正是因为在体制内让我忘了竞争的残酷。。。
而这也更让我坚定了明年走出体制去外面看看的决心,或许WHV能让我找到人生。。。

还是总结下今天的情况吧:

一、通过早上的情况和服务器日志的查阅,主要现象总结如下:
1. 境内两台服务器根本连不上,连通率<1%
2. 境外服务器也是刷到9:30后逐渐能连上,但验证码图片出不来 
3. 9:50分后验证码图片偶尔能读出
4. 由于长时间高并发 我们境外服务器资源受到限制
5. 9:54---10:05 帮4位用户拿到预约号
6. 10:05左右,名额放完,结束



二、 本次存在的一些问题:

1. 国内服务器连通率极低,造成2台主力服务器无法发挥作用
2. 单一步骤取回失败率较高,针对此情况应调整保存逻辑
3. 有存在15%左右的死进程,需进一步排查原因
4. 选择日期/时间的步骤,如某日期选完仍返回
5. 通过日志分析,发现关键的10分钟内仅有30个请求。数据并发存在严重故障,这也是导致这次没能帮大多数人拿到名额的主要原因。
6. 其他问题还有待进一步分析日志

三、造成上述问题的主观原因
之前,我们将主要精力放在两台国内服务器上,将其作为主力服务器,而境外机新增时间不长,也未考虑到抢购时间滞后问题,长时间高并发性能测试做得不够充分。
程序的结构和逻辑还可进一步优化。


说真的,如果这次是从头卡到结束,不管结果如何,我也问心无愧了。
但这次这最后十分钟的机会,我们确实是存在问题的,今天我个人已经尽全力了,但我们的设备并没有以最优的状态去面对。
这也正是我觉得今天愧对大家的地方。。。

但我觉得,经过这次失败的实战,我们能够分析清楚除了可观原因外的主观因素,也有能力去着手解决存在的问题,那经过充分的准备后,下次我们有信心、有能力以最优的状态去扳回一场胜仗。
如果小伙伴问我下次概率大概是多少,抱歉我无法回答你,无法保证你。我仅仅能保证你我们肯定会吸取教训,重新调整配置、结构,尽最大努力帮你、也帮我自己拿到宝贵的名额。

如果小伙伴希望退出的,我非常理解你们,请你直接淘宝申请退款,我们即时删除您的信息。
如果您愿意再给我们一次机会的,为了表示我的感谢(更多的是抱歉),我可以给您减免1000元。毕竟实事求是地说,这次我们还是存在过错的。
其实攒钱并不是这件事情的主要目的,但我们还是需要成本来配置、优化,希望您理解。

IT的语文水平写的一些文字,各位将就着看吧。

HARRY
NOV 9, 2015


2015年9月17日星期四

使用Navicat管理SAE共享型Mysql数据库

SAE在国内PaaS方面可以说一直是处于领军地位的,如果想用PaaS平台,SAE是不错的选择。


SAE自带的phpMyAdmin版本可能无法满足一些用户的需求,很多人都希望能有个更好的工具来进行数据库管理,最近研究了一下用Navicat的http tunnel来连接SAE的数据库,最终捣鼓成功了,在这里分享给大家。


首先安装Navicat,在安装根目录找到ntunnel_mysql.php文件,将该文件放到自己的项目中,可以自由重命名。


然后对该文件的以下内容进行修改,大约在193行左右:



修改为:



注意将上面代码中的$username和$password定义成你自己想要设置的用户名和密码,这个只是做校验用,下面Navicat连接时会用到。修改好后就将文件上传至SAE,注意该文件要能被访问。


接下来就可以到Navicat里新增链接了,主机名和端口随便填即可,但不能为空,用户名和密码即为上一步的$username和$password,注意修改为自己设置的。



接下来在高级标签里选择使用高级连接,点击添加数据库,数据库名即为下图中红框标出来的部分,可以在SAE自带的phpMyAdmin的界面中看到。






在http标签中选择使用http通道,通道地址即为你项目中该ntunnel_mysql.php文件的路径。



最后点击连接测试,不出意外此时就能使用Navicat来管理SAE数据库了。