电商项目的常见问题

1.单点登录

  • sso,token,cookie,session

  • 有状态登录与无状态登录

2.购物车

  • 分为两种状态的购物车有状态登录与无状态登录

  • 数据的存储方式redis+mysql

  • 对于实时价格和比价和价格同步的解决方案redis缓存+MQ的最终一致性

3.如何保证幂等性

  • 唯一标识解决幂等性

  • 时间戳解决

  • 数据库自增解决

  • 用户id+时间戳

  • 用户手机号+时间戳

  • 全局表主键自增

  • redis的incr指令

  • UUID解决

  • 雪花算法

  • 美团的leaf

  • 百度的UIDGenerator

4.拦截器

  • 数据的传递

    pubulic

    request

    Threadlocal

5.异步任务

  • 实现AsyncUncaughtExceptionHandler接口

  • 实现AsyncConfigurer接口

  • 异步任务

    声明式异步:SpringTask提供了一套注解

    编程式异步:4种多线程方式,CompletableFuture

6.定时任务

  • 时间驱动,异步执行,批量处理

  • 定时任务的实现方式

    jdk

    专业框架

    分布式定时任务

    mq+死信队列

7.页面静态化

  • 理论静态页面的访问速度高于动态页面的访问

  • 具体的实现使用静态页面的模板+nginx的拍桌子

  • 如何解决数据的不一致性的问题利用mq的消息队列

8.网关过滤

  • 全局过滤器

  • 局部过滤器

9.jwt

  • 三部分组成

    • header

    • payload

    • signature

10.多线程的玩法

  • thread基类

  • 实现runnable

  • callable+futuretask

  • 线程池

11.异步编排

  • CompletableFuture

    1.初始化方法:4个
            runAsync:初始化没有返回结果集的异步任务
            supplyAsync:初始化由返回结果集的异步任务
    2.计算完成时方法:4个
        whenComplete(Async):不管有没有异常都会执行
        exceptionally:只有出现异常时才会执行
    ​
    3.串行化方法:9个
        thenApply(Async):可以获取上一个任务的结果集,也有自己的返回结果集
        thenAccept(Async):可以获取上一个任务的结果集,没有自己的返回结果集
        thenRun(Async):既不获取上一个任务的结果集,也没有自己的返回结果集
    ​
    4.组合方法:2个
        allOf:所有任务执行完成才会放行
        anyOf:任何一个任务执行完成就会放行

12.分布式锁解决缓冲击穿问题

  • 为了减少代码的耦合度可以使用

    AOP+自定义注解的封装

13.布隆过滤器

  • 牺牲精度换取空间效率和时间效率的概率数据结构

  • 特点

    判断一个数据存在可能不存在

    判断一个数据不存在则一定不存在

  • 数据同步

    键值

    • 新增

    • 删除

    • 更新

    非键值

    • 时效性要求不高

    • 失效性要求高

14.缓存

  • 特点内存访问效率高于硬盘的访问速度

  • 缓存写的一致性

    双写一致性

    失效模式

    双删模式

    中间件

  • 缓存读的问题

    缓存穿透 不存在的数据 解决null布隆过滤器

    缓存雪崩 设置相同的过期时间 解决设置时间的随机值

    缓存击穿 热点key过期 解决方案设置分布式锁

15.多线程

16.异步编排

17.代码生成器

18.依赖,配置文件,启动类注解,网关,hosts文件,nginx

19.Java的三层结构创建

20.fliwk框架

21.补偿机制

22.分布式事务的特点

23.超时问题解决

24.服务器宕机如何解锁库存

利用延时队列+死信队列

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值