美文网首页
关于系统架构设计

关于系统架构设计

作者: 牧童US | 来源:发表于2020-12-17 11:29 被阅读0次
    image.png

    这是一个政府综合性系统的整体架构设计。从中可以看到一些模块上的功能需求和大的模块之间的结构性关系。使用传统的mvc模式开发是可以实现的。但是使用传统的mvc模式的同时也受限mvc模式。

    mvc模式
    image.png

    用传统的架构,1000并发量需要2太服务器做tomca集群


    image.png

    但是由于系统用的人越来越多,并发量越来越大待到并发量为10000时,需要20台服务器做tomcat集群。当tomcat集群中节点数量增加,服务器能量先增加后下降。所以集群中节点的数量不能太多,一般也就5个左右。难以实现高数据量的并发,5台服务器难以正常工作。

    什么是集群?

    集群就是多个服务器做的是同一件事、运行同一个工程。也就是说同一个工程部署到多台服务器上。
    因为业务的扩展需要有新的架构模式来满足需求。首先想到的就是业务的拆分,将一个项目拆分成功能专注的多个子项目,子项目之间通过协作的方式完成任务工作。这就是分布式。从而引出分布式架构

    什么是分布式架构?

    分布式架构:把系统安装模块拆分成多个子系统,多个子系统相互协作才能完成业务流程,系统之间需要进行通信。已电商网站为例:

    image.png
    将整个系统拆分为多个子系统是第一步。再进一步就是将单独的业务服务抽离出来例如订单的创建、订单的取消、订单的业务追踪等专注的业务服务。进而结合总线消息通信技术或者RPC技术实现业务服务之间的协助。从而完成更大规模的集群协作配合。
    分布式架构优点:
    1.把模块拆分,使用接口通信,降低模块之间的耦合度。
    2.把项目拆分成若干个子项目,不同的软对负责不同的子项目。
    3.增加功能时,只需要增加一个子项目,调用其他系统的接口就可以。
    4.可以灵活的进行分布式部署。
    分布式的缺点:
    1.系统之间交互需要使用远程通信,接口开发增加工作量。
    2.各个模块有一些通用的业务逻辑无法使用。

    将业务系统拆分为单独的服务模块这就是SOA的架构

    什么是SOA架构?

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


    image.png

    下面是一个项目的解决方案


    image.png
    dubbo实现系统之间的通信
    用MyCat实现数据库集群

    redis实现缓存
    solr服务用于维护索引库
    消息队列MQ用于实现系统之间解耦用的。

    转自:https://blog.csdn.net/wxb141001yxx/article/details/82460305

    相关文章

      网友评论

          本文标题:关于系统架构设计

          本文链接:https://www.haomeiwen.com/subject/oqzagktx.html