第一阶段 传统项目架构:
特点:只存在一个war包,所有业务集中一个项目进行开发。
采取技术:jsp + java
部署缺点:
1. 并发很低(并发数: 10 +-)
2. 容错性差(不具有高可用性)
3. 维护性差
解决方案:
1. 项目采用MVC方式进行开发
2.数据库和项目分离
第二阶段 数据库项目分离
特点:项目与数据库进行拆分分布式(分布式拆分)
采用技术:MVC框架开发 (项目开发必须分层)
优点:
1. 并发量提升(并发数: 500+-)
2. 提高访问速度
缺点:
1. 容错性差(不具有高可用性)
2. 并发数量不能满足互联网需求
解决方案:
集群
第三阶段 集群方式部署
特点:数据库,项目采用集群进行部署
优点:
1. 容错性提高,具有高可用性
2. 并发能力增加
缺点:
1. 并发能力不满足互联网需求
2. 请求分发?---> Nginx 分发请求
3. session共享?----> 第三方服务器(redis)储存用户信息
第四阶段 面向服务的分布式架构 (SOA)
一 webservice版本
优点:
1. 并发能力提高(并发数:10000+-)
2. 分布式项目采用集群部署(高可用性)
缺点:
1. 网络抖动
2. 进程繁忙
解决方案:
使用DUBBLEx框架
二 DUBBLE版本
1. 表现层拆分成一个war包
2. 服务层拆分为一个war包
3. web层和service层通过dubble进行远程调用