Month: 12月 2014

2014 年度盘点

每年的惯例要保持, 不过本篇其实没来得及在 2014 完成, 那就在 2015 的开始尽快写完, 然后偷偷把时间改到 2014 年来发吧

流水账

一月, 从阿里离职, 加入 “我朋友和他的朋友们的公司”, 哦哈哈, 去了趟天子地, 回家过年
二月, 过年值班, 陪阿里开始在千牛上折腾
三月, 折腾新办公室装修
四月, 陪喵去桐乡见同学然后去乌镇小玩了一圈, 跟公司坐船游了次西溪, 驾照换到杭州
五月, 团队去千岛湖休整了一段, 第一次违章, 跟车闯红灯被扣六分
六月, 千牛团队自己发现玩脱了回到我们一开始提的方案, 几个月的折腾白做了, 看世界杯
七月, 继续看世界杯, 德国终于冠了, 喵爸妈来杭州, 陪玩
八月, 算是跟家里都谈好了, 那么就准备领证, 去看房子, 公司去厦门玩
九月, 还在折腾买房的各种问题, 把户口档案迁来杭州
十月, 去爬了一次西湖旁边那堆山
十一月, 第一次以服务商身份参与双十一, 去北京取掉公积金剩的钱
十二月, 平淡无奇的双十二, 挖个新坑自己跳, 各种折腾过年回家婚礼的事

工作

在公司补贴的情况下把自己的生产工具换成了 rMBP 13, 日常使用已经倒向了苹果阵营, 虽然还有留着 X200 和虚拟机跑 Win, 但大部分时间都没在用了. 基于 UNIX 的 OS X 在开发上确实要方便很多, 各种环境直接在本机搭建测试, 不用再跑虚拟机, 而且需要的开发工具也还挺完善的

上半年大部分时间在跟淘宝的千牛死磕, 耗了一大段结果被晃点了, 不过也算是通过这个了解了怎样在目前团队去开发测试以及跟淘宝扯皮. 下半年一是继续我们的每年一重构, 重构一整年的节奏, 把影响开发效率和性能的一部分主体重构了下, 然后到双十一双十二的时候跟着做性能调优. 快年末时去尝试了些新东西, 不过目前看效果都还不咋滴. 全年做了各种辅助生产力和客服效率的小工具, 现在已经不是手里有锤子看谁都是钉子, 而是看哪里都是钉子要给在这边呆着的人造把好锤子

生活

今年好好呆在去年租的房子里没挪窝, 从阿里离职后办了小区里每月 100 的停车包月, 最后发现还是要卡点回去才能有空位, 忍了半年受不了还是到小区后有人看守露天停车场一个季度 800 块钱放着了. 全年花费在车上面保险和停车的钱随便哪个都比油钱多的样子, 由此可见全年大部分时间还是趴在杭州城区, 去二保的时候才开了八千公里不到, 太浪费了

平日该吃吃该喝喝, 衣食住行基本没操过心, 所以在生活上似乎都想不起来能记的点

学习

今年看了些杂书, 很多是关于交互的, 主要还是想自己如果去做东西, 到底应该做什么样的东西才能跟目标客户互动起来, 怎样的交互设计是最不用让别人费脑子直接能获取到自己想要对方明白的那一点. 从大的方面说, 这个更像是去学习洞悉人性

闲时刷知乎, 看各种问答了解这个世界的丰富多彩, 也在了解不同的思维方式和各人偏好, 不过好像都没有什么特别的个人总结看自己到底提升了些什么

自己在技能树上乱点了一堆奇怪的点, 比如今年办公室装修, 跟着研究怎么布局啥的, 年末死猫君又召集搞票, 改用 Go 写, 又去看了下这个最近开始越来越火的语言

自己感觉这一年思维上最变化最大的是去阿里走了一圈, 再出来以一个合作方的角度, 去看阿里和围绕阿里的整个生态系统, 开始理解马云等领导层做一些决定的动机和结果, 虽然最终我还是不喜欢这个公司和这个公司里面的很多人, 但是既然还靠着阿里吃饭, 多了解下也没坏处, 世界这么险恶, 知晓他人的阴暗才能更好的走自己的阳光大道

锻炼

某一段为了督促自己锻炼, 还去买了 runtastic 的应用, 来测做俯卧撑/深蹲/仰卧起坐, 到冬天早上起来太冷, 后面也经常送喵上班, 也慢慢荒了, 而且按熊的说法, 我的锻炼其实各种不标准, 起不到太多锻炼的作用. 买车后骑自行车也少了, 常年放在公司胎都要没气, 拉喵出去骑车也是各种犯懒犯困

