大型网站技术架构的演进
作者:网络转载 发布时间:[ 2015/4/16 13:57:18 ] 推荐标签:网站 技术架构 演进
近我在阅读2本关于大型网站架构的书:《大型网站技术架构——核心原理与案例分析》李智慧、《大型网站系统与Java中间件实践》曾宪杰。
我期望从这些书中学习到大型网站是如何做架构的,这个过程会遇到什么问题。当看完这2本书后,我总结出两个大问题:
1.网站技术架构为什么会演进?换个说法是为什么网站会变大?
2.演进的过程会遇到什么问题?或者说为了演进,会遇到什么问题?
网站技术架构为什么会演进
我个人总结出来我们的技术架构演进的两种驱动力,驱动着我们为什么演进网站的技术架构:
1.内在驱动力:我们期望把当前的业务做得更好,开发更多新业务
2.外在驱动力:用户量的上升、用户种类的多样化
这两种驱动力不是独立的,更多时候是并行的。我想淘宝是两种驱动力并行驱动的结果。
演进的原因很简单。但是在什么时机我们应该演进网站的技术架构了,以及如何演进?面对这些问题,说实话,我没有任何经验,再说现实中每家企业当时都面临的问题都不一样,所以,我很难从经验中总结出什么是演进的时机。
但是我可以从另一个角度切入这个问题:研究网站内外结构,找到这些结构可能出现的问题点,知道或者预见到问题点了,你当然知道应该怎么演进了。类似于你了解了PC机的结构,你也知道什么时候要加内存了,什么时候要加硬盘了。
那么我们先看看网站的外部结构:
外部结构中,我们可以看由以下几个部分构成:
U:代表用户群。当用户群变了,我们的网站如何演进?用户群的分析,我目前能知道的维度有:数量,种类,地理位置(区域)。
N:代表网络环境。网络环境在每个地区都不同。你可以想像我们为什么需要CDN。当我们期望每个区域的用户都能得到好的体验,我们的网站如何演进?
S:代表安全。是我们要安全到什么程度?这与网站当前所处阶段及你网站的性质有关。
C:代表我们的网站。属于内部结构
网站的内部结构:
内部结构的组成:
A:应用服务。
D:数据服务
总结下来是我们在考虑网站是否应该演进了或者如何演进时,这些组成部分为我们提供了考虑问题的基准。
那么我们为什么不一开始把网站设计成“大型”的。李智慧在后记里写到:“不要企图去设计一个大型网站”,“原因是互联网发展运行有其自己的规律,短暂的互联网历史已经一再证明这种企图行不通”。还说了:“大型网站不是设计出来的,而是逐步演化出来的”。对于后这句话,我需要提醒下:“不是设计出来的”并不代表“随意设计”。
对于“大型网站的设计”,我个人的看法是现在我们的有“云”了,计算是可以买的,只要我们的设计能适应“云”,我是不是可以一开始设计大型网站了?
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11