`
鳄鱼旭
  • 浏览: 76446 次
文章分类
社区版块
存档分类
最新评论

支付宝架构学习笔记

 
阅读更多
在InfoQ上看了支付宝架构的介绍视频: http://www.infoq.com/cn/presentations/alipay-elastic-computing-architecture

感触颇深,前绝大多数系统的架构只做到了面向服务的架构,在弹性架构、高可用性等方面还有很多的工作要做,结合我所在公司的状况,我觉得如下一些点可以借鉴和考虑:

1)系统间的调用:支付宝使用了注册中心的方式来统一服务间的调用,这一点和淘宝的HSFhttp://wenku.baidu.com/view/c8e045f39e31433239689393.html比较类似(阿里还有一个叫做Dubbohttp://code.alibabatech.com/wiki/display/dubbo/Home-zh的框架,是去中心化的架构,哪一种方式比较好比较难讲,个人更偏向于注册中心的方式,因为管理上更方便一些,至于单点失效的问题,由于注册中心的功能比较简单,基本上可以保证比较高的可用性),觉得系统间的调用需要做到如下几点:
    . 透明性:即服务的调用者不需要知道被调用者部署在哪一个节点上
    . 可追踪性:一个节点依赖了哪些服务、被哪些服务依赖,可以方便的查到
    . 避免单点失效
使用统一的框架来实现系统间的调用还是很有必要的。

2)使用框架来实现分布式事务:在交易类的系统里面有很多这样的场景(其他很多系统也应该有类似的需求),即数据库拆分之后(甚至有些任务执行的不是数据库操作)需要实现各个子任务的一致性,采用框架来实现是一个不错的方案

3)分布式锁:额外提供服务来支持分布式锁,避免使用数据库的方式进行select for update. 这样可以很大程度上减少数据库的压力

4)系统间的调用包括数据库事务,设置比较短的超时时间,避免由于部分系统不可用,导致大规模超时,占用了线程资源、数据库连接资源等,从而导致系统崩溃;

5)服务的优雅降级:这一点和No.1也是有关联的,将系统间的依赖分为强依赖和弱依赖,当需要系统降级时,会将部分弱依赖的服务调用切断,保证主要服务可以正常执行;

6)良好的监控系统:尽可能短的时间内发现问题;

7)故障切换:之前还比较奇怪,为什么同样是一个银行付款出了问题,我们的支付网关上相应的银行就不能付款了,但是支付宝却可以,原因就是支付宝可以做到检测到故障以后自动切换到该银行其他可用的渠道上去。

还有些其他的值得借鉴的地方,比如自定义容器,将容器扩展,不过这样的事情不是规模很大的公司,很难会做。
1
5
分享到:
评论

相关推荐

    uni-app学习笔记

    【uni-app学习笔记】 uni-app 是一个由ECharts团队开发的多端开发框架,它允许开发者使用一套代码来构建iOS、Android、H5、微信小程序、支付宝小程序等多个平台的应用。这个框架基于Vue.js,提供了丰富的组件和API...

    asp网络编程学习笔记15章

    本学习笔记涵盖15个章节,旨在帮助初学者和有经验的开发者深入理解和掌握ASP网络编程技术,特别是应用于网上商城购物系统的开发。 第一章:ASP基础 - ASP概述:介绍ASP的概念、工作原理以及在Web开发中的角色。 - ...

    乐优商城笔记.zip

    通过这份"乐优商城笔记",开发者可以学习到一个完整的电商系统从设计到实现的全过程,涵盖从后端开发到前端展示,再到部署运维的诸多环节,对提升个人在全栈开发领域的专业能力具有极大的价值。

    02-笔记.zip

    1. "在线笔记-长期更新【推荐】.txt":这可能是一个持续更新的在线学习笔记,被作者强烈推荐,内容可能包括了作者在学习过程中积累的知识点、技巧、问题解答等。由于是.txt格式,这是一份纯文本文件,易于阅读和编辑...

    谷粒商城项目笔记.zip

    【谷粒商城项目笔记】是一份综合性的学习资源,涵盖了从初级到高级的全面知识,旨在帮助用户深入了解和掌握谷粒商城的开发与运营。这份资料可能是由谷粒商城的官方提供,或者是社区中热心开发者整理的精华内容,无论...

    复读365英语在线学习平台1.2版

    6、发布个人学习笔记,并对学习笔记进行维护; 7、支付宝在线支付接口,实现在线购买服务功能; 8、个人信息管理,个人界面方案维护; 9、信息反馈及维护; 10、JavaMail邮件发送功能实现。 项目演示地址:...

    voa英语听力学习平台jsp版 v2.0.rar

    6、发布个人学习笔记,并对学习笔记进行维护;7、支付宝在线支付接口,实现在线购买服务功能;8、个人信息管理,个人界面方案维护;9、信息反馈及维护;10、JavaMail邮件发送功能实现。各功能模块的稳定性都经过了...

    web前端.pdf 笔记

    还提到了编辑器使用,例如VSCODE、Sublime Text和HBuilder等,以及微信开发者工具和支付宝小程序开发工具的使用方法。 3. **前端设计与架构**:文档中还涉及前端设计思想,包括响应式设计、组件化开发等设计理念。...

    Seajs的学习笔记

    Sea.js是一个由支付宝前端团队开发并开源的JavaScript模块加载框架,它以简单、自然的代码书写和组织方式为目标,追求让程序员更专注于编码本身。Sea.js遵循CMD(Common Module Definition)规范,这是一种模块化...

    源码笔记.rar

    【Java编程语言】 Java是一种广泛使用的面向对象的编程语言,由Sun Microsystems(现...通过深入学习和分析"源码笔记",开发者不仅可以提升Java编程技能,还能了解电商系统的设计与实现,为实际项目开发积累宝贵经验。

    乐优商城《项目笔记》.rar

    6. **支付集成**:在day08笔记中,可能讲解了如何集成第三方支付接口,如支付宝、微信支付等,让用户能够方便快捷地完成交易。 7. **后台管理系统**:作为电商平台,后台管理也是必不可少的,它包括商品管理、订单...

    淘淘商城笔记

    《淘淘商城笔记》主要涵盖了Java技术在电商系统开发中的应用,这是一份详细记录了淘淘商城系统架构和技术选型的学习文档。由于文件名仅给出"笔商城记",推测这可能是文档的部分章节或者子目录,具体内容可能包括但不...

    changgou:畅购商城项目笔记源码学习

    "畅购商城项目笔记源码学习"是一个针对电商系统开发的学习资源,主要聚焦于"畅购商城"这一开源系统。这个项目提供了丰富的实践材料,帮助开发者深入理解电商平台的架构、功能实现以及技术选型。接下来,我们将详细...

    基于ASP的笔记本销售网站的设计与实现(源代码+论文).zip

    这里可能需要集成第三方支付接口,如支付宝、微信支付等。 7. 安全性:在ASP开发中,需要考虑安全性问题,比如防止SQL注入、XSS攻击等。通过验证用户输入,使用参数化查询,以及应用安全编码技术,确保网站的安全...

    ImagesForGulimall-商城笔记图片

    【标题】"ImagesForGulimall-商城笔记图片" 提供的是...综上所述,"ImagesForGulimall-商城笔记图片"可能涵盖了上述技术点的实现示例和设计思路,通过这些图片,开发者可以更直观地了解和学习谷粒商城系统的开发细节。

    bool商城代码+笔记+流程图

    9. 笔记和流程图:这部分内容可能是对项目开发过程的记录和总结,包括设计思路、遇到的问题及解决方案,有助于读者更好地理解和学习整个项目。 10. 单元测试与调试:为了保证代码质量,开发者可能会编写单元测试,...

    尚融宝谷粒商城代码 笔记 自己跟着视频敲得 可运行 自己完善了功能 希望给你帮助

    这个项目是作者根据视频教程亲自动手完成的,并且进行了自我完善,保证了代码的可运行性,旨在为学习者提供实践经验和参考。以下是对该项目中涉及的技术点和知识点的详细说明: 1. **SpringBoot**:SpringBoot简化...

    小程序源码(无后台)_云笔记.rar

    通过分析和学习这个“云笔记”小程序源码,开发者可以掌握小程序开发的基本流程,了解前端和后端交互的方式,以及如何利用有限的资源构建功能完整的小程序。对于初学者来说,这是一个很好的实践项目,有助于提升编程...

    《15分钟打造你自己的小程序》

    9. 发布与运营:完成小程序开发后,需要将其提交到支付宝小程序审核平台,了解审核流程和规范,同时学习如何进行推广和运营,提升用户量和活跃度。 通过这本书提供的五个实操项目,你将全面了解小程序开发的各个...

    图书馆写笔记【商城带后台源码】.rar

    5. **后端架构**:虽然没有直接提供后端源码,但通常会包含Node.js(Express、Koa)、Java(Spring Boot)、Python(Django、Flask)等后端技术,用于处理业务逻辑、数据库操作及安全性。 6. **数据库设计**:可能...

Global site tag (gtag.js) - Google Analytics