《生来创新-金融级云原生》——2 金融级云原生的“新标准和新蓝图”——2.2 定义金融云原生的10大新要素——要素 8:金融级一致性

简介: 《生来创新-金融级云原生》——2 金融级云原生的“新标准和新蓝图”——2.2 定义金融云原生的10大新要素——要素 8:金融级一致性

image.png


云原生应用以布式系统为主,应用会被切分到多个分布式的微服务系统下,拆分一般分 为水平分和垂直拆分,这并不仅仅单指对数据库或者缓存的拆分,主要是表达一种分而治之 想和逻辑。


式系统的底层无法逃离CAP 的不可能三角” (C: Consistency,  一 致 性;A: Availability  可用性;P: Partition tolerance,  分区容忍性)。CAP 原理证明,  任何分布式 系统只可同时满足以上点,无法三者兼顾。而分布式的服务化系统都需要满足分区容忍性, 那么必须在一致和可用性之间进行权衡。如果网络发生异常情况,导致分布式系统中部分节 点之间的网络延迟不断大,可能会导致分布式系统出现网络分区。复制操作可能会被延后, 如果这时我们的使用方等待复制完成再返回,则可能导致在有限时间内无法返回,就失去了可 用性;而如果使方不等待复制完成,而在主分片写完后直接返回,则具有了可用性,但是失 去了一致性。


对金融机构而言,架构层面的高可用和业务层面的强一致性,几乎同样重要。这就需要金  融级云原生能够很好地平衡“CAP 的不可能三角”,需要尽可能兼顾业务强一致与系统高可用。


但是“一致性挑战”在分布式系统中绝不仅仅是一个数据库问题,而是一个大的话题,涵 布式系统的各个层面:事务一致性、节点一致性、系统间业务一致性、消息幂等一致性、 缓存一致性、跨 IDC 一致性等等。所以也需要云原生架构有一系列技术能够应对金融级对一致 性的严苛挑战。


事务需要根据不同的金融场景选择合适的分布式事务模式,在平衡成本和性能后, SAGA TCC 是目前金融机构比较常用的两种分布式事务模式。SAGA 模式对应用实现侵 入性更小,但基于偿事务来保障一致性的设计、前后步骤执行过程中不保证事务隔离性;而 TCC 模式能做到比较好的事务隔离性,但需要应用层感知更多的复杂度。对于事务流程中部分 不需要同步返回结果的节点,为提高执行效率可采用异步消息队列实现,对于一些事务流程较 长的场景可明显降低事务实现复杂度、削峰填谷。典型场景如客户购买理财场景简化分为存款 户扣款和理财账户入账两个步骤,如选用 SAGA 模式,存款账户成功扣款后、理财账户入账 失败,客户看到“钱已付、货没到”的中间异常状态,需要系统进行冲正存款账户扣款来保 事务一致性。若选用 TCC 模式,先后完成存款账户扣款、理财账户入账的逻辑处理,各自 需要存款系统和理财系统记录逻辑处理的状态,二者均成功后再发起统一提交。


数据库级:融场景下对于数据不丢有着极致的要求,一方面需要在同城、异地多个机房 保存多个副本,另一方面需要在多个副本之间实现数据同步,保障同城 RPO 为零、异地 RPO 接近零。Paxos 算法是基于消息传递的实现分布式系统数据一致性的算法,是至今为止公认 实现致性的最有效的算法之一,分布式数据库通过对 Paxos 的支持来实现跨多服务器,甚 至跨多中心的数据一致性保证。


机房级:跨机房的由能力、异常事务的跨机房恢复能力。发生机房故障时,数据库需要 能够切到同城 / 地的副本、并保障 RPO 为零,配合应用层的交易路由切换,完成机房级容 灾切换、恢复业务期间因机房故障导致的部分交易事务流程中断,分布式事务组件需要具备 自动恢复能力,重新启动中断的事务流程按事先设定的业务规则向前完成或向后冲正。

