构建实时银行应用程序:英国金融机构 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相关信息

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Python3 第十五课 -- 条件控制

目录 一. 前言 二. if 语句 三. if 嵌套 四. match...case 一. 前言 Python 条件语句是通过一条或多条语句的执行结果(True 或者 False)来决定执行的代码块。 可以通过下图来简单了解条件语句的执行过程: 代码执行过程: 二.…

【Python】下载与安装

目录 一、 下载安装Python 1. 配置环境变量 2. 检查是否配置成功 一、 下载安装Python 在我上传的资源可以免费下载!!! https://download.csdn.net/download/m0_67830223/89536665?spm1001.2014.3001.5501https://download.csdn.net/dow…

如何入门单片机嵌入式?

入门单片机嵌入式系统开发可以按照以下步骤进行。我收集归类了一份嵌入式学习包,对于新手而言简直不要太棒,里面包括了新手各个时期的学习方向编程教学、问题视频讲解、毕设800套和语言类教学,敲个22就可以免费获得。 选择单片机开发板&…

Epson打印机日常问题和解决办法

1、打印过程中缺纸,重新放入纸张之后,打印机出错。 打开“控制面板”,进入“设备与打印机”: 选择你正在使用的打印机,最下面可以看到打印机状态(我这边用完脱机了,所以显示脱机)&a…

Min P Sampling: Balancing Creativity and Coherence at High Temperature阅读笔记

上一篇文章是关于大语言模型的调参数,写了temperature这个参数近期的一个工作。那接下来,就不得不再来讲讲top-p这个参数啦。首先还是上文章,同样是非常新的一个工作,2024年7月1日submit的呢。 文章链接:https://arxi…

SpringBoot新手快速入门系列教程十一:基于Docker Compose部署一个最简单分布式服务项目

我的教程都是亲自测试可行才发布的,如果有任何问题欢迎留言或者来群里我每天都会解答。 如果您还对于Docker或者Docker Compose不甚了解,可以劳烦移步到我之前的教程: SpringBoot新手快速入门系列教程九:基于docker容器&#xff…

论文翻译:Large Language Models for Education: A Survey

目录 大型语言模型在教育领域的应用:一项综述摘要1 引言2. 教育中的LLM特征2.1. LLMs的特征2.2 教育的特征2.2.1 教育发展过程 低进入门槛。2.2.2. 对教师的影响2.2.3 教育挑战 2.3 LLMEdu的特征2.3.1 "LLMs 教育"的具体体现2.3.2 "LLMs 教育"…

【系统架构设计】计算机组成与体系结构(三)

计算机组成与体系结构(三) 计算机系统组成存储器系统主存储器辅助存储器Cache存储器Cache 基本原理映射机制直接映射全相联映射组相联映射 替换算法写操作 流水线(计算)流水线周期流水线执行时间流水线的吞吐率流水线的加速比 计算…

Python函数 之 匿名函数

1.概念 匿名函数: 使用 lambda 关键字 定义的表达式,称为匿名函数. 2.语法 lambda 参数, 参数: 一行代码 # 只能实现简单的功能,只能写一行代码 # 匿名函数 一般不直接调用,作为函数的参数使用的 3.代码 4.练习 # 1, 定义匿名函数, 参数…

JDK 和 JRE:它们之间的区别是什么?

JDK 和 JRE:它们之间的区别是什么? 1、JRE(Java Runtime Environment)1.1 JRE的主要组成部分1.2 JRE的用途 2、JDK(Java Development Kit)2.1 JDK的主要组成部分2.2 JDK的用途 3、总结 💖The Be…

pbootCMS 数据库sqlite转mysql数据库

前言 pbootCMS默认使用 sqlite数据库 ,那么什么是sqlite数据库呢? SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中。它是D.RichardHipp建立的公有领域项目。它的设计目标是嵌…

Java | Leetcode Java题解之第232题用栈实现队列

题目&#xff1a; 题解&#xff1a; class MyQueue {Deque<Integer> inStack;Deque<Integer> outStack;public MyQueue() {inStack new ArrayDeque<Integer>();outStack new ArrayDeque<Integer>();}public void push(int x) {inStack.push(x);}pub…

Spark底层原理:案例解析(第34天)

系列文章目录 一、Spark架构设计概述 二、Spark核心组件 三、Spark架构设计举例分析 四、Job调度流程详解 五、Spark交互流程详解 文章目录 系列文章目录前言一、Spark架构设计概述1. 集群资源管理器&#xff08;Cluster Manager&#xff09;2. 工作节点&#xff08;Worker No…

数电基础 - 组合逻辑电路

目录 一. 简介 二. 分析方法 三. 设计方法 四. 常用的逻辑组合电路 五. 冒险现象 六. 消除冒险现象 七. 总结 一. 简介 组合逻辑电路是数字电路中的一种类型&#xff0c;它在任何时刻的输出仅仅取决于当时的输入信号组合&#xff0c;而与电路过去的状态无关。 组合逻辑…

红酒的艺术之旅:品味、鉴赏与生活的整合

在繁忙的都市生活中&#xff0c;红酒如同一道不同的风景线&#xff0c;将品味、鉴赏与日常生活巧妙地整合在一起。它不仅仅是一种饮品&#xff0c;更是一种艺术&#xff0c;一种生活的态度。今天&#xff0c;就让我们一起踏上这趟红酒的艺术之旅&#xff0c;探寻雷盛红酒如何以…

秋招突击——7/9——MySQL索引的使用

文章目录 引言正文B站网课索引基础创建索引如何在一个表中查看索引为字符串建立索引全文索引复合索引复合索引中的排序问题索引失效的情况使用索引进行排序覆盖索引维护索引 数据库基础——文档资料学习整理创建索引删除索引创建唯一索引索引提示复合索引聚集索引索引基数字符串…

映美精黑白相机IFrameQueueBuffer转halcon的HObject

映美精黑白相机&#xff0c;用wpfhalcon开发取图 1.到官网下载&#xff0c;开发包 1sdk 2c开发例子 3c#开发例子 引入TIS.Imaging.ICImagingControl35.dll 3.ICImagingControl使用这个类控制相机 /// <summary> /// 相机控制 /// </summary> public ICImagingC…

CentOS7二进制安装和YUM安装mongodb,服务器无法安装5.0以上的 mongodb 数据库报错 Illegal instruction

文章目录 MongoDB 安装二进制安装YUM 安装 Tips:1、MongoDB安装问题2、MongoDB登录3、MongoDB排序时内存大小限制和创建索引4、创建用户5、Java yaml使用密码连接mongodb6、MongoDB增删改查 MongoDB 安装 二进制安装 [rootmysql5-7 mongodb-6.0.4]# cat start.sh #!/bin/bash…

小程序-设置环境变量

在实际开发中&#xff0c;不同的开发环境&#xff0c;调用的接口地址是不一样的 例如&#xff1a;开发环境需要调用开发版的接口地址&#xff0c;生产环境需要正式版的接口地址 这时候&#xff0c;我们就可以使用小程序提供了 wx.getAccountInfoSync() 接口&#xff0c;用来获取…

作为空降高管,如何服众?教你3个步骤,站稳脚跟

作为空降高管&#xff0c;如何服众&#xff1f;教你3个步骤&#xff0c;站稳脚跟 第一招&#xff1a;请“尚方宝剑” 空降领导最大的劣势有4点&#xff1a; ①、缺乏支持&#xff0c;没有群众基础&#xff0c;不得民心。 ②、对环境不熟悉&#xff0c;不了解团队结构。 ③…