资讯中心
行业洞察、技术分享与服务案例。我们把项目里踩过的坑和总结的方法写下来,希望对正在做信息化建设的你有用。
Selected work
项目界面
交付过的真实界面,左右切换浏览,点击可放大看细节。
Prometheus 加 Grafana,先盯了 5 个指标
上监控没一上来堆几十个面板,先只盯 5 个数:接口 P95 响应时间、5xx 比率、MySQL 连接数、Redis 命中率、队列长度。Prometheus 抓,Grafana 画一屏,阈值写在旁边。跑了一个月才加第 6 个:磁盘剩余。告警只发到一个群,别一上来铺满手机。
阅读全文北大国际 BiMBA 捐赠页,支付回调对账
北大国际 BiMBA 校友捐赠页,金额可选也可自填,支付走第三方。最费劲的是回调:同一笔通知来了 2 次,有一次延迟 40 分钟。按商户订单号做幂等,另加定时任务每 30 分钟主动查单补漏,每天下午导出一张明细给财务对账。
阅读全文报价里,测试为什么单列
报价单上把测试单列一行,常有人问「开发不就包含测了吗,能不能去掉」。我们的答案很直白:那一行不是给开发擦屁股的,是给验收一个可核对的东西。写清测什么、几轮、谁签字。有次客户删了这行,上线后返工 4 天,比那行钱多。
阅读全文RabbitMQ 把订单和短信拆开
下单接口原来同步干四件事:写库、发短信、推企业微信、记日志,慢的时候 1.2 秒。把后三件丢进 RabbitMQ,接口只留写库和投递消息,降到 200 毫秒出头。踩过两个坑:消息没开持久化重启丢了 6 条、消费者没做幂等重复发了一次短信。
阅读全文生鲜小程序冷链,配送时段和库存预占
生鲜小程序加冷链配送,下单要选早市 5 点到 7 点、午前、下午三档时段。难点是每档车容量有限,不能只扣商品库存。给 delivery_slot 表加了 capacity 和 booked 两列,下单时条件更新,满了引导改选,定时任务每 10 分钟释放未支付预占。
阅读全文甲方问能不能两周上线,我们的排期表
「两周能不能上线」,直接说能或不能都不负责。我们一般把两周摊开:需求确认 2 天、开发 5 天、联调 2 天、测试 2 天、验收加缓冲 3 天,一共 14 天,前提是内容不再加、材料按时到。真赶过一次,砍的是两个次要页面,不是测试。
阅读全文接口幂等,重复提交那 3 笔订单
一个下单接口,同一笔订单被创建了 3 次,原因是前端超时重试,后端每次都当新请求。没上分布式锁,先在请求头里加了一个客户端生成的 request_id,服务端用它做唯一索引,重复的返回第一次结果。顺带把超时时间从 3 秒调到 8 秒,重试反而少了。
阅读全文活动报名现场扫码,2000 行 CSV 导入
一场行业活动,客户提前发来 2000 多行历史名单要导进现场签到系统。CSV 6 列,有 3 处合并单元格留下的空值、十几行手机号带空格。现场 8 点开门,我们 7 点 10 分在展馆跑导入,先出预览再写库。峰值一小时扫了 600 多人,没排长队。
阅读全文智能化改造这四个字,我们先拆成三张表
客户说要做「智能化改造」,范围大得没法报价。我们先不接这四个字,在白板上拆成三张表:现在有哪些东西在跑、每天哪些动作重复、哪些决定靠人拍脑袋。三张表填完,需求自己收窄了。那次最后落地只有两个功能:自动汇总和到期提醒。
阅读全文进口旅游网站改版,签证表单并进去了
2016 年那套三语旅游站改版,把独立的签证申请表单并进行程页。最麻烦的是草稿:用户选完行程再填签证,字段不能重填。给草稿表加了行程 id,跨页用同一个 draft_id 串起来,定时任务清 7 天没动的。语言切换靠 cookie 记 language_code,草稿不丢。
阅读全文Elasticsearch 搜 2 万条商品,分词调了两轮
商品库 2 万多条,MySQL LIKE 搜「铁观音」搜不到带后缀的品名。上了 Elasticsearch,第一版默认分词把「安溪铁观音」拆得太碎,出来一堆不相干的;第二版品名配 ik_max_word、搜索用 ik_smart,另加拼音字段。同步靠定时任务每 10 分钟增量跑一次。
阅读全文红帆生物官网,资料下载按角色放行
红帆生物官网改版,产品资料分公开、经销商、内部三档,下载按角色放行。没上复杂权限系统,文件表加一列 level,登录态带角色,Nginx 用 X-Accel-Redirect 藏住真实路径。每个下载留了日志:谁、几点、哪份,能按月份筛,导出给市场部核。
阅读全文











