
架构/设计
文章平均质量分 92
林子er
写写计算机、编程、互联网方面的通识和历史。
展开
-
我已经受够了“系统异常”!
你有没有这样的经验:用个软件,隔三岔五弹个框:系统异常!无论作为用户还是程序员,一见到“系统异常”四个大字,我整个人都不好了。原创 2023-04-10 14:31:42 · 393 阅读 · 0 评论 -
编程为什么那么难:从储值卡扣款说起
写可用的系统容易,写可靠的系统很难。编程真正难的在对失败场景的处理上。本篇通过分析储值卡扣款这么个“简单”的场景,你会发现其实它一点也不简单。原创 2022-04-21 09:26:34 · 491 阅读 · 2 评论 -
接口设计的那些事
很多人开发接口的时候,往往仅关注功能实现,但接口质量恰恰取决于非功能性方面,主要包括:幂等性、鲁棒性和安全性。本文详细讲解开发接口(以及系统)时在这三方面需要考虑的细节问题。转载 2022-03-25 09:58:54 · 694 阅读 · 0 评论 -
Swoole 实战:MySQL 查询器的实现(协程连接池版)
文章目录需求分析使用示例模块设计UML 类图入口事务连接池连接查询器的组装总结需求分析本篇我们将通过 Swoole 实现一个自带连接池的 MySQL 查询器:支持通过链式调用构造并执行 SQL 语句;支持连接池技术;支持多协程事务并发执行(协程安全性);支持连接对象的健康检测;支持连接对象断线重连;程序需要可扩展,为未来的改造留好扩展点;完整项目地址:[协程版 MySQL 查...原创 2020-05-02 18:49:09 · 1042 阅读 · 0 评论 -
PHP 开发杂谈:对后端开发的思考
(团队内部技术分享摘要)文章目录目前开发实践中的问题相关设计模式和架构概述其他设计/架构模式相关概念分析目前开发实践中的问题业务逻辑泄露。本应属于 Service 的业务逻辑泄露到其他各层中(Controller、Repository、View等),而原本内容丰富的 Service 反而变成了贫血类。全能Service,主要表现是超多的代码(如vshop的商品和订单的Service代码都...原创 2020-04-07 21:15:13 · 1189 阅读 · 0 评论 -
从储值卡(会员卡)充值业务看分布式事务的设计
公司有一项储值卡充值业务:客户在微信公众号开通储值卡服务,通过微信支付往卡里面充值,充值成功后客户可收到消息通知,并进行消费。看起来是一项很简单的业务,最初我们储值卡团队的实现也确实很简单。我们看看最初的实现:相信聪明的你一眼就能看出问题:压根没有考虑分布式事务一致性,比如第 12 步根本没有考虑卡系统充值失败的情况该如何处理,而是默认其一定能成功;大部分的处理都是放在前端业务系统(除...原创 2020-04-07 21:12:17 · 1240 阅读 · 0 评论