不同开发情境下的架构设计(干货)
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.微服务架构和传统架构的区别?
微服务每个功能元素,都是可度立体现,独立升级的软件单元