内容简介:Javashop是基于Java开发的企业级电商平台,现推出7.0版本,更新内容如下: 一、采用Spring boot。 二、restful 化(无状态、跨域,三端支撑)。 三、前后端分离。 四、认证采用token式。 五、三端分离部署(买家、...
Javashop是基于 Java 开发的企业级电商平台,现推出7.0版本,更新内容如下:
一、采用Spring boot。
二、restful 化(无状态、跨域,三端支撑)。
三、前后端分离。
四、认证采用token式。
五、三端分离部署(买家、卖家、平台)。
六、订单事务优化,采用 Redis 执行 lua 脚本扣减库存,进一步提升性能。
七、完整的单元测试(覆盖所有controller及复杂的业务类)。
八、完整的Swagger API文档。
九、数据模型规范:DO/DTO/VO。
官网:http://www.javamall.com.cn/
架构概览
Javashop使用Spring Boot做为基础架构,使用spring mvc实现Rest API,并通过Swagger提供了完整的API可实现化文档,使用Spring security做为安全机制,采用token式验权(使用jwt),使用spring cloud的config server做为统一的配置中心,使用druid做为数据库连接池。
订单流程架构
电商业务中一大难点就是订单的库存扣减,为了防止超卖如果采用行级锁或分布式锁都会导致性能低下,Javashop 采用REDIS+LUA脚本、分段提交策略,实现了一套补偿式分布式事务解决方案,在保证高可用的同时,确保数据一致性。
静态页生成及展示
电商系统中有一些高频访问、但变化性很小的页面,如首页、商品详情页。Javashop将这些页面生成在Redis集群中,再通过lua脚本直接输出给浏览器,实现了这些页面的高性能、高可用。
当这些页面变化时,如首页楼层被装修、或商品数据被改变时,会发送消息到amqp,消费者会重新生成相关页面,以此保证数据的一致性。
部署概览
Javashop基础设施的部署有:Mysql集群、Redis 集群、RabbitMq集群、Elasticsearch集群和XXL-Job(任务调度集群)。
支持基于 Docker 的自动化运维。
界面展示
商家中心展示
平台端展示
产品技术栈
后端 |
|
核心框架 |
Spring Boot |
MVC框架 |
Spring MVC |
持久框架 |
Spring JDBC Template |
程序构建 |
Maven |
数据库 |
Mysql |
消息中间件AMQP |
RabbitMQ |
缓存 |
Redis |
搜索引擎 |
Elasticsearch |
安全框架 |
Spring Security |
数据库连接池 |
Druid |
定时任务 |
xxl-job |
负载均衡 |
Nginx |
静态资源分发 |
Oss,FastDFS |
日志处理 |
Log4j |
Session处理 |
Spring Session Redis |
代码检查 |
alibaba/p3c |
接口规范 |
RESTful |
前端 |
|
构建工具 |
webpack |
JS版本 |
ES6 |
基础JS框架 |
Vue.js |
辅助JS库 |
jQuery |
路由管理 |
Vue Router |
状态管理 |
Vuex |
基础UI库 |
Element UI |
UI界面基于 |
vue-element-admin |
网络请求 |
Axios |
CSS预处理 |
Scss |
代码检查 |
ESLint |
服务端渲染 |
Nuxt.js |
报表系统 |
ECharts |
富文本编辑器 |
百度 UEditor |
图片上传插件 |
百度 Web Uploader |
官网:http://www.javamall.com.cn/
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 共享定制云平台 AWCP 平台 1.6 发布,集成 solr 引擎
- 共享定制云平台 AWCP 平台 1.6 发布,集成 solr 引擎
- 中国首个边缘计算平台开源,百度发布智能边缘开源平台 OpenEdge
- Magpie 抽奖平台 0.4 版发布,支持 Windows、Linux、MacOS、Docker 全平台
- 简云 Saas 平台 1.2 版本发布
- 爬虫平台Crawlab v0.2发布
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
MySQL权威指南
Randy Jay Yarger / 林琪、朱涛江 / 中国电力出版社 / 2003-11-1 / 49.00元
为一种开源数据库,MySQL已经成为最流行的服务器软件包之一。开发人员在其数据库引擎中提供了丰富的特性(只需很少的内存和CPU支持)。 因此,众多Linux和Unix服务器(以及一些Windows服务器)都采用MySQL作为其数据库引擎。由于MySQL作为Web站点后端时速度特别快而且相当方便,所有在目前流行的一个词LAMP(表示Linux、Apache、MySQL和Perl、Python或......一起来看看 《MySQL权威指南》 这本书的介绍吧!