电商系统架构

对以往做过的电商项目技术架构做一次总结。

使用SOA分布式架构的方式去治理电商项目,解决分布式、高并发、高可用、集群、负载均衡等问题。

电商系统架构_第1张图片电商系统架构_第2张图片

互联网大型网站项目架构拆分:

一、前端

1.资源静态化

静态化资源就是请求一个url访问一个服务器上面的网页,而且这个网页上的资源基本不会发生变化,所以我们的每次请求其实都是重复请求。

2.负载均衡

负载均衡是分布式服务架构设计必须考虑的因素之一,它将请求/数据均匀的平摊到各个操作元件中。

二、应用服务

1.业务模块化

将应用程序根据业务模块进行拆分,使每个模块能够独立运行在服务器上。在发布时,某个模块的问题不会影响到整个应用程序,只需解决出现问题的模块,然后将其发布,是相对粗粒度的服务应用。

2.服务总线

所有的应用之间需要连接时,如果应用变多,相对的连接数也会成倍增长,这时需要一个服务总线,将所有的服务接口透明化出来,对于应用于应用之间的连接,只需经过服务总线这个过程,实现1对1的连接。

3.消息队列

对于互联网架构异步操作必不可少,使用消息队列可以解决各种操作的同步性,将部分操作变成异步。异步可以防止互联网网站的高峰操作。

同时消息队列对应用之间进行解耦,应用之间的操作不需要约定,也可以处理相应的操作。

4.读写分离

数据库的写比较耗时,而数据库的读效率很高,所以数据库的写操作影响了查询效率。在应用中通过切换数据源实现读写分离。

5.缓存

缓存能够减轻数据库访问的一定压力,加快访问速度,是互联网架构中必不可少的元素。

三、数据库

1.分库分表

垂直分表:主要是分散系统负载,让一台机器做的事情变成几台服务器做。

水平分表:缩小索引区大小,使查找更快。

分布式系统

1.分布式的应用和服务

将应用和服务进行分割,应用和服务模块分布式部署。这样做不仅提高并发访问能力、减少数据库连接和资源消耗,还能使不同

应用复用服务,利于扩展。

2.分布式静态资源

    对网站静态资源如JS、CSS、图片资源进行分布式部署,减轻应用服务器负载压力,提高访问速度。


你可能感兴趣的:(架构)