【架构★我的系统架构】我的系统架构<前言>
前言
之前在微博上看到网友说了这样一句话:“好的系统架构不是设计出来的,而是在实际应用过程中不断完善得来的” 。我也觉得很有道理,但是我仍然认为在系统构建之前必须要有一套合理的基础架构,否则日后的“完善”将会苦不堪言。
一套系统架构不可能做到通用,但是我想一些基础理念必然相同,或者说存在一套通用的可扩展的基础架构。后面我会写几篇博文,来描述一下“我的架构”。
此处附上一篇转载的博文:百万级访问量网站的技术准备工作 。此文从全局概括一套“大”系统的架构需要做好哪些准备工作,所以以此文作为本系列的前言,我想是再合适不过了。
场景
本人现在供职的公司是一家以O2O为核心业务的家装行业的电商公司。即从线上召集用户到线下消费,线下用户看到实物后可到线上商城下单购买。
前台业务主要包括:O2O活动召集、线上商城、资讯门户、家装公司、案例分享、线上团购、智能手机客户端、家装论坛、会员中心、数字化装修、全站全文检索、装修问答、以及设计师、项目招标、推广联盟等一些周边的功能频道。
后台业务主要包括:网站平台管理系统、站内统计系统、报表系统、库存物流系统
访问量:目前网站访问量日IP十万左右,PV大概是IP的5-10倍左右,即50-100万左右。
现状: ①由于历史原因,现在公司开发平台为VS2003+SQL2000,所以升级开发工具和运行平台势在必行。
②当前整套系统架构不清晰(最主要的问题在于分站模式不合理;扩展性被限制在一套CMS系统上,导致整套系统无法扩展或者说很难扩展;无缓存设计等等等等这里就不详细说明了)
③当前系统的性能出现瓶颈(我觉得主要原因在与 系统无缓存设计,导致在大量复杂的存储过程中多表联查;数据库设计不合理,比如没有合理的冗余设计;没有报表系统,很多统计功能都是实时统计;细节没做好,比如很多查询都是内存分页甚至没做分页;以及DBMS版本比较老等等。)
④公司完成首轮融资,所以业务将会有较快的发展,要求也会更高。所以对当前系统的升级改造已经迫在眉睫。
目标
“没有最好的架构,只有最合适的架构。”这也是为什么要做上面场景的描述。本系列博文的目的并不是说我的架构有多好,这套架构是有针对性的对与我们来说最合适的架构。但是可以轻松的向“最好架构”的方向扩展也是其基础要求之一。
整体目标:在保证系统的安全性和稳定性的基础上,无障碍承压日IP50万,日IP接近50万时,可轻松扩展至承压日IP100万。并保证较低的开发、维护成本。
目录
下面我将分多篇博文,分别从《服务器架构》《数据库架构》《应用系统架构》《程序结构》等几个主要方面以及《分布式存储》《异步队列》《统计报表》《站内统计》等多个详细系统和细节上分别进行讲解。
【架构★我的系统架构】我的系统架构<应用系统架构>
【架构★我的系统架构】我的系统架构<程序结构>
【架构★我的系统架构】我的系统架构<分布式存储>
【架构★我的系统架构】我的系统架构<异步队列>
【架构★我的系统架构】我的系统架构<统计报表系统>
【架构★我的系统架构】我的系统架构<站内统计系统>
... ...