体重没有增加, 但是也没有下降, 到底是自暴自弃就这么样了, 还是继续给来年做个规划?

活动

得益于在灵活的小团队, 出游似乎比前两年多了很多, 只是因为我们为了避开人群高峰, 一般都挑工作日出行, 所以绝大部分时间都没能带上家喵一起, 这个倒是遗憾. 全年去了杭州西边桐庐的天子地爬山, 乌镇走马观花, 西溪湿地西区游船, 千岛湖自驾休整, 苏州一日自驾, 安吉漂流, 厦门访客, 城西爬山, 灵隐瞎逛, 大部分都没有记录, 只有去厦门写了一篇 厦门之行

杭州城很多可以玩的地方, 也只是在周末喵不用补觉的时候出去溜达了下, 来了一年半了, 反倒在 2014 最后一天陪同学去了趟灵隐寺景区而且还没进需要单独买门票的寺

败家

今年最大的支出项是买房, 还记得快十年前第一次来杭州, 当时感慨怎么房价就上万了, 毕业后一年拿个十五万应该算不错了吧, 结果现在一看, 靠谱点的房子没个两百万根本拿不下. 其他的支出大头似乎就是在准备婚礼的各项事情. 本年度没有大的数码产品败家行为, 给喵买了个 iPad mini2, 给喵换了个红米 Note, 买了几块 SSD 和移动电源

继续坚持了一年的记账, 在随手记上不知道又多了多少条目, 也得益于随时记账, 很多事情过去了还能记得起来

理财

去年的投资分布是 银行理财/余额宝/美股/一些人情借款. 今年因为打算买房, 把美股都出掉换回来了, 扣掉各种转账手续费收益能有 15%? 本金不多, 其实也没赚几个钱. 发现银行理财利率也不高, 流动性也差, 今年把这部分钱换到了 P2P 借贷上, 投资项目比较分散, 把周期和风险摊开来, 保证自己能在有需要时能比较快的回钱. 余额宝和活期只留了保证基本的流动性的额度, 主要还是买房后没什么钱, 也没必要保持太大份额的流动性资金. 人情借款基本照旧, 果然是人情

理财上还是走的懒惰路线, 没去折腾, 因为懒得折腾和没时间精力去折腾, 有很多钱事后看倒是可以赚, 但是事前谁知道呢, 没有那个胆去博. 安心点 (其实就是不求上进) 的安慰自己 “命里有时终须有” 吧

Debian 7.0 下的 openswan 版本有问题

在 DigitalOcean 上买的 VPS, 兼做个人翻墙用, 但是上面的 VPN 配置总是出问题, 按教程重新走了两遍还是不行

相关教程: 如何在 Debian / Ubuntu 服务器上架设 L2TP / IPSec VPN

找了很久终于还是揪到问题的根源在 openswan 的版本上, Debian 7.0 上最新的是 1:2.6.37-3+deb7u1, 如果默认 apt-get install openswan 就是这个版本, 但这个版本有问题, 用 Debian openswan l2tp 2.6.37 搜索就能发现一堆人吐槽

Debian 的 Maillist 里有人提到过: L2TP/IPSec on Mac OSX stop working after openswan upgrade [with patches], 在 BugTrack Debian Bug report logs – #744717
openswan: After wheezy security update from version 1:2.6.37-3 to 1:2.6.37-3+deb7u1 stop working L2TP over IPSEC from Mac OS and IOS devices.
里翻到解决方案, 那就是降级. 直接执行如下命令, 连重启服务都不用

sudo apt-get install openswan=1:2.6.37-3

想着这个 bug 存在都好久了, 怎么 Debian 官方还不修复, 于是在刚才那个 BugTrack 里还翻到说 Debian 上的 openswan 已经不再维护了, 建议更换成 strongswan, 相关 BugTrack 见 Debian Bug report logs – #736557
RM: openswan — RoQA; unmaintained, RC-buggy

本着不支持的模块就弃用的想法, 安装 strongswan, 然后安装过程中提示 /etc/ipsec.conf 不一样, 对比了下配置项变的还挺多, 特么对笨狗这种伸手党来说谁知道哪个配置是什么意思啊, 折腾了一会发现还是嗝屁. 罢了, 还是乖乖退回 openswan 1:2.6.37-3 吧, 果然一退回就好了…

