
金融支付等
金融行业技术分享:保险、银行、证券、第三方支付等
AlbenXie
这个作者很懒,什么都没留下…
展开
-
Java线程池实现原理及其在美团业务中的实践
随着计算机行业的飞速发展,摩尔定律逐渐失效,多核CPU成为主流。使用多线程并行计算逐渐成为开发人员提升服务器性能的基本武器。J.U.C提供的线程池ThreadPoolExecutor类,帮助开发人员管理线程并方便地执行并行任务。了解并合理使用线程池,是一个开发人员必修的基本功。本文开篇简述线程池概念和用途,接着结合线程池的源码,帮助读者领略线程池的设计思路,最后回归实践,通过案例讲述使用线程...转载 2020-04-03 14:58:43 · 689 阅读 · 0 评论 -
设计模式在外卖营销业务中的实践
业务策略多变导致需求多变,是业界很多技术团队面临的最具挑战的问题之一。那么如何设计一套易于扩展和维护的营销系统呢?今天的文章来自美团外卖营销技术团队,他们分享了从领域模型到代码工程之间的转化,从DDD引出了设计模式,并详细介绍了工厂方法模式、策略模式、责任链模式以及状态模式这四种模式在美团营销业务中的具体实现,将理论与实践进行了一次深度结合。一、前言随着美团外卖业务的不断迭代与发展...转载 2020-03-22 10:53:01 · 586 阅读 · 0 评论 -
高并发的核心技术-幂等的实现方案
一、背景我们实际系统中有很多操作,是不管做多少次,都应该产生一样的效果或返回一样的结果。例如:1. 前端重复提交选中的数据,应该后台只产生对应这个数据的一个反应结果。2. 我们发起一笔付款请求,应该只扣用户账户一次钱,当遇到网络重发或系统bug重发,也应该只扣一次钱;3. 发送消息,也应该只发一次,同样的短信发给用户,用户会哭的;4. 创建业务订单,一次业务请求只能创建一...转载 2020-03-08 17:23:04 · 355 阅读 · 0 评论 -
【面试】分布式服务接口的幂等性如何设计(比如不能重复扣款)
面试题分布式服务接口的幂等性如何设计(比如不能重复扣款)?面试官心理分析从这个问题开始,面试官就已经进入了实际的生产问题的面试了。一个分布式系统中的某个接口,该如何保证幂等性?这个事儿其实是你做分布式系统的时候必须要考虑的一个生产环境的技术问题。啥意思呢?你看,假如你有个服务提供一些接口供外部调用,这个服务部署在了 5 台机器上,接着有个接口就是付款接口。然后人家用户在前端上操作的...转载 2020-03-08 16:10:08 · 586 阅读 · 0 评论 -
在项目中如何保证服务的幂等?
目录1.为什么要解决数据重复插入2.解决方案实战3.可落地小总结一、为什么要解决数据重复插入?问题起源:当前端发起多次重复请求给服务器提交数据。后端服务也很简单,伪代码如下:public class SignLogService { public void saveSignLog(SignLogDO log) { // 简单插入做记录 ...转载 2020-03-07 22:18:02 · 490 阅读 · 0 评论 -
相关支付业务测试中如何保证幂等性
听到幂等性这个词时,是不是内心一阵恐慌?What?幂等性是个什么鬼?测过相关支付的业务,但没听过幂等性啊?别方,其实就是数据一致性和事务完整性。什么是幂等数学上的定义:f(f(x))=f(x)。x被函数f作用一次和作用无限次的结果是一样的。幂等性应用在软件系统中,可以把它简单定义为:某个函数或者某个接口使用相同参数调用一次或者无限次,其造成的后果是一致的,在实际应用中一般针对于接口进行幂等...转载 2020-03-07 22:09:32 · 968 阅读 · 0 评论 -
支付清结算之渠道侧处理
继上篇文章《支付清结算之基本概念和入门》,这篇文章进一步介绍渠道侧的清结算处理。上一篇文章还遗留的很多问题,这里我们一步步详细介绍清结算中在渠道侧如何进行。这里的渠道侧,既包括银行,也包括第三方支付以及银联。支付上一篇文章中的小明通过工行在老熊公司买了一张100元的会员卡,工行按照支付金额的0.1%收取手续费, 产生了如下会计分录借: 银行存款-工行收款 100贷: 主营业...原创 2020-01-06 16:26:44 · 541 阅读 · 0 评论 -
最全最强解析:支付宝钱包系统架构内部剖析(架构图)
支付宝系统架构概况典型处理默认资金处理平台财务会计核算中心交易柔性事务支付宝的开源分布式消息中间件–Metamorphosis(MetaQ)Metamorphosis (MetaQ) 是一个高性能、高可用、可扩展的分布式消息中间件,类似于LinkedIn的Kafka,具有消息存储顺序写、吞吐量大和支持本地和...原创 2020-01-06 16:24:42 · 556 阅读 · 0 评论 -
支付清结算之账户和账务处理
这是清结算系列的第四篇文章,本文重点介绍清结算中的账户和账务的处理。请务必阅读这几篇文章以便理解这里的流程。支付清结算之基本概念和入门 支付清结算之渠道侧处理 支付清结算之电商侧处理一、账户体系在设计清结算系统前,首先需要完成账户体系的梳理。 账户是用来记录会计科目所反映的业务内容的工具,它根据会计科目来开设的。 账户有多种维度的分类。 按照经济内容来说,账户分为资产类账户、...转载 2020-01-06 16:28:06 · 1604 阅读 · 1 评论 -
支付清结算之电商侧处理
本文重点介绍支付清结算在电商侧的处理,这是系列文章中的第三篇,前两篇文章请参阅:《支付清结算之基本概念和入门》、《支付清结算之渠道侧处理》。这篇文章的内容比较枯燥,就是一堆的业务对应的会计分录。 下一篇文章将基于这个会计分录来设计账户结构。 后续和银行、渠道的对账,也需要基于这些会计分录来进行。支付继续小明的案例,小明通过工行在老熊公司买了一张100元的会员卡,工行按照支付金额的0...转载 2020-01-06 16:27:37 · 787 阅读 · 1 评论 -
支付清结算之渠道侧处理
继上篇文章《支付清结算之基本概念和入门》,这篇文章进一步介绍渠道侧的清结算处理。上一篇文章还遗留的很多问题,这里我们一步步详细介绍清结算中在渠道侧如何进行。这里的渠道侧,既包括银行,也包括第三方支付以及银联。支付上一篇文章中的小明通过工行在老熊公司买了一张100元的会员卡,工行按照支付金额的0.1%收取手续费, 产生了如下会计分录借: 银行存款-工行收款 100贷: 主营业...转载 2020-01-06 16:27:15 · 969 阅读 · 0 评论 -
中国的支付清算体系是怎么玩的?
我一直对支付很感兴趣。2015年,因为工作需要,我接触过好多第三方支付公司,做过支付路由,也处理了很多支付异常情况。但是支付中的清算部分我一直不太理解,不知道银联在联结各方的时候是如何发挥作用的。最近和银行IT圈子的校友们聚会,偷偷向工行和民生负责渠道、银联对接的同学请教了。所以有了这篇总结,供希望了解支付清算的朋友们参考。中国的支付清算有两套体系中国现代化支付清算系统和第三方支付清算系统...转载 2020-01-06 16:25:56 · 1269 阅读 · 0 评论 -
支付清结算之基本概念和入门
搞明白了清结算,你就明白了支付业务是怎么运转的。 从技术上来说,清结算并不是最难的,风控、信用,实施起来比清结算难多了。但从业务的角度来说,清结算可以说是最难理解的支付业务过程了。 它牵扯到支付所有相关的概念。为了降低理解难度,我们从常见的支付行为入手,逐步分析清结算如何进行。支付流程先说个比较简单的支付场景,用户(姑且称他为小明)用绑定的银行卡(用宇宙第一大行工行为例)来购买某电商公...转载 2020-01-03 19:30:55 · 975 阅读 · 0 评论 -
支付系统设计:绑卡、签约和身份验证(四)
在上一篇支付系统之银行卡支付中,挖了个坑,就是关于绑卡的坑。 在用户使用银行卡做支付之前,首先需要完成绑卡的操作。怎么实现绑卡,怎么验证用户绑的是自己的而不是隔壁老王的卡,这就是本期的重点。为什么要求用户绑卡?这和快捷支付有关。参见上一篇文章的分析,绑卡是将用户卡信息提供给电商,以后电商就用这个信息去银行完成支付。绑卡实际上是一个授权,让用户允许商家自动从他的账户上扣除资金。所以绑卡也叫...转载 2020-01-03 19:29:22 · 2819 阅读 · 0 评论 -
支付系统设计:银行卡支付(三)
这一期,回到支付系统的核心业务,即支付。每个电商公司的支付系统都已经或多或少的实现了交易核心功能,可也都是一直在改进,总是不断的有新的需求冒出来。所以这一期开始,我们梳理一下:到底有哪些支付方式?每种支付方式都是怎么运作的?支付和交易说到支付就不得不提交易。这两个概念在不同公司中是不一样的。我们的定义是,交易是生成订单;支付是对订单进行付款。 订单生成过程我们以后另开话题来说。这一次重...转载 2020-01-03 19:28:10 · 2240 阅读 · 0 评论 -
支付系统设计:对账处理(二)
可以说,对账是支付系统最头疼的事情。每一笔交易,都要做到各参与者的记录能够吻合,没有偏差。对账系统的工作,是发现有差异的记录,即轧帐;然后通过人工或者自动的方式,解决这些差异,即平帐。对电商系统来说,每一笔交易,在所有相关主体侧都要能对得上:交易主体,如果发起人是个人,必须能够从个人交易历史记录中找到这笔交易。但大部分人不会保留电子记录,所以一般是提供可以下载的账单或交易记录,让用户自...转载 2020-01-03 19:26:57 · 1237 阅读 · 0 评论 -
支付系统设计:支付系统的账户模型(一)
账户体系是支付系统的基础,它的设计直接影响整个系统的特性。这里探讨如何针对电子商务系统的支付账户体系设计。我们从一些基本概念开始入手,了解怎么建模。支付账户和登录账号账户体系设计首先要区分两个概念,支付账户和登录账号。 这是两个不同业务领域的概念:支付账户指用户在支付系统中用于交易的资金所有者权益的凭证;登录账号指用户在系统中的登录的凭证和个人信息。 一个用户可以有多个登录账户,一个...转载 2020-01-03 19:23:32 · 923 阅读 · 0 评论 -
微信支付兴起,万亿级用户交易记录存储的挑战
背景2013 年 8 月,微信红包上线。2014 年春节微信红包引爆社交支付。2015 年春晚红包摇一摇,推动微信红包在全国迅速普及。此后,每逢节假日或特殊日子,人们都会自主的兴起发红包,使微信红包成为热点。微信红包的火热带动微信支付的迅猛发展,按当时的发展速度预估,到 2015 年底,每天的微信支付交易记录会达到 20 亿。而原有的用户交易记录存储系统无法承受业务迅猛发展带来的冲击,一些瓶颈逐...转载 2020-01-03 19:15:33 · 548 阅读 · 0 评论 -
最全最强解析:支付宝钱包系统架构内部剖析(架构图)
支付宝系统架构概况典型处理默认资金处理平台财务会计支付清算核算中心交易柔性事务支付宝的开源分布式消息中间件–Metamorphosis(MetaQ)Metamorphosis (MetaQ) 是一个高性能、高可用、可扩展的分布式消息中间件,类似于LinkedIn的Kafka,具有消息存储顺序写、吞吐...转载 2020-01-03 19:11:20 · 614 阅读 · 0 评论 -
从产品分类、模块功能和业务流程,了解支付产品服务的设计
本文介绍支付产品模块的设计。支付产品模块是按照支付场景来为业务方提供支付服务。这个模块一般位于支付网关之后,支付渠道之前。 它根据支付能力将不同的支付渠道封装成统一的接口,通过支付网关来对外提供服务。所以,从微服务的角度,支付产品本身也是一个代理模式的微服务,它透过支付网关响应业务方请求, 进行一些统一处理后,分发到不同的支付渠道去执行,最后将执行结果做处理后,通过支付网关再回传给业务方。...转载 2020-01-03 19:03:39 · 1685 阅读 · 0 评论