挖井

类库大魔王的挖井日记

挖一口属于自己的井


工作近况

公司里一个小项目的方案,原本就强烈建议小正太把业务逻辑提出来,单独写个server,不要把应用层代码写到nginx push stream module里去,让人家module只做单纯的协议层数据转发。小正太一直以性能消耗要多一次请求为由想把业务逻辑合到nginx的module里去,我真是无语透了,这是多丑多dirty的设计和实现啊!好在昨天又讨论这个方案时,另一个同事基本上同意我的说法,然后两个人把小正太说得哑口无言。现在公司里的人,上到boss、CTO、Director,下到team leader、PM、普通developer,几乎都对软件工程、架构设计毫无概念,脑子里眼里只有source code。很久以前我就在想,如果有人说公司能做出现在这种产品真不容易,我肯定竭力赞同,在条件这么恶劣的情况下一群水平这么次的员工还是能开发出来每年卖上千万刀的产品,确实很不容易啊!

最近老想着给Yiili加上memcached或redis。以前没涉及过web对这类东西全无了解,现在也只是知道了点概念。从概念和目标上说来,memcached是缓存,redis是内存数据库。而因为可能是大多数时候它们都把热点数据存在内存中,很多情况它们的作用就当成cache用了。memcached的优势在于集群,redis的优势在于单点性能好,虽然现在还在beta的新版redis也在集群方面做了很多工作,但具体情况怎样还有待实践证明。以Yiili目前的情况即使不用这些东西也能跑得好好的,但我就是开始对这些感兴趣了。初步看来Yiili用一个redis就足够了,我暂时也没找到多少数据是要cache的,顶多就是几个帖子列表和热门帖子的内容。然后就是找go的第三方库提供memcached或redis的客户端功能,找到一个叫gomemcache的,貌似作者就是memcached的作者,还发现那厮去年又出了个memcached的演进产物groupcache,大概意思是有些场合用groupcache比memcached更合适,囧rz。至于redis的go版客户端实现就比较多了,这篇文章里还有人对几个实现做了一些比较,究竟哪个更好一点也没有明确的结论,大致上说redigoredis好的人更多点的样子,前者是个纯粹的Go实现,后者貌似只是对Redis官方C客户端的包装,似乎要用cgo才能用,但拥有更好的却也不明显的性能,我也许会选前者吧。

本文地址:

https://minidump.info/blog/2014/07/recent-work/

上一篇

Nginx上安装Wordpress

自从知道nginx后,就再也不愿意用Apache了,总觉得Apache配置复杂、体积笨重、运行缓慢,当然这些只是我的无根据臆想。原本用nginx只是用来做静态站,做反向代理,今天zhangh说想要个Wordpress做产品展示页面,于是只好弄一下。顺便感叹一下他的执行力。MiaoCoffee当...…

Software 全文阅读
下一篇

完成Memcached/Redis支持

花了好几天时间,终于给Yiili的程序加上了Memcached和Redis的支持。前面也说过,我只是用它们来实现缓存的功能,把一些本来需要查数据库得到的数据缓存起来,比如帖子列表、话题列表、分类列表等,目前看来,效果确实是有一点的,但因为测试环境的帖子太少,还不能看出来以后帖子多起来的时候效果...…

Startup 全文阅读