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的自动化运维。 界面展示 商家中心展示 平台端展示 产品技术栈
官网:http://www.javamall.com.cn/ |