图解:支付宝钱包系统架构剖析

支付宝系统架构概况>>

典型处理默认>>

资金处理平台>>

财务会计>>

支付清算>>

核算中心>>

交易>>

柔性事务>>

支付宝的开源分布式消息中间件 – Metamorphosis(MetaQ)>>

Metamorphosis (MetaQ) 是一个高性能、高可用、可扩展的分布式消息中间件,类似于LinkedIn的Kafka,具有消息存储顺序写、吞吐量大和支持本地和XA事务等特性,适用 于大吞吐量、顺序消息、广播和日志数据传输等场景,在淘宝和支付宝有着广泛的应用,现已开源。

Metamorphosis是淘宝开源的一个Java消息中间件。关于消息中间件,你应该听说过JMS规范,以及一些开源实现,如ActiveMQ和HornetQ等。Metamorphosis也是其中之一。

Metamorphosis的起源是我从对linkedin的开源MQ–现在转移到apache的kafka的学习开始的,这是一个设计很独特的MQ系统,它采用pull机制,而不是一般MQ的push模型,它大量利用了zookeeper做服务发现和offset存储,它的设计理念我非常欣赏并赞同,强烈建议你阅读一下它的设计 文档,总体上说metamorphosis的设计跟它是完全一致的。但是为什么还需要meta呢?

简单概括下我重新写出Meta的原因:

  1. Kafka是scala写,我对scala不熟悉,并且Kafka整个社区的发展太缓慢了。
  2. 有一些功能是Kakfa没有实现,但是我们却需要:事务、多种offset存储、高可用方案(HA)等。
  3. Meta相对于Kafka特有的一些功能:
  • 文本协议设计,非常透明,支持类似memcached stats的协议来监控broker;
  • 纯Java实现,从通讯到存储,从client到server都是重新实现;
  • 提供事务支持,包括本地事务和XA分布式事务;
  • 支持HA复制,包括异步复制和同步复制,保证消息的可靠性;
  • 支持异步发送消息;
  • 消费消息失败,支持本地恢复;
  • 多种offset存储支持,数据库、磁盘、zookeeper,可自定义实现支持group commit,提升数据可靠性和吞吐量;
  • 支持消息广播模式;
  • 一系列配套项目:python客户端、twitter storm的spout、tail4j等。

因此meta相比于Kafka的提升是巨大的。meta在淘宝和支付宝都得到了广泛应用,现在每天支付宝每天经由meta路由的消息达到120亿,淘宝也有每天也有上亿的消息量。

Meta适合的应用>>

  • 日志传输,高吞吐量的日志传输本来就是Kafka的强项;
  • 消息广播功能,如广播缓存配置失效;
  • 数据的顺序同步功能,如mysql binlog复制;
  • 分布式环境下(broker,producer,consumer都为集群)的消息路由,对顺序和可靠性有极高要求的场景;
  • 作为一般MQ来使用的其他功能。

作者:雪姬


时间: 2024-09-10 17:49:04

图解:支付宝钱包系统架构剖析的相关文章

支付宝钱包客户端技术架构

黎三平:小微金服高级技术专家,06年就开始移动方面的研发,先后从事过游戏和应用开发.对Android的动态部署和移动应用的开发框架有一定研究,现负责支付宝钱包Android平台基础技术的架构设计工作. 该议题是分析支付宝钱包客户端的技术挑战及背景,讲述钱包客户端技术架构的大思路和整体架构,以及支撑当前架构的一些关键技术.以下来分享其精彩内容. 背景 移动互联网是一个战略核心,支付宝面临着无线化,业务快速推进的问题,且用户规模爆发,android环境复杂.支付宝这样一个支付工具依赖的就是支付产检,

支付宝系统架构

支付宝系统架构概况 典型处理默认 资金处理平台 财务会计 支付清算 核算中心 交易 柔性事务 支付宝的开源分布式消息中间件–Metamorphosis(MetaQ) Metamorphosis (MetaQ) 是一个高性能.高可用.可扩展的分布式消息中间件,类似于LinkedIn的Kafka,具有消息存储顺序写.吞吐量大和支持本地和XA事务等特性,适用 于大吞吐量.顺序消息.广播和日志数据传输等场景,在淘宝和支付宝有着广泛的应用,现已开源. Metamorphosis是淘宝开源的一个Java消息

