架构演变过程图

1.Dubbo和zookeeper面试题(含答案)
2.二叉树的前序、中序和后序遍历(附源码)
3.算法之十大排序(图文版)

4.Java虚拟机调优

5.JVM相关总结

网站架构的发展过程

阶段一:单体应用架构

所有的应用都部署在同一台机器上

阶段二,应用服务器和数据库服务器分离

由于网站访问人数的增多,就要去提高服务器的负载能力,在避免单台机器出现性能瓶颈,于是增加一台服务器。将web服务器和数据库服务器分离,提高了单机的负载能力。

阶段三:服务器集群

在此基础之上,由于用户访问量增大,单台web服务器已经无法满足要求,所以再次基础之上增加web服务器,将用户请求分流到各个服务器,从而提高了单台服务器的负载能力。

阶段四,数据库压力变大,数据库读写分离

解决了应用服务器的负载问题之后,我们就要考虑数据库的负载问题,在这个阶段并没有采用上述增加数据库服务器的方式,而是实现数据库的读写分离。

阶段五,使用搜索引擎缓解读库的压力

在一些网站中,搜索是常见状态,如电商网站,在读写分离的基础之上我们在增加搜索引擎,提高查询的速度。

阶段六,引入缓存机制缓解数据库的压力

对于一些热点内容,没有必要每一次都从数据库库中取,可以使用redis等作为应用层的缓存。如果出现对某些用户的IP访问频率做出限制,可以使用mongDB。

阶段七,数据库的水平/垂直拆分

上述方式为垂直拆分,即:把数据库中不同的业务数据拆分到不同的数据库。

水平拆分:把同一个表中的数据拆分到两个甚至多个数据库中。如下图:

阶段八,应用的拆分

这种方式把用户、商品和支付分成各个子系统,但是我们在操作商品和支付时都要用到用户操作,导致了部分的重复,我们可以把重复的部分提取出来,否则就会导致一些问题,即通过服务的方式来解决这种问题。如下图:

服务之间的通信采用RPC技术,常见的有webService、http等。

随着互联网的发展,各种优化也会不断。

关注我

获取更多
Java干货

原创文章

视频资料

技术交流群


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值