总结下教训:

  1. 不懂的东西还是要多问多搜, 伸手党也要伸的有姿势
  2. 没事默认用最新版本也是有问题的, 特别遇上这种不维护且最新版本还是有问题的包
  3. Linux 选对发行版很重要, 坡在 Ubuntu 14.04 上默认是 2.6.38 就没这问题了

Linux 发行版真是各种圣战… 当年选 Debian 就是被 buyvm 128M RAM 的机器压迫的, 新 VPS 默认配置下可用内存最大. 要不要按照知乎这个问答改用 CentOS 呢?: 服务器操作系统应该选择 Debian/Ubuntu 还是 CentOS? 貌似天朝民间各种衍生工具上支持度更好的还是 Ubuntu, 毕竟图形界面上手难度小, 有大量小白用户, 然后很多工具也都默认跑 Ubuntu (比如民间版迅捷?)

另外, 应该有各种使用 strongswan 来架 vpn 的教程了, 不过好像比较难找到

最后, 给自己的 DigitalOcean 导流链接做下广告吧, 5$/mon 的 512M RAM VPS, 优势是全 SSD, 部署快, 缺点是只有旧金山机房比较靠谱, 新加坡机房在国内某些线路下非常不稳定

https://www.digitalocean.com/?refcode=e922d4ed228c

年前买票完成

昨天刚继续吐槽了下买火车票, 今天就出事了

鉴于前两天用 UC 抢票没抢着, 考虑干恶事还是找流氓, 在虚拟机里装了个 360 浏览器. 打开看了下人工抢票还是一样的方式, 只是 360 好像把验证码自动识别填写做上去了, 果然还是要狠一点. 离线抢票看着就是猫君那一套了, 差别只在不能选预售期以外的, 车站车次做了下实时获取

上午 12306 做了个灰度更新, 验证码换了个样式, 之前的自动识别验证码估计要全挂

上午杭州东放票的时候, 不管是人肉还是 360 在线, 都撞上 HOST 没及时更新的坑, 压根没刷出来票, 离线抢票也挂了, 家喵在单位电话订票也没定上

转战下午上海南始发的票, 15:00 左右开始 12306 网站就各种不稳定登不上了, 快到 15:30 的时候看这网络怎么也不靠谱, 直接上电话打 95105105, 奇怪的是明明是上海南放票的时间, 怎么打杭州的电话会系统忙, 加 021 区号反倒很容易拨通, 咔咔给家喵定好回家的票, 大事落定方可心安

随手刷了下 12306 网站还是挂, 15:34 左右再拨电话订票, 居然还定到一张… 这, 好像不太好跟家里磨叽说我过年自己开车回去了?

定完两张票, 用手机 12306 刷了下居然还能看到余票两张, 不过提交订单的时候已经提示没了

想说什么呢?

  • 12306 网站, 电话, 手机 APP 都可以订票, 东边不亮西边亮, 多试下
  • 有一个渠道挂了的时候反倒是利好, 立马转别的渠道, 可能票额更多
  • 电话加不加区号还是有差别, 查好自己坐车铁路局管辖范围内的不同区号, 大城市的线路多拨通率可能会高点 (也可以反其道找没人的小地方)
  • 每年面对各家奇葩的抢票工具, 12306 应该还是留了几手的, 看什么时候放大招, 上午换验证码算一招, 下午自己挂了应该是用力过猛

补遗: 12306 和火车票那点事

两年前在北京折腾 12306 时写过一篇 12306 和火车票那点事, 后来想想还列了一堆东西可以写, 不过后来忙忘了 (其实就是懒…), 现在反正都过时了, 再列出来看看当时的一些吐槽现在是不是还有效 (下面说的都是 2013 年 2 月记录的内容, 关于 2013 年春运, 本文写于 2014 年 12 月, 关注 2015 年春运)

当时觉得 12306 可以提升的几点

  • 订票流程中随机步骤验证码插入, 以更多的抵抗机器行为

这个没法更好的插入, 今年 12306 干了个比较狠的事情, 如果你频繁切换 HOST 去查, 他会随机返回一个查询失败并且把你踢出登陆状态, 后面就算查到票要定时你还得重新登陆, 其实就是随机验证码插入

  • 提前显示票仓, 提升透明度

