易写科技商城系统主体框架基于SpringCloud Alibaba开发而成,没有进行任何二次封装,代码100%开源,方便二次开发。
以下表格是采用全部框架详解:
序号 | 使用场景 | 开源框架 | 备注 |
---|---|---|---|
1 | 核心框架 | SpringCloud | 注1 |
2 | 注册中心 | Nacos或者Eureka | |
3 | 熔断器 | Sentinel或者Hystrix | |
4 | 路由器 | Gateway | |
5 | 分布式事务 | Seata | 注2 |
6 | Dao层访问数据 | Mybatis | |
7 | 页面接口文档 | Swagger2 | 注3 |
8 | 电脑前端 | VUE | |
9 | 后台UI框架 | Element UI | |
10 | 手机端 | Uni-app | |
11 | 搜索引擎 | ElasticSearch或者Solr | 注4 |
12 | 统一日志处理 | ElasticSearch、Logstash、Kibana | |
13 | 程序构建 | Maven | 注5 |
14 | 负载均衡、静态服务器 | Nginx | |
15 | 数据库 | MySQL | 注6 |
16 | 缓存 | Redis | |
17 | 安全框架 | Shiro | |
18 | 数据库连接池 | Druid | |
19 | 定时任务 | Spring Scheduler | 注7 |
20 | 报表系统 | ECharts | |
21 | JSON处理 | Google Gson | |
22 | 商家后台页面 | Bootstrap、Html5 | |
23 | 富文本编辑器 | UMeditor | |
24 | 图片延迟加载 | jQuery.lazyload |
注1:有两套微服务的技术体系,一套是基于Netflix微服务组件开发的,另外一套寄基于SpringCloud Alibaba微服务组件开发而成,可以根据公司的技术体系来进行选择。
注2:易写科技B2B2C大客户版本吧数据库拆分成7个分别是:1、系统库;2、用户行为日志数据库;3、商品库;4、会员库;5、订单库;6、商家库;7、分布式事务数据库。服务也是拆分开的,用Seata来解决分布式事务。
注3:每一个接口都有详细的Swagger2文档,并可以通过页面之间进行测试。
注4:ElasticSearch和Solr都是基于Lucene开发而成,可以根据自己开发来选择搜索引擎。
注5:项目基于Maven构建,不会提供一个私有的jar包,也没有对开源框架在进行封装,所有jar包都是从中央仓库下载。
注6:MySQL主从复制采用MySQL的二进制日志文件,实现数据同步。二进制日志由主服务器产生,从服务器响应获取同步数据库。
注7:也可以采用xxl-job来替换。