真实项目部署的框架设计

浅谈真实项目部署框架的选择与搭建

在项目部署的时候我们会遇到服务器搭建,选择框架等问题。
在部署时,主要从并发量数据量两个方面考虑。我们简单例举一些情况。

(一)单机模式

当数据量和并发量都没有太大压力时一般选择单机模式,单机模式的特点是将Java运行环境(tomcat)和数据库安装在一台服务器上。用户通过浏览器访问服务器。
在这里插入图片描述
服务器上打开各自使用的端口,进行数据的交互查询。

(二)分离模式

当需求量增大,我们就要对服务器进行优化,当操作基本不变,只是数据量增大,访问量增大时,我们可以讲Java运行环境(tomcat)和数据库安装在不同的服务器上,该模式的性能瓶颈会出现在tomcat和MySQL相互竞争服务器资源。
在这里插入图片描述
服务器1,可以是高内存,高带宽服务器2,是大硬盘的配置。
分开部署,提升处理能力,相比于加强一台服务器性能,更经济两台服务器,确实提升了性能,但是增加了复杂度,增加了出错的可能,优化是有成本的,必须要用的时候再用。

(三)引入缓存模式

当我们继续增大需求量时,我们就需要考虑缓存的问题:
注意:一次用户操作(比如提交考卷),controller执行几句Java代码,service也是执行几句Java方法,dao直接操作数据库(连接数据库,sql注入到数据库,数据库执行sql,结果返回给Java),相比之下,dao的操作要耗费更多时间和资源(因为数据库是在硬盘读取,速度很慢)。
性能瓶颈:数据库的读写能力达到瓶颈(就算并发量大,在tomcat处理不了那么多并发之前,数据库已经不行了)。
这是,我们就要引进缓存技术或者是分布式技术。
在这里插入图片描述
缓存可以扛住大部分的访问请求,随着用户量并发量的增长,压力主要落在单机的tomcat上(一个tomcat不够了),这时会出现我们第四种技术

(四)反向代理负载均衡模式

在这里插入图片描述
注意:三个tomcat是完全一样的,Nginx统一接收用户请求,不处理,分给不同的tomcat处理没有用户扩张性的项目,基本就到此为止了

因为Redis可以做分布式的集群(一个Redis不够的话,可以有多个Redis,配置好了以后,就像一个Redis那样使用)。
所以数据查询可以大范围的扩展性能 Nginx对应多个Tomcat,这也是集群效果,不是把1个tomcat变成2个,而是可以变成很多个 再发展的话,出问题的是MySQL,一台MySQL服务器,做增删改都不够用,或者,一台服务器存不下那么多数据了可以用MyCat这种中间价,做MySQL集群或者换成其他存储工具(HDFS上分布式的HBase等)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值