这个无解, 更透明就意味着没法人为操纵, 万一有突发事件了估计都没法周转. 而且现在是网络和电话提前 60 天卖票, 窗口和代售点延后两天, 还要考虑票额分配比例是否要动态化

公众关心的问题

  • 退票成本太低是当前游戏规则里的最大问题, 导致黄牛可以去刷票抢坑, 退票后再买给要转的人

2013 年底的时候退票费改革了一次, 2014 年底跟着预售期延长又改了一次, 某些程度上把退票成本拉高了 (但是还是有很大漏洞, 具体自己研究就好, 点到为止). 更狠的是退票后不马上退回票仓放出来, 这个就会导致退出来的票不一定自己能买到, 黄牛的压力还是变大了的

  • 开放给第三方的问题是没法保证 “公平性”, 而且, 这不就是代售点么?

目前来看还没有第三方敢去接这个明显供不应求的市场机制, 传闻 12306 也找过 BAT 的人, 做过大规模系统脑子正常的人都婉拒了, 阿里在排队系统上给了建议和帮助, 不过也还是没能解决本质上票不够的问题

  • 公知嘴脸: 铁道部亏钱就是浪费国家资产, 铁道部赚钱就是搜刮民脂民膏, 火车坐的人太多票价低是要担社会责任, 坐的人少票价贵是坑爹

过了两年, 现在公知似乎更像是贬义词了? 不过随着动车越来越多, 公知们又可以有不同的喷点

之前说可以参考下印度的机制, 不过从上面这个长微博里提到的情况看, 大部分时候还是我们对其他机制想的太乐观了…

一些抢票建议

  1. 使用 http://dynamic.12306.cn/otsweb/ 登陆
    a) 不要 https, 坑爹的证书不会用就不要乱来嘛, 而且这样之前 github 被拖挂也不存在了
    b) 不要直接从 12306 主站进, 外面套一堆花花绿绿的不烦么

这个地址已经不能用了, 12306 切了一套全新的, 而且现在就算用 http 也会被强跳到 https

  1. 多开浏览器是有用的
    a) 不确定浏览器的缓存机制, 总之 Chrome/Fx/IE 什么的能开的都开上
    b) 不同浏览器建议用不同的策略

这个还是有点用的, 但是用途不大

  1. 车次/车站别限那么死
    a) 春运等高峰期经常出临客, 而且现在 G/C/D/Z/T/K 都有可能是临客
    b) 前后看几站, 如果不是始发终到不一定有票, 而且非始发站有时候也会有少量票可以抢, 时间可能还错开的, 目标站如果不是该车终点, 有票概率也会偏低 (当然也有之前遇到过武昌福州车的硬卧只卖到武夷山的特殊情况…)

现在分车类型刷已经无效了, 都是一次查询出所有结果, 然后前端 JS 来做过滤, 换发到站还行, 但是 HOST 缓存太严重

  1. 刷余票时车型/是否过路/出发时间等组合变换
    a) 避免被缓存, 更大概率刷出来

同上

  1. 12306 的时间不一定是北京时间
    a) 前后一两分钟都是有可能的, 别傻乎乎按自己电脑的时间卡点
    b) 电话网络两手准备

这个还是有用的, 卡点会从提示预售时间变成预定, 但是票额不一定是马上出来的. 另外如果是学生可以考虑成人学生混刷, 据我观察学生票好像被缓存影响的小一点 (也可能是默认大家都在刷成人, 学生票刷的多了也一样坑)

原文的一些修正和补充

  1. 一个人多个证件的坑已经被补上了, 护照注册的帐号只能用护照买票, 其他同理
  2. 精简版其实就是现在各个浏览器助手做的事情, 当然浏览器助手还做了分布式查询余票 sec 等事情
  3. 现在的浏览器助手做的事情还是没跳出两年前说的那些事, 细节变化还挺大
    a) 分布式取余票的 sec. 这个没什么好说的, 现在就是注意会被踢出登陆, 但是查余票又不用登陆, 所以其实还是无影响, 考虑下全网同步强行提交就好
    b) 验证码识别. 这也没什么好说的, 12306 的验证码加强后还是很容易搞定的, 最多就是错一次重试, 或识别概率不高时主动切换一张验证码
    c) 12306 各种暗处的验证码. 昨天看了一下, 还是变了不少地方, 要重做的话还是要去抓一堆包

最后, 特么今年我的票还没搞定, 之前的工具一懒得修二来不及修, 今天用 UC 搞了一把还是挫, 难道要我去下个 360?

