首页 > 其他分享 >记一次线上事故(2024-08-24)

记一次线上事故(2024-08-24)

时间:2024-08-26 11:37:53浏览次数:10  
标签:24 存储 155 08 金额 2024 支付 100 数据库

事故描述

线上支付金额异常, 平台配置支付155元, 用户实际付款1.55元.

临时解决

方案1:
调整中台配置价格, 调整价格为15500元, 那么实际支付金额=155元. (最快解决实际支付金额)
影响:
用户前端页面查看金额为15,500, 会导致客户投诉(方案产品驳回)
方案2:
更改后台支付逻辑代码, 手动增加100倍.用于调起三方支付.
影响:
1.后台发版,服务波动(金额已经错了,没有更坏的结果了)
2.后续bug修复后代码还原, 并行期间可能出现配置155,实际支付15500情况.(可通过夜间使用量少时发版解决问题)

事故起因

  1. 初始版本中台配置按照元配置, 数据库存储为分(数据库int存储不能有小数),前端存储和展示做了*100的转换, 后续更改为所见及所得, 按照元配置,数据库按照元存储.涉及的组比较多没有通知到位, 或者通知过程中理解存在偏差.(无落实到直面的邮件/文档)
  2. 调起支付相关组件为第三方mpay. 存在测试环境没法调用的情况,测试环境的app没有真实上架,mpay限制支付.因为需要香港手机号注册对应账号, 正式环境覆盖不到位.
  3. 发版后观察不到位. 涉及金额改动,发版后除了自测,需要及时观察线上用户使用情况, 及时对账查看入款相关信息,间隔1个月才发现.

重新梳理需求

  1. 为什么要更改最小单位? 平台除了对接国内,还存在国外对接, 对接国外印尼支付midtrans, 印尼相关的货币体系和中国存在差异. 中国设置xx.xx元, 后台需要int类型存储最小单位xxxx分(不用double防止丢失精度). 印尼货币换算1元=2158卢比. 数据库存储=215800(中台不区分印尼的卢比还是人民币的元), 如果设置100元, 数据库存储21580000. 2千多万. 数字可读性有些差.
  2. 后续增加了澳门支付. 澳门的最小单位元,能否满足要求, 比如月租是否会出现14.99类似的设置.如果去掉100的换算是否可行?

标签:24,存储,155,08,金额,2024,支付,100,数据库
From: https://www.cnblogs.com/yswb/p/18380703

相关文章

  • 2024 Datawhale X 李宏毅苹果书 AI 夏令营第5期——跟李宏毅学深度学习(入门)
    本方向学习目标本方向的核心学习目标是——通过《深度学习详解》和李宏毅老师21年的机器学习课程视频,入门机器学习,并尝试学习深度学习,展开代码实践(选修)。相关学习链接......
  • 2024年智能革命:HarmonyOS NEXT与盘古大模型5.0的颠覆性融合
    引言2024年,这一年注定在全球智能设备市场的历史上写下浓墨重彩的一笔。作为全球科技巨头,华为再次以其前瞻性的布局,推动了技术与应用的深度融合。在这个充满变革的时代,华为通过不断扩展的鸿蒙生态系统,重新定义了操作系统与AI技术的结合方式。你是否已经感受到这场变革的力量?在全......
  • B站宋红康JAVA基础视频教程个人笔记chapter08-09(异常处理+多线程)
    文章目录1.异常处理方式1:try-catch-finally2.异常处理方式1:throws3.程序,进程,线程的区别4.线程的创建4.1线程的创建方式1:4.2线程的创建方式2:5.线程类的常用方法和生命周期5.1线程的生命周期jdk5之前6.线程的安全问题和同步机制6.线程之间的通信6.1为什么需要线程之间......
  • 【2024-08-24】连岳摘抄
    23:59从清晨到黄昏,我在门前坐着,我知道一见到你,那快乐时光就会骤然而至。                                                 ——泰戈尔你顾虑当家庭主妇与时代脱轨。......
  • 【2024-08-23】带娃感受
    20:00年轻一代平视世界,就同时代表了中国的进步,只有去平视这个世界,你才能把真正的自己、完整的自己,更强地发挥出来。                                                 —......
  • .NET周刊【8月第3期 2024-08-18】
    国内文章Roslyn简单实现代码智能提示补全功能https://www.cnblogs.com/lindexi/p/18365261相信有很多伙伴热衷于编写IDE应用,在dotnet系下,通过Roslyn友好的API和强大的能力,实现一个代码智能提示是非常简单的事情。本文将和大家简单介绍一下如何使用Roslyn实现简单的......
  • [笔记](更新中)CSP-S 2024 查漏补缺
    复习内容部分来自NOI大纲中入门级和提高级的内容。联合体(Union)联合体是一种复合数据类型,其的定义上与结构体的定义类似。与结构体不同,联合体中的所有元素共用一块内存,所以它占空间大小一般是最大成员的大小(不考虑对齐的情况下),相应地,任意时刻只有一个成员带有值,如果访问其他成员......
  • Hitachi Vantara Programming Contest 2024(AtCoder Beginner Contest 368)题解A~D
    A-Cut题意:将数组的后k个字符移到前面思路:可以用rotate()函数让数组中的元素滚动旋转rotate(v.begin(),v.begin()+n-k,v.end());直接输出后k个元素,再输出前n-k个元素for(inti=n-k;i<n;i++)write(v[i]);for(inti=0;i<n-k;i++)write(v[i]);B-Decrease2......
  • 2024年云南省职业院校技能大赛中职组 “移动应用与开发”赛项竞赛样卷
    2024年云南省职业院校技能大赛中职组“移动应用与开发”赛项竞赛样卷移动应用开发交流进步裙:958892296文章目录2024年云南省职业院校技能大赛中职组“移动应用与开发”赛项竞赛样卷模块A:移动应用界面设计模块B:移动应用前端开发模块C:移动应用测试与交付一、......
  • 2024年云南省职业院校技能大赛中职组“网络搭建与应用”赛项竞赛样卷
    2024年云南省职业院校技能大赛中职组“网络搭建与应用”赛项竞赛样卷文章目录2024年云南省职业院校技能大赛中职组“网络搭建与应用”赛项竞赛样卷第一部分:网络理论测试(100分)第二部分:网络建设与调试(400分)第三部分:服务搭建与运维(500分)竞赛说明一、竞赛内容分布......