Android系统机制、框架、架构剖析(Android Anatomy and Physiology)

•Android Anatomy •Linux Kernel •Native Libraries •Android Runtime •Native Libraries •Android Runtime •Application Framework •Android Physiology •Start-up Walkthrough •Layer Interaction 强烈推荐的Android系统机制.框架.架构剖析文档,来自Google I/O,感兴趣的同学请直接下载PDF文档: Android

《深入理解Android:Telephony原理剖析与最佳实践》一1.2 Android系统架构

1.2 Android系统架构 前面学习了智能手机的基本硬件结构,可以通过功能手机与智能手机的特点和区别从本质上认识它们.Android智能手机操作系统作为运行在AP上的开源智能手机操作系统,其系统架构是什么样的呢?我们先看看图1-2. 通过图1-2不难发现,Android手机操作系统是一个基于Linux Kernel的分层智能手机操作系统,其共分为4层,从上到下分别是Java Applications(应用层).Java Frameworks(应用框架层).User Libraries(系统运

支付宝钱包空付是什么 支付宝空付使用方法图解

支付宝空付是什么 空付就是只要给一个实物授权,设定金额之后就可以用这个实物来付款了,具体使用如下. 付宝空付使用方法 1.在手机进入到支付宝钱包界面中的"空付"选项并点击.   2.然后支付宝钱包会自动打开摄像头,这时候你需要给想要授权的实物进行拍照,可以是任何东西!   3.然后我们拭发好之后设置高值.   4.设定好之后就可以使用了,再用支付的时候就可以直接扫描这个物体支付了,是不是灰常酷!   5.支付宝的空付是一项新技巧,我相信会越来越好了! 好了到此关于支付宝空付功能的使用方

2014高考成绩在哪查?支付宝钱包高考成绩查询图解

1)在手机中我们打开支付宝钱包之后然后点击[服务]进入之后找到[添加]如下图所示.    2)然后我们看右上角有一个[放大镜]现在我们点击进入之后输入[高考小秘书]然后点击[确认]进行搜索,然后在搜索到高考小秘书点击右侧[添加] 如下图所示.    3)好了加好了我们现在回到支付宝的[服务]现在你会看到有一个[高考小秘书]现在我们进入之后点击[高考成绩]    4)在打开界面我们只要输入[考生号]与你的[身份证后4位]之后再点击[查询]按钮,这时你的成绩就会出来了哦. 友情提示,现在只能在查询仅

支付宝钱包新增无忧停车功能

  支付宝钱包已经和第三方服务商"无忧停车"合作,在北京正式展开"智能停车"项目试点.目前清华科技园.北京人民医院.世茂百货3个停车场已经实现了通过高清摄像头识别车牌号.支付宝钱包公众号自动计费并交费的"不停车通行"体验. 汽车在车库入口时,高清摄像头会自动识别车牌号并放行.取车前,车主只要关注支付宝钱包中的无忧停车公众服务号,并在公众号中绑定自己的车牌号,系统就会自动发送包括停车场名字.停车时间和车费信息在内的缴费页面,车主可以直接在公众号中缴

iOS中 支付宝钱包详解/第三方支付

版权声明:本文为博主原创文章,未经博主允许不得转载. 每日更新关注:http://weibo.com/hanjunqiang  新浪微博! 一.在app中成功完成支付宝支付的过程   1.申请支付宝钱包.参考网址:  https://b.alipay.com/order/productDetail.htm?productId=2014110308141993&tabId=4#ps-tabinfo-hash      这是使用支付宝支付的第一步,合作申请通过之后,会集成一个开发文件.即使不申请也可

支付宝钱包北京试点收停车费 自动计费可实现“不停车通行”

支付宝钱包收停车费新浪科技讯 支付宝钱包已经和第三方服务商"无忧停车"合作,在北京正式展开"智能停车"项目试点.目前清华科技园.北京人民医院.世茂百货3个停车场已经实现了通过高清摄像头识别车牌号.支付宝钱包公众号自动计费并交费的"不停车通行"体验.汽车在车库入口时,高清摄像头会自动识别车牌号并放行.取车前,车主只要关注支付宝钱包中的无忧停车公众服务号,并在公众号中绑定自己的车牌号,系统 就会自动发送包括停车场名字.停车时间和车费信息在内的缴费页面