构建实时银行应用程序:英国金融机构 Nationwide 为何选择 MongoDB Atlas

在这里插入图片描述

Nationwide Building Society 超过135年的互助合作

Nationwide Building Society(以下简称“Nationwide”) 是一家英国金融服务提供商,拥有超过 1500 万名会员,是全球最大的建房互助会。

Nationwide 的故事可以追溯到 1884 年,当时协会的创始人提议合作运动应建立专门的建房互助会。那时,人们的生活相对简单。各种银行产品通常只提供给富人,工薪阶层很难获得信贷资源和长期住房保障。这些普通的劳动大众需要有个能存钱、能借钱的地方。他们希望通过建立互助会来满足自身需求,提供各种金融新机遇。Nationwide Building Society 便由此应运而生。而在 135 年后的今天,这种互助基础依然牢不可摧。

自 19 世纪末以来,Nationwide在英国依旧家喻户晓。它为会员提供活期账户、抵押贷款、储蓄存款以及其他个人理财方面的帮助。

随着竞争品牌纷纷推出各种新型银行业务模式,客户对网络数字银行服务的需求和呼声日益高涨。如今的Nationwide需要不断提升技术堆栈,紧跟其拓展服务的步伐。

英国家喻户晓的品牌

英国家喻户晓的品牌


一、现状

努力推出各种线上实时功能

尽管 Nationwide 的移动银行平台自 2012 年以来经历了数千次更新,但该平台仍须不断优化提升,增加各种新功能。 如今,不少客户都期望使用数字优先的产品,他们希望实时查看自己的所有账户,并能制定有助于理财的各种规则。

Nationwide 的应用程序架构主管 Rob Jackson “我们的客户希望所有业务现在都能在线办理,而且要求支持实时操作。”

但对 Nationwide 来说,要实现这一目标,需要攻克复杂的技术难关——如果这些在线任务中有一项任务耗时过长,或者如果数据没有正确整合,客户体验就会受到影响。Nationwide需要采取全新的技术方法,更新底层技术基础设施,提升软件运营水平,从而实现实时追踪、修复和更新相关任务或数据。

推动更直观的理财方式

推动更直观的理财方式

二、挑战

从大型机迁移至现代技术

Nationwide 对大型机技术的长期依赖显然是 Jackson 及其团队开展创新的切入点。

自 2012 年起,Nationwide 就一直在大型机这个传统技术孤岛中存储和处理大量客户接触点(网络、移动设备和分支机构)数据。大型机很难使用,而且减缓了开发实践的速度。随着实时数据不断涌入,这些信息的速度和多样性开始对大型机构成了挑战。

为了提供全新的数字服务,Nationwide 需要掌握一种尽快从大型机中获取数据的方法,以便为客户提供最新信息。Jackson 表示,一种方法就是扩展大型机,但这种方法“速度太慢、成本太高”。相反,团队希望为大型机“减负”,将大型机上存储的数据复制到新的实时事件流平台上。该平台有助于整合所有数据,方便开发者使用并发布这些新功能。 该实时事件流平台被称为“加速层 (Speed Layer)”,它将成为Nationwide 海量数据请求和事件溯源的来源,而在事件溯源中,对应用的所有变更都会存储为事件序列。

"这意味着我们终于可以打破数据孤岛,实时合并和丰富数据。 只有这样我们才能更好地提升敏捷性、支持创新活动。"

为了实现所有这一切,团队需要一个全新的现代化数据库来查询、管理和扩展所有这些信息。该数据库需要具备灵活性、便于开发者使用,而且能够大规模地安全存储关键任务数据。

在这里插入图片描述

使用 Nationwide 银行应用尽享业务随时随地随心办

三、解决方案

摆脱数据库的束缚,构建各种新功能

Nationwide 评估了文档数据库的市场及其所需的各种企业级能力:多功能性、功能性、韧性和安全性。经过严格的试用和测试过程,团队选择了全球云数据库服务 MongoDB Atlas,并开始在 Amazon Web Services上运行该服务。

“我们听说过 MongoDB,也知道在有类似应用场景的组织中不少开发者都在使用它的文档数据库。MongoDB 是最受欢迎的一项数据库技术,而优秀的人都希望用上最好的技术。我们当是就想在 Nationwide 中打造这样的技术环境。”

如下文手绘的彩色草图所示,加速层通过变更数据捕获从大型机中获取实时数据,并将数据推送到事件流平台 Kafka 上。然后,速度层使用流处理技术为 MongoDB 生成各种 Kafka 主题。数据之后会被路由至 MongoDB 中进行持久化,形成支持查询的环境。
加速层堆栈

加速层堆栈

通过将大型机数据实时复制到 MongoDB Atlas 中,开发者可以借助微服务架构将有关信息推送给对应的服务,这意味着每个工程团队都能掌握最新数据,为客户构建各种新功能和实时功能。