相关文章
|
5月前
|
运维 Cloud Native 持续交付
云原生架构:未来软件开发的蓝图
【6月更文挑战第6天】随着云计算技术的不断进步,云原生架构已经成为推动现代软件开发的重要力量。本文将深入探讨云原生的概念、核心组件以及它如何改变应用程序的开发、部署和运维方式。通过分析云原生的优势,我们将揭示这一趋势如何为企业带来更高的效率、灵活性和创新能力。
|
29天前
|
人工智能 Cloud Native 安全
从云原生到 AI 原生,网关的发展趋势和最佳实践
本文整理自阿里云智能集团资深技术专家,云原生产品线中间件负责人谢吉宝(唐三)在云栖大会的精彩分享。讲师深入浅出的分享了软件架构演进过程中,网关所扮演的各类角色,AI 应用的流量新特征对软件架构和网关所提出的新诉求,以及基于阿里自身实践所带来的开源贡献和商业能力。
125 10
|
18天前
|
运维 Cloud Native 持续交付
云原生技术解析:从IO出发,以阿里云原生为例
【10月更文挑战第24天】随着互联网技术的不断发展,传统的单体应用架构逐渐暴露出扩展性差、迭代速度慢等问题。为了应对这些挑战,云原生技术应运而生。云原生是一种利用云计算的优势,以更灵活、可扩展和可靠的方式构建和部署应用程序的方法。它强调以容器、微服务、自动化和持续交付为核心,旨在提高开发效率、增强系统的灵活性和可维护性。阿里云作为国内领先的云服务商,在云原生领域有着深厚的积累和实践。
49 0
|
2月前
|
Kubernetes Cloud Native Java
探索未来编程新纪元:Quarkus带你秒建高性能Kubernetes原生Java应用,云原生时代的技术狂欢!
Quarkus 是专为 Kubernetes 设计的全栈云原生 Java 框架,凭借其轻量级、快速启动及高效执行特性,在 Java 社区脱颖而出。通过编译时优化与原生镜像支持,Quarkus 提升了应用性能,同时保持了 Java 的熟悉度与灵活性。本文将指导你从创建项目、编写 REST 控制器到构建与部署 Kubernetes 原生镜像的全过程,让你快速上手 Quarkus,体验高效开发与部署的乐趣。
38 0
|
5月前
|
人工智能 Cloud Native Java
从云原生视角看 AI 原生应用架构的实践
本文核心观点: • 基于大模型的 AI 原生应用将越来越多,容器和微服务为代表的云原生技术将加速渗透传统业务。 • API 是 AI 原生应用的一等公民,并引入了更多流量,催生企业新的生命力和想象空间。 • AI 原生应用对网关的需求超越了传统的路由和负载均衡功能,承载了更大的 AI 工程化使命。 • AI Infra 的一致性架构至关重要,API 网关、消息队列、可观测是 AI Infra 的重要组成。
51069 25
|
3月前
|
Cloud Native API 云计算
云原生技术:构建现代应用的蓝图
在数字化浪潮推动下,企业正迅速采纳云原生技术以加速创新和响应市场。本文将探讨云原生的核心概念、优势以及如何通过实践案例促进企业转型。
|
4月前
|
Cloud Native
云原生部署问题之什么是结构体,并给出一个结构体的定义和初始化示例
云原生部署问题之什么是结构体,并给出一个结构体的定义和初始化示例
50 10
|
3月前
|
Cloud Native 关系型数据库 分布式数据库
云原生数据库2.0问题之DBStack的定义如何解决
云原生数据库2.0问题之DBStack的定义如何解决
|
4月前
|
Cloud Native 安全 持续交付
云端创新的桥梁:云原生技术在现代企业中的应用与挑战
本文深入探讨了云原生技术如何成为推动企业数字化转型的关键力量。通过分析容器化、微服务架构、持续集成与持续部署(CI/CD)以及声明式API的核心原理,本文揭示了这些技术如何提高应用的可扩展性、灵活性和自动化水平。同时,文章也未回避云原生环境所面临的安全挑战、技术复杂性和对专业人才的需求等现实问题。最终,我们提出了一系列策略,旨在帮助企业有效应对这些挑战,确保云原生技术的顺利采用和优化运用。
55 0
|
5月前
|
Cloud Native 持续交付 云计算
云端创新:探索云原生技术的无限可能
【6月更文挑战第12天】在数字化浪潮中,云计算不再是一个单纯的存储解决方案,而是成为了创新的发源地。本文将深入探讨云原生技术如何推动企业转型,以及它在提高开发效率、降低成本和促进可持续发展方面的关键作用。我们将一同见证,云原生不仅仅是一项技术,它更是一种文化,一种驱动未来软件开发的新理念。

热门文章

最新文章

下一篇
无影云桌面