前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >解密电商系统-订单交易业务

解密电商系统-订单交易业务

作者头像
IT架构圈
发布2021-10-11 10:31:02
6740
发布2021-10-11 10:31:02
举报
文章被收录于专栏:IT架构圈

很多人都在淘宝购买过东西,基本的流程都是一致的。

订单(一)

•① 购物车

例如:jd分为自营和多家店铺的,它的购物车比较复杂些。购物车如果保存在session中的话,用户量比较大的情况下,tomcat承受不住。比较合理的方式是保存在redis中,来一起说下redis保存的数据格式。针对购物车结构

1.CartGroup(一个店铺一个CartGroup)2.CartPkg(一个订单就是一个包裹)3.一个订单里面就是一个List

购物车分两种,登录前购物车和登录后购物车

1.登录前是通过redis内部保存的,key=ip_类型(pc,ios,android)2.登录后是通过用户的userid,key=userId3.登录前到登录后他们两者通过redis进行对比,获取最新的合并结果。

•② 下单

买个索尼电视,佳能的相机,这是2个店铺,配送方式不同,仓库也不一样,每个商家的优惠力度也不一样,有打五折的,有打七折的。例如:苹果打5折,我买10个,地址是在郑州,配送方式是从武汉,武汉仓库只有9个苹果,但是河北那边有2个,长沙有3个。按照订单理论如果武汉有11个,买10个刚刚够你买。但是现在武汉只有9个,所以直接就给你发了武汉的9个,河北的1个,够你要的10个,这个就是就近原则。但是这样有个问题退单怎么办,整体退单要退一起退,反之不要退。设计到订单的拆分合并。

订单号生成?订单防重。只要保证分布式下不重复就可以

1.redis incr 自增2.时间戳+自增变量3.UUID

•③ 电商订单的流程梳理

t_order 订单表

t_orderdetail订单明细表

t_orderpay 支付记录表

t_ordership 订单配送表

t_orderlog订单日志表

t_express快递配送表

• ④ MQ实现最大特点:异步和解耦。(付款,订单状态,发布状态)

统一配置文件神器-Disconf(二)

百度disconf是一套完整的基于zookeeper的分布式配置统一解决方案。一个分布式环境中,同类型的服务往往会部署很多实例。这些实例使用了一些配置,为了更好地维护这些配置就产生了配置管理服务。通过这个服务可以轻松地管理成千上百个服务实例的配置问题.

•① 官网介绍

https://github.com/knightliao/disconf 虽然3年没维护了,但是依然很给力

•② 文档

http://disconf.readthedocs.io/zh_CN/latest/

•③ 介绍

•④ disconf的模块架构图

•⑤ 快速开始

这里直说pom里面的配置,具体看disconf文档写的更清楚

代码语言:javascript
复制
<dependency>
    <groupId>com.baidu.disconf</groupId>
    <artifactId>disconf-client</artifactId>
    <version>2.6.36</version>
</dependency>
<dependency>
    <groupId>org.apache.httpcomponents</groupId>
    <artifactId>httpclient</artifactId>
    <version>4.5.5</version>
</dependency>
<dependency>
    <groupId>org.apache.httpcomponents</groupId>
    <artifactId>httpcore</artifactId>
    <version>4.4.6</version>
</dependency>

PS:订单交易的流程和在web开发中如果多项目通过统一配置文件来进行处理。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-09-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 IT架构圈 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 订单(一)
  • 统一配置文件神器-Disconf(二)
相关产品与服务
云数据库 Redis
腾讯云数据库 Redis(TencentDB for Redis)是腾讯云打造的兼容 Redis 协议的缓存和存储服务。丰富的数据结构能帮助您完成不同类型的业务场景开发。支持主从热备,提供自动容灾切换、数据备份、故障迁移、实例监控、在线扩容、数据回档等全套的数据库服务。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档