java连redis-sentinel连不上,接下来如何排查?
java连redis-sentinel连不上Java连接redis-sentinel连不上redis-sentinel是在k3s上部署的,使用helm部署的用命令行查看一切正常但是使用java连接报错,详细信息如下环境准备因为java的pod里面是没有redis的,所以下载一个redis-cli,然后拷贝的pod里面,再用命令行连接 {代码...} 安装redis到pod中 {代码...} 直接连接主节点...
2 回答3.2k 阅读
举例
在淘宝,我买了商户a的一双鞋子200块钱,使用了优惠券:满200-50,实际支付150元,送到北京,收件人小明。
淘宝的业务流程
1. 用户提交订单:商品,价格,优惠券,实付金额,收件人,收件地址
2. 用户支付订单,成功走3,失败走4。(锁定优惠券,商品库存)
3. 发货,更改订单状态为已发货...
4. 如果支付失败,优惠券归还给用户
这里涉及到事务的业务是第二步 支付业务,支付业务涉及到的流程必须是原子的。即,
* 当支付成功时,优惠券状态为已使用,商品库存里这一个商品的数量减一
* 当支付失败时,优惠券状态为未使用,商品库存里这一个商品的不变
分布式事务
1. 事务协调人。提供的能力:对一个事务的生命周期负责。
2. 事务发起人。提供的能力:执行一个事务。
3. 事务执行人。提供的能力:1执行事务,2 回滚。
淘宝买鞋时,支付的业务逻辑
1. 淘宝业务系统 向 事务协调人 提交一个事务申请。
2. 淘宝业务系统 消费一个优惠券(调用优惠券系统)
2. 淘宝业务系统 从库存拿一双鞋(调用库存系统)
3. 淘宝业务系统 从用户银行卡里收钱(调用支付系统)
4. 淘宝业务系统 事务结束,等待事务协调人通知执行结果。
5. 优惠券系统 完成事务后,通知事务协调人
6. 库存系统 完成事务后,通知事务协调人
7. 支付系统 完成事务后,通知事务协调人
8. 事务协调人通知优惠券系统 提交事务
9. 事务协调人 通知库存系统,提交事务
10. 事务协调人 通知 支付系统 提交事务。
11. 事务协调人通知 淘宝业务系统 事务执行完成。
另外,如果一个事务在执行的过程中任何一步出现问题,应回滚该事务中的其他步骤。