成家

这一篇很早就写了草稿, 但是一直没发, 重新梳理还是记录下

跟家喵今年八月领证了, 在微信和 QQ 空间里发的结婚登记照已经骗了一堆赞和祝福. 这么多年一路走过来, 有波折有吵闹的小插曲, 但更多的时间还是幸福并快乐着的, 现在终于在一起, 也让很多关心的朋友表示又相信爱情了. 其实每个人的故事都可以很简单很平静, 以后还是维持这样的小幸福一直到老就好

get marriaged

结婚了

按国人的传统思维, 成家除了领证还要办酒和有自己的房子. 办酒这事狗太懒猫太忙, 过年回家在家里给亲戚们弄一下就好, 在外面就不再跟朋友们弄仪式了, 倒是可以单独吃饭小聚下. 买房么, 反正猫是安定的那差不多就出手算了, 过程倒是弄的挺复杂, 一开始还想着要不要记录下, 最后还是就说买完好了吧, 万科的精装期房, 预计 2016 年交房, 现在每月倒都要巴巴的还贷款了

当时结婚买房时取自己在北京的户口, 被中智说你现在不是我们委托单位的雇员了, 户口自己要迁走, 打听了下北京的人才市场都不接个人的集体户, 再想以后估计也没多大概率回北京, 为了办各种事方便, 一怒之下干脆把户口档案都迁来杭州, 把北京的公积金也取空了, 换掉身份证, 啥时候再把社保迁掉, 那真的就跟北京几乎再没关系了

become hangzhouer

昨日妄居君王侧,今夕安卧西子旁

最后特别感谢下帮借户口迁档案的 KnuthOcean, 帮忙折腾度厂离职证明的 zhangwen, 帮忙折腾从网离职证明且待我去帝都收留我的 liangwei

异地购房提取北京公积金

下半年出手了人生迄今为止的最大件, 房子, 想起来在北京公积金账户里还有小几万块, 现在反正能合法取出来了赶紧把钱弄出来

自己以前办过公积金联名卡, 去北京住房公积金网查自己的账户现在还挂在中智, 发邮件给中智问我现在已经从前单位离职了, 异地购房怎么取公积金, 中智回邮件说你发下身份证复印件给我, 我帮你查下, 按要求发了份扫描件过去后, 过了快一周中智说你的账户是朝阳管理部集中封存了, 你自己去找公积金管理中心吧, 当时笨狗彻底无语, 敢情你要我身份证复印件不是要帮我查怎么弄反倒是要把我踢到公积金中心去封存啊, 继续去查自己账户, 果然变成封存户了

在网上查各种怎么自己去公积金中心取, 消息各种不全或看起来不靠谱. 朝阳管理部的电话就从来没能打通过, 上网搜大家反馈也都说打不通, 换北京公积金中心 010-96155 拨通概率还高一点, 而且解答也还挺详细的, 问清楚了最后反馈说朝阳电话打不通, 北京总部说这个事情他们知道, 很多人反馈过, 但是朝阳那边就一个人接电话, 还要应付现场答疑根本顾不过来, 朝阳那边都是把电话线拔了的… (说的好有道理我竟无法反驳)

列一下 96155 说取公积金要的材料

  • 购房合同原件复印件
  • 贷款合同原件复印件 (全款购房的不需要)
  • 购房首付款发票原件复印件 (全款则是购房发票)
  • 身份证原件复印件
  • 结婚证原件复印件
  • 公积金联名卡复印件
  • 配偶提取公积金的提取单原件复印件
  • 购房当地物业 (或居委会) 出具的职工异地购房证明原件
  • 异地工作的社保缴纳明细原件

这里说明下个体情况, 避免其他人被干扰:

  1. 我是夫妻联名购房, 且家喵是主购房人 (名字写前面那个), 所以按 96155 答复需要配偶先提取, 如果是个人购房结婚证和配偶提取单应该就不要了
  2. 我已经没在北京工作, 所以是购房当地物业或居委会出具异地购房证明, 如果还在北京工作, 则需要北京的工作单位出具这个证明
  3. 同样的, 因为我没在北京工作了, 所以需要出具异地工作的社保缴纳明细

