1,什么是幂等概念?幂等发生的场景有哪些?
2,rpc调用接口幂等产生的背景;调用接口不通。
3,rpc调用接口使用全局id到底是否靠谱?
4,如何手写RPC调用接口重试策略?
5,rpc调用接口insct接口如何保证幂等性问题?
6,rpc调用update如何保证数据错乱问题?
7,MQ如何防止消费者幂等性问题?
8,定时任务如何保证幂等性问题:
幂等设计
什么是幂等?
如何防止表单重复提交?
幂等 执行多次最终结果只算一次。
RPC调用接口如何保证幂等性问题?
调用接口超时;
客户端向服务器发送http请求,http请求基于请求与响应的,如果服务器端没有及时响应请求给客户端的情况下,有可能会造成客户端会一直阻塞等待。客户端调用服务器接口的时候,会设置一个超时时间5s-10s-30s
如果服务器端处理客户端业务逻辑非常耗时的情况下,应该改成mq异步执行。
接口超时与接口调用不通区别?
接口超时: 服务器端实际上已经接口客户端请求,服务器端没有及时响应请求给客户端。
调用不通: 服务器端已经为宕机状态。
当客户端设置的超时时间<服务器端处理业务逻辑的时间,就好发生重试策略。
不断实现重试发送。
如果重试多次还是无法获取到响应结果请问如何处理?
1,限制重试次数3次。
2,延长客户端调用服务器端接口时间。
3,改用mq异步执行。
如何保证接口幂等性问题:
1,接口实现insert 类型的情况下,根据全局的id提前查询。
每次向数据库里插入数据之前,会先根据去哪聚的查询在数据库中是否存在,如果已经存在的情况下,则不会继续插入---
方案一: 加锁,效率非常低,将程序变为单线程执行。
方案二: 根据全局的id,在数据库中设置一个唯一主键约束。
2,接口类型是为update的时候:
建议使用乐观锁的机制版本号实现
网友评论