专业 靠谱 的软件外包伙伴

您的位置:首页 > 新闻动态 > Web网站开发外包之基础架构演化

Web网站开发外包之基础架构演化

2016-06-21 12:19:27

如今随着技术不断发展成熟,Web开发已经形成了一定的模式。从单一项目到如今的能处理高并发、大流量的大型Web系统平台,Web系统的复杂度和成熟度也在不断提升。以前在开发过程中,由于需求的不确定性等,导致产品的架构和功能无法一次性规划并开发完成。由此,大多数系统都是从一个个小的系统不断演变,而成为今天我们看到的大规模的产品。

下面就来简单介绍一下系统演变过程:

1初始状态

在系统使用初期,基本功能简单,用户量不大,使用一台服务器便可满足需求。

实战录 | 说说Web基础架构演化的那些事儿

若系统中的文件、图片、视频等文件资源,也存储在了业务服务器中。

2业务拆分

随着业务的扩大,在考虑产品化的前提下,将业务系统拆分为多个业务系统。但是各种业务不可能完全独立,系统之间都会存在数据的交互,可以采用各种消息中间件来实现系统间的通信,但是不建议使用HTTP。HTTP请求是建立在TCP连接基础上,这种方式比较适合客户端对服务器的访问,可以保证可靠性。但是用在系统间通信时,会造成时间的浪费,也可能因为网络抖动问题造成交互的失败。

实战录 | 说说Web基础架构演化的那些事儿

3资源拆分

业务数据量不断增加,数据库数据、文件存储资源增多,此时应该考虑将他们与业务系统分开搭建。再者文件服务器、数据库、业务系统他们需要的服务器性能并不相同,存放在一起无法最大限度的使用服务器的性能。文件系统和MySQL需要较大存储空间、磁盘IO、缓存空间,配置较大硬盘、内存的服务器;而业务系统最多的逻辑运算,需要配置较好的CPU。

4服务器集群

当业务量不断增加到单个业务服务器不能满足需求。此时,可以采用的方案有:扩充单机新能;增加多台服务器,使用服务器集群来分担压力。服务器集群可分为,高性能、高可用、负载均衡。可以使用负载均衡集群来实现系统的横向扩展,负载均衡架构的方式也有很多,例如:单独使用nginx/HAProxy,LVS,DNS等。

5前端优化

作为Web服务器,那么它的页面加载速度,对用户操作的响应,直接决定了这个系统的优劣,所以前端页面的优化也是极其重要的。在开发中应规范编码,css和js的加载顺序合理,不要引用不必要的js,不要将js放在页面的上面而阻塞页面的加载和执行;将css、js、html进行文件压缩,可以大量减少页面加载时的带宽和响应时间;利用浏览器缓存或是nginx等缓存静态资源。

6后端优化

为了提升加载速度,后端同样需要进行大量的动作来解决数据存储的问题。后端优化的最终目的,就是能以最快速度为前端提供数据。以MySQL数据库来说,为保证读写性能,可以进行以下操作:创建合适的索引;使用数据库连接池减少资源开销;增加内存缓存区的值来减少磁盘IO;当MySQL数据量达到百万级别时,建议采用分库、分表等操作来提升性能;采用读写分离/主从互备等……

实战录 | 说说Web基础架构演化的那些事儿

在实际业务系统中,频繁访问数据库绝对不是一件好事。所以一般会将访问率较高的数据存储在缓存中:内存缓存,数据库缓存都可。而在考虑到单机缓存面临存储量不够、单点故障等问题时,可以考虑使用分布式缓存,如:Memcached、Redis等。

7结语

上述只是简单介绍了Web系统基础架构的演变,在实际应用过程中设计的复杂程度远远不至于此。但无论怎么设计,都应该遵循一些基本原则:可靠性、可扩展、可维护、可重用……

 

关于:中科研拓

深圳市中科研拓科技有限公司专注提供软件外包、app开发、智能硬件开发、O2O电商平台、手机应用程序、大数据系统、物联网项目等开发外包服务,十年研发经验,上百成功案例,中科院软件外包合作企业。通过IT技术实现创造客户和社会的价值,致力于为用户提供很好的软件解决方案。联系电话400-0316-532,邮箱sales@zhongkerd.com,网址www.zhongkerd.com


  上一篇   [返回首页] [打印] [返回上页]   下一篇