有了 MongoDB Atlas,团队无需再担心基础设施预配、实例扩展或备份方面的管理工作,因为这一切均由 MongoDB Atlas 完全托管。而团队可以将精力集中在新功能的构建上。

“我们发现 MongoDB Atlas 采用了一种很好的数据组织方法,对于我们的开发者来说非常简单易用。”

团队现在能够使用 MongoDB 的灵活数据模型更快地构建应用程序,处理极为多样化的数据类型,并且可以更加高效地大规模管理应用程序。

传统的关系系统采用复杂的表和行格式,而 MongoDB 的实时数据则以一系列 JSON 文档来表示,这让开发者能以自然语言更直观地表示数据,并由此开发出性能更好的应用程序。 尽管 Nationwide 如今在加速层中使用了 MongoDB Atlas,但 Jackson 解释说这仅仅是双方合作的开始。 由于数字化转型是 Nationwide 的长期项目,因此选择 MongoDB 既考虑到了即时影响,也考虑到了未来价值。

“该路线图看起来非常有趣。最近新增的 Atlas App Services 和移动数据库等功能可能会对我们将来扩展客户功能大有用处。”

四、效果

为企业创造新的竞争优势

加速层仍处于早期生产阶段,但已经表现出强劲的回报,特别是为 Nationwide 带来了韧性和敏捷性,而且能够摄取丰富的数据集。然而,加速层的效果最终将体现在它能否让 Nationwide 为客户大规模构建基于数据的各种实时功能上。新架构以事件为驱动,为客户更轻松地实现这些新功能提供了机会。

“长期以来,金融服务提供商在数据捕获和安全存储方面一直表现出色。但他们在向客户宣传有关数据的 10 个有趣事实方面做得不够,而这可以给他们带来实实在在的好处。为此我们正在改变这种状况。”

如今不难想象 Nationwide 的做法将催生大量新的应用程序和实时功能,并为其创造竞争优势。正如 Nationwide 在135 年前的初衷一样,无论数字化程度如何,Nationwide仍将继续以会员为核心,满足会员的日常需求。

在这里插入图片描述

MongoDB Atlas

MongoDB Atlas 是 MongoDB 公司提供的 MongoDB 云服务,由 MongoDB 数据库的开发团队构建和运维,可以在亚马逊云科技、Microsoft Azure、Google Cloud Platform 云平台上轻松部署、运营和扩展。MongoDB Atlas 内建了 MongoDB 安全和运维最佳实践,可自动完成基础设施的部署、数据库的构建、高可用部署、数据的全球分发、备份等即费时又需要大量经验运维工作。让您通过简单的界面和 API 就可以完成这些工作,由此您可以将更多宝贵的时间花在构建您的应用上。

点击了解更多MongoDB Atlas相关信息

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/870534.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

web后端开发--请求响应

目录 前言 请求 简单参数 原始方法 Spring方式 Post请求乱码处理 实体参数 简单实体参数 复杂实体参数 ​编辑 数组集合参数 数组参数 ​编辑 集合参数 日期参数 ​编辑 Json参数 ​编辑 传递json数据 json数组 json对象(POJO) jso…

Dify中的知识库API列表

1.知识库API列表 通过文本/文件创建/更新/删除文档/查询文档嵌入状态,知识库创建/知识库查询/文档列表查询,分段增/删/改/查。 接口名字功能描述请求示例POST/datasets/{dataset_id}/document/create_by_text通过文本创建文档此接口基于已存在知识库&a…

tableau人口金字塔,漏斗图,箱线图绘制 - 13

人口金字塔,漏斗图,箱线图 1. 金字塔1.1 定义1.2 金字塔创建1.2.1 数据导入1.2.2 数据异常排查1.2.3 创建度量字段1.2.4 转换属性1.2.5 创建数据桶1.2.6 选择相关属性1.2.7 年龄排序1.2.8 创建计算字段1.2.9 选择相关字段1.2.10 设置轴排序1.2.11 设置颜…

liunx清理服务器内存和日志

1、查看服务器磁盘占用情况 # 查看磁盘占用大小 df -h 2、删除data文件夹下面的日志 3、查看每个服务下面的日志输出文件,过大就先停掉服务再删除out文件再重启服务 4、先进入想删除输入日志的服务文件夹下,查看服务进程,杀掉进程&#xff…

DW03D是一款用于锂离子/聚合物电池保护的高集成度解决方案。DW03D包含内部功率MOSFET、高精度电压检测电路和延迟电路

一般概述 DW03D产品是单节锂离子/锂聚合物可充电电池组保护的高集成度解决方案。DW03D包括了先进的功率MOSFET,高精度的电压检测电路和延时电路。 DW03D具有非常小的TSS08-8的封装,这使得该器件非常适合应用于空间限制得非常小的可充电电池组应用。…

【备战秋招】——算法题目训练和总结day3

