ssm分布式架构电商项目(一)
电商行业技术特点
Ø 技术新
Ø 技术范围广
Ø 分布式
Ø 高并发、集群、负载均衡、高可用
Ø 海量数据
Ø 业务复杂
Ø 系统安全
分布式:一件事情,拆开来做
集群:同样的事情,大家一起做
1. 淘淘商城系统功能
1.1. 系统功能图
1. 系统架构
1.1. 传统架构
1.1.1. 500并发
存在的问题:
1、功能耦合度高
2、系统维护成本高
3、如果并发量大,无法解决高并发的问题
电商的高并发1000以上
存在的问题:
1、系统无法有效进行水平扩展(集群不能针对功能模块)图5.1
2、用户存在重复登录的问题
针对第二点:需要session共享,是以session广播的形式,比较消耗资源,宽带。
如果要达到10000并发
需要20台服务器做tomcat集群。当tomcat集群中节点数量增加,服务能力先增加后下降。
所以集群中节点数量不能太多,一般也就5个左右。
需要按照功能点把系统拆分,拆分成独立的功能工程,可以单独为某一个节点添加服务器,需要系统之间配合才能完成整个业务逻辑这就叫做分布式。
集群:相当于同一个工程代码拷贝多份部署到多台服务器,每台服务器单独独立部署运行。
分布式架构:
把系统按照模块拆分成多个子系统;多个子系统相互协作才能完成业务流程系统之间需要进行通信。
优点:
1、把模块拆分,使用接口通信,降低模块之间的耦合度。
2、把项目拆分成若干个子项目,不同的团队负责不同的子项目。
3、增加功能时只需要再增加一个子项目,调用其他系统的接口就可以。
4、可以灵活的进行分布式部署。
缺点:
1、系统之间交互需要使用远程通信,需要开发接口,增加工作量。
2、各个模块有一些通用的业务逻辑无法公用。
1.1.1.
基于SOA的架构
SOA:Service Oriented Architecture面向服务的架构。也就是把工程都拆分成服务层工程、表现层工程。服务层中包含业务逻辑,只需要对外提供服务即可。表现层只需要处理和页面的交互,业务逻辑都是调用服务层的服务来实现。工程都可以独立部署。
1.1. 淘淘商城系统架构
2. 技术选型和开发环境
2.1. 技术选型
Ø Spring、SpringMVC、Mybatis
Ø JSP、JSTL、jQuery、EasyUI、KindEditor(富文本编辑器)
Ø Redis(缓存服务器,单点登录,购物车)
Ø Solr(搜索)
Ø dubbo(分布式服务框架)
Ø HttpClient(HTTP协议访问客户端)
Ø ActiveMQ(消息队列)
Ø Quartz(定时任务)
Ø FastDFS(图片服务器)
Ø FreeMarker(网页静态化)
Ø Nginx(反向代理服务器)
Ø MyCat(数据库中间件)
2.2. 开发工具版本和环境
Ø Eclipse Mars.2
Ø Maven 3.3.9
Ø Tomcat 7.0.72(Maven Tomcat Plugin)
Ø JDK 1.7
Ø Mysql 5.7
Ø Dubbo 2.5.3
Ø Nginx 1.8.0
Ø Redis 3.0.0
Ø ActiveMQ 5.13.0
Ø Win7操作系统
Ø SVN(版本管理)