不同开发情境下的架构设计(干货)

1.需求:OA办公系统,满足300-400人并发量,架构如何设计,技术选型

  • 采用单体架构
  • 技术选型:
    后端:SSM,Redis等等
    前段:Bootstrap,jquery,Ajax,Echarts等等
    数据库:Mysql sqlyog 建模:powerdesinger
    服务器:jdk8 tomcat8 maven svn
    缺点:
    1.业务越来越复杂,单体架构扩展性不足,业务扩展带来的代价越来越大;
    2.用户越来越多,程序承受的并发越爱越高,单体应用的并发能力有限;
    3.单体应用的业务都在同一个程序中,增删改业务修改,也会影响其他代码,给测试增加了难度

在这里插入图片描述
2.需求:OA办公系统,具体满足1000人,架构如何设计?
采用 集群架构

  • 技术选型:
    后端:SSM,Redis等等
    前段:Bootstrap,jquery,Ajax,Echarts等等
    数据库:Mysql sqlyog 建模:powerdesinger
    服务器:jdk8 tomcat8 maven svn
    反向代理:Nginx
    集群架构缺点:节点越多,效率越低

存在问题:
1.tomcat调优
单台tomcat的并发量 300-400之间 tomcat最大能优化到500,所以搭建两台tomcat即可

2.session共享问题
tomcat集群实现session共享:
1.session广播机制
2.利用数据库和cookie

在这里插入图片描述

3.需求:OA办公系统,具体满足5000左右人,架构如何设计?
采用 采用SOA分布式架构

  • 技术选型:
    后端:SSM,dubbo,zookeeper,Solr,ActiveMQ,Redis等等
    前段:Bootstrap,angularjs,jquery,Ajax,Echarts等等
    数据库:Mysql sqlyog 建模:powerdesinger
    服务器:jdk8 tomcat8 maven svn
    反向代理:Nginx

问题:
1.什么是SQA架构
面向服务的架构(表现层和服务层进行分离的架构)
系统之间的通信使用的是 dubbo
在这里插入图片描述

4.需求:OA办公系统,具体满足10000人,架构如何设计?
采用 采用微服务架构

  • 技术选型:
    后端:SpringBoot+JPA(mybatis)+SpringCloud等等
    或 SpringBoot+Mybatis+Dubbo+zookeeper等等
    前端:vue+elementUI+jquery+ajax 模板引擎freemarker或Thymeleaf
    数据库:Mysql redis MongDB 建模:powerdesinger
    服务器:jdk8 tomcat8 maven svn
    反向代理:Nginx

问题:
1.微服务的作者?
martin fower
2.微服务架构和传统架构的区别?
微服务每个功能元素,都是可度立体现,独立升级的软件单元
在这里插入图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章