【备战秋招】——算法题目训练和总结day3😎 前言🙌BC149简写单词题解思路分析代码分享: dd爱框框题解思路分析代码分享: 除2!题解思路分析代码分享: 总结撒花💞 😎博客昵称&#xff…

【Java数据结构】初识线性表之一:顺序表

使用Java简单实现一个顺序表 顺序表是用一段物理地址连续的存储单元依次存储数据元素的线性结构,一般情况下采用数组存储。在数组上完成数据的增删查改。 线性表大致包含如下的一些方法: public class MyArrayList { private int[] array; pri…

怎么将mkv视频格式转为mp4?这四种转换方法你肯定要试试!

怎么将mkv视频格式转为mp4?你是否曾被MKV格式的魅力深深吸引,仿佛踏入了一个充满奇幻色彩的多媒体秘境,那里,音频如溪流潺潺,视频似画卷铺展,字幕则如同夜空中最亮的星,三者交织成一场视听盛宴&…

【彻底禁用Windows系统的自动更新,让电脑使用更顺心!】

文章底部关注公众号:电脑维修小马 回复关键词即可获取软件及注册表:禁用更新 功能简介 自动更新是Windows系统的一项重要功能,旨在保持操作系统的安全性和最新状态。然而,对于许多用户来说,自动更新并不总是那么受欢迎…

渔人杯——RE

贪吃蛇的秘密 修改代码后,报了一个错 # uncompyle6 version 3.9.1 # Python bytecode version base 3.7.0 (3394) # Decompiled from: Python 3.11.8 (tags/v3.11.8:db85d51, Feb 6 2024, 22:03:32) [MSC v.1937 64 bit (AMD64)] # Embedded file name: snake1.py…

2023 N1CTF-n1canary

文章目录 参考n1canary模板类和模板函数make_unique和unique_ptrstd::unique_ptr示例: std::make_unique示例: 结合使用示例 operator->getrandom逆向源码思路exp 参考 https://nese.team/posts/n1ctf2023/ n1canary 模板类和模板函数 template &…

TCP协议的三次握手和四次挥手(面试)

三次握手 首先可以简单的回答: 1、第一次握手:客户端给服务器发送一个 SYN 报文。 2、第二次握手:服务器收到 SYN 报文之后,会应答一个 SYNACK 报文。 3、第三次握手:客户端收到 SYNACK 报文之后&#xf…

内存巨头SK海力士正深化与TSMC/NVIDIA合作关系,开发下一代HBM

据BusinessKorea报道,内存巨头SK海力士正深化与台积电(TSMC)及英伟达(NVIDIA)的合作关系,并计划在9月的台湾半导体展(Semicon Taiwan)上宣布更紧密的伙伴关系。 SK海力士与台积电的合作历史已久。2022年,台积电在其北美技术研讨会上宣布成立O…

脉脉高聘:面对薪资福利减少,超40%职场人自动缩短工时

近日,脉脉高聘人才智库发布《2024职场生存洞察》(下称《洞察》)。 数据显示,2024上半年,新经济行业求职压力居高不下,人才供需比达到1.97,相当于2个人竞争1个岗位。求职压力也让职场人心态趋于…

windows下安装和使用nacos

概述 Nacos致力于帮助您发现、配置和管理微服务。Nacos提供了一组简单易用的特性集,帮助您快速实现动态服务发 现、服务配置、服务元数据及流且管理 Nacos官方文档:https://nacos.io/zh-cn/docs/quick-start.html Nacos下载地址:https://n…

小程序问题

1.获取节点 wx.createSelectorQuery() wx.createSelectorQuery().in(this) //组件中加in(this),不然获取不到 2.使用实例 wx.createSelectorQuery().in(this).select(#share).fields({node: true,size: true}).exec(async (res) > {const canvas res[0].node;…

通过window.postMessage,跨域传递数据

第一个项目的代码,项目地址 http://localhost:5173/ 第二个项目的代码,项目地址 http://localhost:5174/ 点击按钮会打开第二个项目的页面 第二个项目的页面

Rust代码优化的九大技巧

一.使用 Cargo 内置的性能分析工具 描述:Cargo 是 Rust 的包管理器,带有内置工具来分析代码性能,以识别性能瓶颈。 解释: 发布模式:在发布模式下编译启用优化,可以显著提高性能。 cargo build --release基…

StarRocks下载使用说明和基础操作

简介 StarRocks 是一款高性能分析型数据仓库,使用向量化、MPP 架构、CBO、智能物化视图、可实时更新的列式存储引擎等技术实现多维、实时、高并发的数据分析。StarRocks 既支持从各类实时和离线的数据源高效导入数据,也支持直接分析数据湖上各种格式的数…

C++:组合和继承的区别

组合介绍以及与继承对比 什么是组合 (1)composition&#xff0c;组合&#xff0c;就是在一个class内使用其他多个class的对象作为成员 (2)用class tree做案例讲解 (3)组合也是一种代码复用方法&#xff0c;本质也是结构体包含 #include <iostream> #include <vector…