系统架构设计

什么是架构?

架构就相当于我们要盖一栋楼时的框架。系统架构就类似于工程的结构。

一、传统架构

系统架构设计_第1张图片
用传统的架构,1000并发量需要2太服务器做tomca集群
系统架构设计_第2张图片
但是由于系统用的人越来越多,并发量越来越大待到并发量为10000时,需要20台服务器做tomcat集群。当tomcat集群中节点数量增加,服务器能量先增加后下降。所以集群中节点的数量不能太多,一般也就5个左右。难以实现高数据量的并发,5台服务器难以正常工作。
什么是集群?
集群就是多个服务器做的是同一件事、运行同一个工程。也就是说同一个工程部署到多台服务器上。

二、分布式架构

能用硬件解决的问题就不用软件解决、硬件解决不了就用软件解决。
如何用软件解决?
当并发数高时,需要按照功能吧系统拆分,拆分成独立的功能。单独为某一个节点添加服务器。需要系统之间配合才能完成整个业务逻辑,叫做分布式
分布式架构:把系统安装模块拆分成多个子系统,多个子系统相互协作才能完成业务流程,系统之间需要进行通信。
系统架构设计_第3张图片
分布式架构优点:

  1. 把模块拆分,使用接口通信,降低模块之间的耦合度。
  2. 把项目拆分成若干个子项目,不同的软对负责不同的子项目。
  3. 增加功能时,只需要增加一个子项目,调用其他系统的接口就可以。
  4. 可以灵活的进行分布式部署。

分布式的缺点:

  • 系统之间交互需要使用远程通信,接口开发增加工作量。
  • 各个模块有一些通用的业务逻辑无法使用。

三、基于SOA的架构

为了解决分布式的架构的缺点,我们可以使用基于SOA的架构。SOA:Service Oriented Architecture 面向服务架构。也就是把工程拆分成服务层、表现层两个工程。服务层中包含业务逻辑,只需要对外提供服务即可。表现层只需要处理和页面的交互,业务逻辑都是调用服务层的服务来实现。
系统架构设计_第4张图片

四、小编做的网上商城项目的系统架构如下:

系统架构设计_第5张图片

  • dubbo实现系统之间的通信
  • 用MyCat实现数据库集群
  • redis实现缓存
  • solr服务用于维护索引库
  • 消息队列MQ用于实现系统之间解耦用的。

你可能感兴趣的:(——【SSM框架】)