惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

WordPress大学
WordPress大学
A
About on SuperTechFans
量子位
B
Blog RSS Feed
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
博客园_首页
MongoDB | Blog
MongoDB | Blog
小众软件
小众软件
Blog — PlanetScale
Blog — PlanetScale
Microsoft Azure Blog
Microsoft Azure Blog
V
V2EX
Google DeepMind News
Google DeepMind News
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
H
Hackread – Cybersecurity News, Data Breaches, AI and More
G
Google Developers Blog
U
Unit 42
D
DataBreaches.Net
博客园 - Franky
D
Docker
宝玉的分享
宝玉的分享
Y
Y Combinator Blog
月光博客
月光博客
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Hugging Face - Blog
Hugging Face - Blog

Lanke

Google 账号地区是日本,ChatGPT 订阅为什么还是美元? 在 Flutter 项目里折腾苹果的液态玻璃效果 从“宅斗庶女”看极端女权 一期一会 关于梦 用 Vercel AI Gateway 给博客做一个 AI 摘要服务 Claude 搜索网页报错:Unable to verify if domain is safe to fetch 的解决方法 Flutter输入面板布局优化:键盘、表情面板与@联想的丝滑切换 再谈语言和思维 还有人记得 在2026年拥有自己的博客 为 Astro 博客添加 llms.txt 使用 LLM Wiki 作为 Hermes Agent 的记忆系统 使用Obsidian 作为 Hermes Agent 的记忆数据库 流畅的下滑关闭页面 好看的鼠标样式 拖了很久的更新,还是来了 Linux · 常用日志查询命令 面试 · Java面试二 面试 · Java面试一 如何实现验证码及校验 在电脑上共存MySQL 三道前端题 「随便来点」失语症 一些碰到的面试问题 关于博客主题的自问自答 重装电脑后恢复MySQL数据 如何畅玩旮旯game之软件篇--串流 欢迎来到实力至上主义教室 谈“诚哥”之死
遇到的一起生产事故
Lanke · 2026-04-04 · via Lanke


起因

前几天上班,新同事来找我帮忙。

他负责的一位用户想用自己的账号中的 ApiKey,结果提示要绑定手机号;绑定手机号又一直失败,搞不定,于是来请教。

我一听,觉得是个小 case——用户之前可能已经注册过,直接按手机号查一下后台,应该就能找到对应的账号。便让同事去查。

同事查完反馈:后台只找到一个用户。

我第一反应是手机号绑定功能有 bug,打算直接帮用户重置一下。结果——改完手机号之后,用户那边炸了:账号不对了,原本的 VIP 消失不见,还有一年的会员没到期呢。

这下我有点慌。毕竟,这是我第一次碰上生产环境的事故。

冷静下来,我把同事和用户的聊天记录要过来翻了一遍。终于发现——漏了一个关键信息:用户的 ID。

同事反馈时只提了手机号,我也是照着手机号去查的,所以在线上数据库里只查到了一个人。

但仔细一看,我又发现了一个"很新的 ID"——查了一下,这个 ID 下没有任何手机号,只有一个 open_id(微信的)。

事情一下子清晰了。


原因

我们网站支持两种登录方式:

  • 手机号注册登录

  • 微信扫码登录

问题来了:这两种登录方式之间没有绑定关系。

也就是说,手机号注册的账号和微信扫码的账号,是两个独立账户。数据不互通,VIP 不共享,key 也是分开的。

这位用户的情况是这样的:

  1. 先用手机号注册了一个账号(账号 A),使用了一段时间,快要到期

  2. 后来又用微信扫码登录,网站自动为他创建了一个新账号(账号 B)

  3. 用户以为这是同一个账号,但实际是两个独立账户

  4. 当同事按手机号去查,只能查到账号 A,账号 B 完全不在查询范围内

这就是为什么后台只显示一个用户,而用户却发现自己的 VIP "消失"了——VIP 在账号 B 里,根本不在同事查到的那个账号里。


解决办法

事后我们讨论了两种解法:

强制绑定。 当用户用微信扫码登录后,系统自动检测是否已存在相同手机号或微信的关联账号,如有则提示用户主动合并两个账户,合并后数据汇总,保留两个登录入口。

登录时引导绑定。 用户使用任一方式登录后,若检测到账号未绑定其他登录方式,主动弹出引导页,提示用户"绑定后可使用两种方式登录同一账号"。

短期应急。 目前临时方案是用户在账号找回时遇到问题,可联系客服人工核实身份后,手动合并两个账号。


吐槽

前同事写的后端,怎么连这个基本的东西都没做……

不过目前尚且够用,也就先不改了。

文章标题:遇到的一起生产事故

文章作者:Lanke

文章链接:https://blog.blueke.top/posts/yu-dao-de-yi-qi-shi-gu[复制]

发布时间:


商业转载请联系站长获得授权,非商业转载请注明本文出处及文章链接,您可以自由地在任何媒体以任何形式复制和分发作品,也可以修改和创作,但是分发衍生作品时必须采用相同的许可协议。
本文采用CC BY-NC-SA 4.0进行许可。