如何配置服务器以应对复杂的业务需求
2008-01-23 10:53:16 来源:WEB开发网除了部署Xen虚拟化,37 Signals 也部署了memcached。这是一个高性能的分布式的内存对象缓存系统,是一个PHP开源项目,它的缓存处理是分布式的,也就是可以允许不同主机上的多个用户同时访问这个缓存系统, 这种方法解决了共享内存只能是单机的弊端, 同时也减缓了37 Signals大量客户数据库检索的压力。此外,37 Signals通常使用ActiveRecord框架制作的query,不过鉴于不同情况,有时候还是会采用find_by_sql。另外,由于37Signals就是RoR之父,所以当开发的时候,也会适当修改Rails以满足新的要求。37Signals的存储则是采用了亚马逊的S3(Simple Storage Service)来做图片存储,这是一种在线存储的模式,在国内还较少使用。我还用探针程序观察了一下,37Signal的Web 服务器是 apache的1.3.29。
我们发现,37 Signals非常相信虚拟化能够带来的优势,而且也相信虚拟化不会损害公司业务的可靠性,由于自身技术实力非常突出,所以虚拟化过程也没有采用VMware,而是开源的Xen。整体而言,对于37Signals的流量,30台服务器已经算少的了,而虚拟化将进一步减少服务器数量,更重要的是,简化了未来的扩展,毕竟37Signals的增长速度实在太快了。除了虚拟化,整个系统平台由Ruby on Rails、Memcached、MySQL、和S3 共同搭建,可见37Signals公司决定彻底将轻质化进行到底。
事实证明,整个37Signals服务器及配置非常合理,而且足够简化。用户使用过程中得到的是非常简单清晰的Web应用,而且十分快捷。虽说有很多用户可能共享一台服务器,但是目前还没有出现任何安全事故。
轻质化的思想,不论在37Signals设计的RoR、或是应用Basecamp、Highrise、又或是服务器配置都非常明确。也正是37Signals一系列准确的轻质化策略使得公司不断成长。我们也可以借鉴37Signals的各种策略,简化我们数据中心的服务器配置,得到更高的效率。
更多精彩
赞助商链接