挖井

类库大魔王的挖井日记

挖一口属于自己的井


Work on Thumbnail Service

这个项目很早前就听说要做了,一直拖拖拖,我实在很想做这个东西,周一就跟TL说,然后就简单谈了一下,确定了架构和分工,于是就开始了。

这个东西功能说起来有点像图床,但使用场景又几乎完全不一样。它有相对比较稳定的并发连接数,目前估计大概5000左右吧,最多不超过10000个,并且每个连接都会以比较固定的时间间隔上传图片,长至10秒,短至1秒。每个图片大小目前没有真正确定,估计在10KB~100KB之间。我们简单的估计就算它每秒有400MB上传流量。另外,还会有一部分客户端会请求下载某个或某一批图片,一批图片可能体积总共在20MB。

CTO和TL老早就定下基调,要使用长链接,这样每次上传不用重新建立连接,于是选了websocket。现在我想想,觉得似乎把问题复杂化了:客户端也是C++写的本地应用,又不是web,完全没必要用websocket嘛,直接用socket开销又小,又容易维护。

在项目开始之前,我还读了不少书和文章,关于大规模服务器开发和部署的。我找来了twemproxy打算做memcache的集群,找来了MongoDB打算做能应付随时可能变化的图片的meta data存储和索引,参考不少文章和案例来设计本地文件系统的存储。结果几乎全都用不上。开始写服务器两天后跟TL谈起后续的技术方案选型和落实时,CTO说了他的想法,memcache顶多有一台,甚至可能就跟服务器程序在同一机器上,本地数据库不需要了,因为meta data在图片文件中是自包含的,本地文件系统的存储也不用考虑了,直接用Amazon S3服务,把它mount到文件系统中,当一个普通目录使用,S3能处理好所有的存储,索引,性能等问题。所以现在这个thumbnail server实际上就是一个Amazon S3 proxy定制版。

做着做着,又觉得这事情很无聊了。

话说,公司一直在招架构师,昨天有个人来面试,第一面让我去。我就问TL和HR了,这人招进来你们打算让他干什么的,看他笔试C++的题,选择题做对的不到一半。如果你们是要他进来写代码的,我就问C++的问题,要他做架构的,我就问架构设计方面的问题了。后来我还是当面架构师一样地去面了,这人要求年薪30万以上,跟职位倒是也算挂钩。聊了大半个小时,感觉这人倒是真正做过一些项目,但也就跟我们公司里的情况一样,野路子,自己摸索,没有比较系统的方法,没有比较成熟的方案。

然后我再一次对公司深深地绝望了,居然宁可花那么多钱去外面招不怎么靠谱的人,也不愿意提拔老员工。叹气。

本文地址:

https://minidump.info/blog/2015/02/work-on-thumbnail-service/

上一篇

最近脾气很暴躁

最近脾气越来越暴躁了,很容易发怒。昨天一个同事要联调一个什么功能,后来发现一个问题,他就说:”你们这个东西不行啊,要支持什么什么blablabla……“,然后我一下就怒了,很不耐烦地说:”你不能今天看到缺什么功能立马就要求有这个功能,真需要什么功能叫PM拿PRD来!“昨天另外一个同事要试试编译...…

Life 全文阅读
下一篇

回家了

今天回老家了,赖床赖到8点多,大约9点出的门,要去建行的ATM取钱,结果跑到常去的那个网点,居然被封了,然后转到另一个网点,因为跟妹子有了点口角,然后包好的红包也没给她。果然路上不是很顺利。首先这次百度地图导航选择了一条跟以前不一样的路线,那路怎么好意思叫高速公路,坑坑洼洼一路颠过去。好不容易...…

Life 全文阅读