设计
文章平均质量分 93
设计
徐俊生
Write the code, Change the world!
展开
-
如何写出一篇好的技术方案?
如何写出一篇好的技术方案?转载 2022-06-02 10:00:51 · 280 阅读 · 0 评论 -
订单超时未支付的解决方案
订单超时未支付的解决方案定时任务实现被动取消JDK的延迟队列DelayQueue的代码演示时间轮算法Redis 实现延迟任务MQ 实现延迟任务在前面的文章第三方支付接口设计中我留了一个问题:订单超时关闭,这个问题在面试当中也是经常被问到,本文我们就来展开说明一下。和订单超时关闭相似的场景还有:微信红包24小时未查收,需要延迟退还;客户预定自如房子后,24小时内未支付,房源自动释放;滴滴预约打车的时候,如果十分钟没有司机接单,系统会自动取消。针对这一类需求我们最先想到的一般就是使用定时任务,扫原创 2021-10-24 12:10:16 · 9772 阅读 · 2 评论 -
第三方支付接口设计
你是个干大事的人前言安全性稳定性实现Redis分布式锁的方式方式1:SETNX 和 DEL 命令组合方式2:Redisson实现事务一致性可维护性前言最近在项目中对接了第三方支付,现在分享一下对支付接口的相关设计。一个完整的支付流程包括:支付、支付结果查询、支付结果通知、撤单、关单、退款、对账。拿支付宝举例,支付宝提供了非常丰富的支付能力,app支付、扫码支付、网站支付等等。不同的支付方式之间的区别不大。对接第三方支付的流程大同小异。按照官方提供的文档可以迅速完成接口对接,所以这篇文章我们不讨论如原创 2021-08-28 16:16:07 · 2967 阅读 · 0 评论 -
手把手带你开发一个服务监控组件
手把手带你开发一个服务监控组件前言监控指标监控系统原理CPU监控docker-javaJVM内存监控Dubbo线程池监控数据库连接池监控总结前言随着业务迅速扩张,越来越多后端团队采用微服务设计方案。微服务设计在降低业务开发门槛同时,对 (包括监控在内的) 系统基础设施提出更高要求。微服务场景下,后台服务数量迅速膨胀,各个服务技术选型多样化,涉及相关人员众多,对系统监控带来比较大挑战。本文会从设计到具体实现给大家介绍一个轻量级可插拔的微服务监控插件。监控指标CPU使用率JVM内存使用率Dubb原创 2021-08-11 00:10:08 · 610 阅读 · 0 评论 -
如何设计好一个接口?
如何设计好一个接口?前言安全性稳定性健壮性限流接口响应超时处理可靠性幂等性事务一致性分布式事务高效性线程安全问题可维护性可读性前言接口对于我们系统来说是必不可少的,可以称得上是系统的基石。一个好的接口我认为需要具备以下几方面:安全性、稳定性、高效性、可维护性、可读性。下面我们就根据这几个性质讨论一下设计一个好接口需要考虑哪些问题?安全性安全性对于接口来说重要性不言而喻。我们常见的Web漏洞包括:SQL注入、JSON反序列化漏洞、XSS攻击、CSRF 攻击、文件上传下载漏洞、DDoS 攻击、弱口令、证原创 2021-07-25 22:13:49 · 3525 阅读 · 1 评论