标签:
爱看网 http://2goo.info 采用了Go 语言开发的信息网站,上线以来,流量都很低,主要是新网站要搜索引擎收录,需要漫长的过程,目前网站开通半个月,每日 pv 在 120-700,ip:10-29 个之间,包括我自己的访问,其实多数是我自己的访问。通过proc 查看内存的使用情况,发现网站占用的物理内存是 26M, 占用虚拟内存是 273M。我拿 客户相似的网站(采用Java开发的) 对比,对方的物理内存是 174M, 占用虚拟内存是 4G。Java 使用虚拟内存很惊人,可能和 tomcat 的配置有关吧。
至于物理内存,Java 使用量 接近 Go 的7倍。这个和 Debian 的对比结果 基本吻合。抛开虚拟内存不说,能不能这么说,采用Go 开发的网站,只用一台服务器,Java开发的网站,可能需要到6-7台服务器了。
爱看网,开始采用Martini + PostgreSQL的框架开发,后来看了作者博客介绍,尝试用了Negroni(中间件:Gorilla Mux,Render,Binding,Gzip,Gorp,Pq,) + PostgreSQL,Martini 和 Negroni 都是出自同一个作者,后者是作者为了追求简单化,非魔幻化,尽少使用 Go 反射功能,改进的产品,从文中描述来看,我觉得作者更喜欢 Negroni,毕竟 Negroni 是开发 Martini 过程中,发现问题,不断反省,求变,出来的产物。
开发过程中,学到了不少的东西,其中我喜欢 爱看网 采用的技术架构,虽然它们还有很多不成熟的因素,但我相信,随着时间的推移,东西会慢慢变好。
爱看网架构采用的技术:
negroni: https://github.com/codegangsta/negroni
gorilla mux: https://github.com/gorilla/mux
render: https://github.com/unrolled/render
binding: https://github.com/mholt/binding
gorp: https://github.com/go-gorp/gorp
pq: https://github.com/lib/pq
其实最近想把 Gorilla Mux 改成 pat 试试,不知道有没有必要。
标签:
原文地址:http://www.cnblogs.com/anima/p/4318030.html