1、由于orderId是业务主键,一般情况想到会在业务逻辑层生成,但是若在分布式环境,有可能存在网关层断连重新请求被分配到另外的业务逻辑层从而生产新主键,故想法存在不足;
2、在客户APP层生成,理论上可行,但是可能造成不可控安全风险,故在APP层生成不可取;
3、采用OAuth2.0授权模式,有APP层生成一个code,传递到达业务逻辑层,有业务逻辑层查询redis获取code和orderId的对应关系,若没有生成orderId并插入redis,以便分布式部署请求中的查询和使用,并且为了redis简约,code和orderId的对应关系一般设置过期时间。