51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

测试开发精英班,通向高级软件测试工程师【周活动】 找茬--心里圈的故事 !【长期招募】博为峰网校招聘兼职讲师!横扫BAT,Python全栈测试开发技能大全
【105期】:敏捷流程下的测试理论及探索性测试 【征稿】提交你的测试成绩单! 【专题】用尽一切办法只为让你学好用例 自学软件测试那点事
查看: 597|回复: 0

[原创] 系统架构设计

[复制链接]

该用户从未签到

发表于 2019-3-29 16:12:21 | 显示全部楼层 |阅读模式
什么是架构?

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

一、传统架构


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

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

二、分布式架构

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


分布式架构优点:

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

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

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



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

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

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

x
回复

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /2 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2019-8-25 02:08 , Processed in 0.059044 second(s), 26 queries .

Powered by Discuz! X3.2

© 2001-2019 Comsenz Inc.

快速回复 返回顶部 返回列表