如果你有手机,有支付购物的需求,那么不可避免的使用到支付宝与微信两大支付应用。普通人只是支付,但是作为与支付系统、功能开发的后端工程师来说,这里却有不少值得思考的问题。
在支付系统的微服务架构中,基础服务的构建是重中之重。所以这里带来的就是技术选型难。大多数人争论的焦点集中在两个候选技术:RPC or Restful。
RPC:以Apache Thrift为代表的二进制,优势是支持多语言,四层通讯协议,性能高,节省带宽。劣势是无法穿透防火墙。
Restful:以Spring Cloud为代表,优势是能穿透防火墙,使用方便,与语言无关,劣势在性能和带宽占用。
所以这里的选择就成了难题,选哪个好?当然这里要分场景,考虑到我们是支付系统的的搭建,选 RPC 更合适。通过注册中心调用服务,选 Zookeeper + Dubbo,可以方便的做集群,应对大规模支付。
安全:选择 RPC,项目对内使用,注册中心不会对外开放,HTTP 接口的鉴权也就无需担心。
高效:RPC 是基于四层协议,效率相对会高一些。
代表的RPC技术选型:Apache Thrift、Dubbo、Google Protobuf,这里使用 Dubbo 与 Spring Boot 进行搭配。
以上三个问题是架构中的核心与重中之中。但是如果拆分来讲,就是长篇大论,如果你对上面的业务架构问题感兴趣,推荐学习 BAT 资深工程师小 P的支付架构课程《 Spring Boot 支付系统微服务实战 》。
支付每个大厂小厂 都在使用。本人自己经历过的公司,都是在做支付和财务,有的公司甚至是,因为我有支付财务的经验,才被录用。涉及到钱的系统,挑战新更大。
设计一个支付系统,涉及到支付理论 → 架构图 → 数据设计 → 编码设计 → 编码实现。同样大部分公司要的不只是储备,还需要能独当一面。而一些工程师在构建支付系统的的时候,也会遇到下面三个的问题。
通过这么课程的学习,我将带对支付平台的架构设计与系统搭建进行一个完整的构建,带你知其然,知其所以然。
限时优惠,点击图片,查看课程详情
初级工程师,对知识宽度的了解,对spring boot 基础应用的学习。
中级工程师,对支付金融数据库设计,以及支付系统搭建学习。
以及想在公司搭建支付平台,构建独立的支付应用,找寻样例和经验的。
目前就职 BAT,做技术产品,主要从事支付、中间件的研发。拥有丰富的后端开发经验,熟练使用 PHP, Java, Python。曾主导内部消息中间件的研发。参与过包括存储解决方案,同步策略,协议定制化等项目的实施,对各种协议本身有深入了解。