因为买的是期房, 都没交房哪来的物业, 所以最后找的房子所在居委会出的异地购房证明, 这个东西没有官方模板, 我理解无非就是证明这个房子是在异地的, 自己拟了一份打印出来去找居委会盖章了, 去盖章时这边办事还挺方便的, 说清楚是要取异地公积金, 大家都一起吐槽 “取公积金各地政策不一样, 各种奇葩要求”, 带上身份证和购房合同能证明要居委会盖章的证明没问题, 居委会都自己给复印了需要的几页, 南方办事还是方便不少. 我自己打印的购房证明如下, 最后成功取了公积金, 希望能给别人一个参考

异地购房证明

兹证明 XX (身份证号码 XXXXXXXXXXXXXXXXXX )于 2014 年购买的地址为 杭州市西湖区XXXX小区X幢X单元XXX室 的住房在我单位辖区内,房款总价为 XXXXXXX 元(大写 X佰X拾X万X仟X佰X拾X元整 ),情况属实。
特此证明。

杭州市西湖区XX街道
XXX社区居民委员会
2014 年 XX 月 XX 日

弄完双十一的事情后发现有一段不忙的时间, 自己请了个假跑北京去办了, 朝阳管理部在一个交通相对不那么方便的地方: 百度地图 – 北京市公积金朝阳管理部, 怎么弄都要倒公交, 最近的公交站叫东石门, 可以参考北京公积金官网给的朝阳管理部地址走法: 朝阳管理部

到了那边才发现原来中智把我踢给朝阳管理部反倒让我更方便了, 因为公积金中心默认不对个人办理业务, 必须通过单位或人才市场才能去提取, 只有像我这样被集中封存了的才可以个人办理

先在大厅排队审核资料没问题, 还好之前电话问的够清楚直接过, 然后拿号办理, 个人业务虽然只开了一个窗口, 但是压根没人排队, 办的时候挺利索的, 因为以前用租房的名义取过一次公积金, 联名卡复印件也不要了, 直接问以前取的卡还在不在, 如果在可以直接取, 不在的话反倒要拿联名卡复印件申请修改, 三个工作日后才能办提取, 还好当时就是用的工资卡, 这张卡现在还在, 其他的材料原件被审一遍, 把复印件收走 (合同复印件只收走了中间的几页), 确认下提取金额和卡号没错后就算办完了

弄完后看着一厅跟春运火车站一般的人流心里默默向中智道个歉说不好意思我错怪你了, 另外瞄了眼那个排队审材料的估计就是朝阳管理部的热线电话接线员, 总共就一个人, 管审材料的队伍都管不过来哪还会去接电话, 也难怪从来打不通, 这人力配备的太不科学了, 或者他们默认电话咨询就应该去打北京中心的 010-96155 了

三个工作日后钱到账, 感慨还挺快的, 旁边坡表示在杭州取的话只要不到十分钟就到账了… 这个, 果然北方和南方的政府机构办事思路和效率还是挺不一样的

最后给一些希望能帮到其他人的小提示

  1. 信息还是问官方的靠谱
    • 官网 北京住房公积金网, 虽然信息各种不全不更新, 但是还是最官方了
    • 官方客服电话 010-96155, 多打几次还是能打通的, 打通后服务态度很好
    • 官网在线问答 公积金在线问答, 亲身用过自己的提问三个工作日是有答复的, 需要自己把问题说清楚
  2. 公积金联名卡现在可以直接拿身份证去支持的银行柜台办理, 当场拿卡, 支持的银行有交通银行、建设银行、工商银行、招商银行、北京银行、中国银行、农业银行、中信银行, 其中除建行只有部分柜台支持外其他银行都是任意柜台都可以, 详见官网: 北京住房公积金联名卡合作银行
  3. 公积金中心接受代办, 写好授权书, 并准备好代理双方身份证原件复印件就好, 这个比开无房证明必须要本人或配偶去代办的授权书还要公证处公证简单多了

双十一技术篇

去年我还没过来, 据说系统最后是没扛住双十一的大压力崩了, 今年提前好久开始准备, 底线是系统一定要扛住, 准备过程中列了下可能的风险点, 主要是

  1. 系统处理能力
  2. 用户流量出口
  3. 淘宝调用流量
  4. DB 写磁盘压力

