51Testing软件测试论坛
标题:
系统架构设计
[打印本页]
作者:
小文0111
时间:
2019-3-29 16:12
标题:
系统架构设计
什么是架构?
架构就相当于我们要盖一栋楼时的框架。系统架构就类似于工程的结构。
一、传统架构
[attach]123483[/attach]
用传统的架构,1000并发量需要2太服务器做tomca集群
[attach]123484[/attach]
但是由于系统用的人越来越多,并发量越来越大待到并发量为10000时,需要20台服务器做tomcat集群。当tomcat集群中节点数量增加,服务器能量先增加后下降。所以集群中节点的数量不能太多,一般也就5个左右。难以实现高数据量的并发,5台服务器难以正常工作。
什么是集群?
集群就是多个服务器做的是同一件事、运行同一个工程。也就是说同一个工程部署到多台服务器上。
二、分布式架构
能用硬件解决的问题就不用软件解决、硬件解决不了就用软件解决。
如何用软件解决?
当并发数高时,需要按照功能吧系统拆分,拆分成独立的功能。单独为某一个节点添加服务器。需要系统之间配合才能完成整个业务逻辑,叫做分布式。
分布式架构:把系统安装模块拆分成多个子系统,多个子系统相互协作才能完成业务流程,系统之间需要进行通信。
[attach]123485[/attach]
分布式架构优点:
把模块拆分,使用接口通信,降低模块之间的耦合度。
把项目拆分成若干个子项目,不同的软对负责不同的子项目。
增加功能时,只需要增加一个子项目,调用其他系统的接口就可以。
可以灵活的进行分布式部署。
分布式的缺点:
系统之间交互需要使用远程通信,接口开发增加工作量。
各个模块有一些通用的业务逻辑无法使用。
三、基于SOA的架构
为了解决分布式的架构的缺点,我们可以使用基于SOA的架构。SOA:Service Oriented Architecture 面向服务架构。也就是把工程拆分成服务层、表现层两个工程。服务层中包含业务逻辑,只需要对外提供服务即可。表现层只需要处理和页面的交互,业务逻辑都是调用服务层的服务来实现。
[attach]123486[/attach]
四、小编做的网上商城项目的系统架构如下:
[attach]123487[/attach]
dubbo实现系统之间的通信
用MyCat实现数据库集群
redis实现缓存
solr服务用于维护索引库
消息队列MQ用于实现系统之间解耦用的。
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/)
Powered by Discuz! X3.2