支付宝系统架构概况
典型处理默认
资金处理平台
财务会计
支付清算
核算中心
交易
柔性事务
支付宝的开源分布式消息中间件–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来使用的其他功能。
Via:京技院
End.
相关推荐
大话存储:存储系统底层架构原理极限剖析(终极版)第3部分 大话存储:存储系统底层架构原理极限剖析(终极版)第3部分大话存储:存储系统底层架构原理极限剖析(终极版)第3部分
大话存储:存储系统底层架构原理极限剖析(终极版)第4部分 大话存储:存储系统底层架构原理极限剖析(终极版)第4部分
《架构演进:汽车之家架构分析》是一份深入探讨汽车之家平台架构发展的学习资料,它涵盖了从早期到现代的架构变迁过程,旨在为IT专业人士提供一个理解大型网站架构演进的实例。汽车之家作为国内知名的汽车行业信息...
"企业安全建设指南:金融行业安全架构与技术实践" 本文档旨在为金融行业提供企业安全建设指南,旨在帮助金融机构构建完善的安全体系,确保业务的安全性和可靠性。本文将详细讨论为什么金融行业需要企业安全建设,并...
深入解析jquery架构设计与实现原理》首先通过“总体架构”梳理了各个模块的分类、功能和依赖关系,让大家对jquery的工作原理有大致的印象;进而通过“构造jquery对象”章节分析了构造函数jquery()的各种用法和内部...
### 支付宝Android架构分析 #### 背景与挑战 支付宝作为一款国民级的应用,在不断迭代的过程中面临着巨大的挑战。随着移动互联网的发展,无线化的趋势使得支付宝必须快速响应市场变化,推进各项新业务。同时,庞大...
《测试架构师修炼之道:从测试工程师到测试架构师1》这本书,就是为了指引那些期望在测试领域不断进步的工程师们,提供了一个清晰的成长蓝图。 ### 测试的核心——测试策略 测试工作并不仅仅是对业务的熟悉或者...
大话存储:存储系统底层架构原理极限剖析(终极版)第5部分 大话存储:存储系统底层架构原理极限剖析(终极版)第5部分
书中深入剖析了Spring框架的核心架构和设计原理,旨在帮助读者理解和掌握Spring的内在工作机制,提升在实际项目中的应用能力。 Spring作为Java企业级应用开发的首选框架,其灵活性、可扩展性和模块化设计深受开发者...
综上所述,软件系统架构分析师的工作不仅仅是设计软件架构本身,更重要的是能够在整个软件开发生命周期中发挥关键作用,确保软件既满足当前的需求又具备良好的扩展性和维护性。通过不断学习和实践最新的技术和方法,...
20190916-华泰证券-金融科技行业系列报告之一:金融信息技术架构演进路径分析
《软考系统架构设计师教程(第4版)》是一本为准备参加中国计算机技术与软件专业技术资格(水平)考试——系统架构设计师级别的考生量身定制的教材。此书全面覆盖了系统架构设计的基础理论、技术和实践,旨在帮助...
大型网站技术架构:核心原理与案例分析 本书作者是阿里巴巴网站构建的亲历者,拥有核心技术部门的一线工作经验,直接体验了大型网站构建与发展过程中的种种生与死,蜕与变,见证了一个网站架构从幼稚走向成熟稳定的...
作者首先回顾了之前的文章,包括市场分析、竞品分析、用户调研、需求管理和产品定位,然后开始讨论如何搭建系统架构。 在讨论系统架构时,作者首先提到在设计软件系统时需要考虑企业级应用架构的问题。作者强调,...
标题中的“38张史上最全的IT工程师(高清)”表明这是一个包含38份高清图像资源的集合,这些图像可能是IT工程师所需掌握的各种技术领域的详细图谱。这些图谱通常以图表的形式呈现,旨在帮助学习者理解和掌握IT行业的...
首先,从架构的角度来看,大数据架构主要包含以下几个核心组件: 1. 数据采集层:这是大数据架构的最底层,主要任务是从各个数据源获取数据。常见的数据源包括日志文件、数据库、传感器、社交媒体等。数据采集工具...
共5个压缩包
《系统架构设计师教程(第2版)-希赛版》是一本专注于系统架构师考试的学习资料,由希赛教育编写,2009年发行了第二版,全书共计670页,是系统架构领域的重要参考资料。本书适合于参加软考(软件和信息技术服务业...