挨个分析下

  1. 系统处理能力
    这个反倒是小事, 我们自己的吞吐能力从来没出过问题

  2. 用户流量出口
    今年年初开始就把静态内容放到了七牛上, 自己的流量压力小了很多. 不过盘算下到时候峰值可能还是会爆, 决定加带宽, 由于阿里云的奇葩定价策略, 单买 5M 带宽比买一台带 5M 带宽的虚拟机还贵, 于是我们就再继续买机器做分布式处理, 架构支持分布式就是好

  3. 淘宝调用流量
    调淘宝接口居然还算的是外部流量, 这是之前没仔细考虑过的地方. 看了下大头在读写商品详情上, 这个功能到时候估计怎么加机器都会不够, 提前准备了关闭部分功能做降级的开关, 反正也不是核心功能, 到时候看情况关掉好了

  4. DB 写磁盘压力
    其实 DB 本身是没那么弱的, 我们的主库机器把内存选到了阿里云支持的最大内存, 只是阿里云的硬盘实在是太差了, 一旦有大量持久化操作写磁盘, 磁盘 IO 就扛不住了. 这个我们提前对 DB 里的冷数据做持久化, 降低内存里的数据大小, 避免磁盘 IO 被写死

双十一前一天, 系统的 UV 大概是平时的两倍, 下午继续慢慢往上涨, 最高的时候到了平时的快四倍, 因为今年我们自己的带宽没卡住, 调淘宝接口也没被限流, 来做设置的卖家搞完就走了, 没发生堵塞. 事实证明如果在你的处理能力范围内, 尽可能快的做完事情把人送走才是正确的解决办法, 把一堆人扣在这里慢慢排队处理只会让事情越来越糟糕, 交通枢纽应该都讲究怎么快的把人疏散走, 而不是把人垒在自己这 (说的就是你, 帝都的各种地铁站什么的)

淘宝官方说的是双十一前一天晚上十点接口限流, 我们吸取去年教训在我们的系统通知里说下午六点就暂停服务, 这也算是一个缓解的思路, 让一些人提前进来处理掉. 不过下午六点后 UV 还是明显在涨, 一群又一群赶着想在双十一捞一把的小白新卖家各种不看公告不管系统通知一定要作死的卡点来做设置. 到晚上快十一点淘宝正式限流, 我们这边也按预案暂停服务, 挂通知安抚

凌晨的时候淘宝限流有放开, 其实当天人就不多了, 坡就偷偷的把服务给开了, 但是暂停服务的通知还挂着. 上午估计一堆人发现了系统还能用, 又塞过来各种调, 淘宝那边也大量返回报错和限流提示, 看了下好像也没有想的那么夸张, 坡一狠心把重试次数加大, 居然就直接扛过去了

按系统通知, 是打算在双十一第二天中午十二点才恢复服务的, 结果双十一当天顺利的出奇, 晚上十二点系统也还开在那, 可惜没想到卖家折腾了一天后发现系统还可用就疯狂的做一键重开恢复平时的活动设置, 瞬间涌进来了平日高峰流量的快五倍那么多人, 系统和流量都没问题, 但是 DB 跪在了阿里云这不靠谱的磁盘上. 只能暂停服务, 继续挂通知, 来的快散的也快, 估计过了十来分钟大家看没戏就很快散了, 然后把服务重新恢复. 第二天白天人一直就不多, 一直观察到十二点也没出现预期的瞬间高峰, 可能还是大家发现系统是可用的, 没有卡点来做恢复操作. 双十一就这么有惊无险的过去了

习惯性总结下

  1. 系统的可扩展性很重要, 关键时刻如果能通过加机器搞定的事情就去加机器搞定好了, 多花的那么点钱完全不是个事
  2. 对自己系统的能力和客户的使用习惯要预估好, 我们最后还是托大了下, 没预料到双十一结束后的那个瞬时高峰
  3. 阿里云还是要给力才行, 据说今年会全面换成 SSD, 到时候先开个 DB 从库上去当小白鼠, 靠谱了就全切

当然, 每年都有各种二逼卖家改错价找上门哭诉或要挟的, 这种作死行为完全拦不住啊, 不看通知不看公告不看系统提示你们真的是来做生意的么, 然后每年继续还有二缺天猫卖家双十一当天跑过来说你们怎么不能用我要给你们差评, 啊叻天猫早就通知了双十一当天只有官方工具生效的好吧, 更二缺的天猫卖家发现双十一当天普通折扣不生效了就去改原价, 然后晚上不及时改过来第二天凌晨到早上被人超低价狂买然后跑来说你们软件有问题乱改价我亏了你们怎么赔我, 切爱谁谁吧, 淘宝城在文一西路上过去拉横幅要跳楼找马总解决吧