华安保险:核心系统分布式升级,提升保费规模处理能力2-3倍 | OceanBase企业案例

在3月20日的2024 OceanBase数据库城市行的活动中,安保险信息科技部总经理王在平发表了以“保险行业核心业务系统分布式架构实践”为主题的演讲。本文为该演讲的精彩回顾。

早在2019年,华安保险便开始与OceanBase接触,并着手进行数据库的升级选型工作。到了2023年,华安保险的新一代分布式核心系统正式搭载OceanBase分布式数据库,车险承保、非车险承保、意健险理赔等业务模块相继成功上线。预计这一变革将带来保费规模处理能力的显著提升,达到2至3倍的增长同时实现硬件成本降低50%的显著成效。正如俗语所说,“一个好汉三个帮”,挖掘数据库的潜力需要综合考虑整个系统的优化和协同。

1711538079

一、保险系统 IT 架构迎来新的挑战

数字化时代,客户行为的变化对保险公司经营和 IT 架构带来新的挑战。过去十年,以云计算、大数据、区块链、移动互联、物联网、人工智能为代表的“IMABCD”新技术突飞猛进,为数字经济推波助澜,重塑了很多业态,深刻影响用户工作以及行为方式。

为了顺应数字化时代的发展,国家以及行业颁布了诸多政策文件,鼓励企业抓住数字化技术的先机。新型数字化基建已经成为驱动行业转型的核心力量,传统 IT 架构无法应对业务变化挑战,迫切需要转型。

1711538136

该往哪里转?互联网先行者已经为我们趟出了一条路。互联网技术蕴含的设计理念,为新一代保险系统 IT 架构提供了重要参考,引入分布式技术,利用新的技术特性,可化解大容量、低成本、高可用的“不可能三角”。

新一代保险 IT 架构具有以下特点:

○  标准化高:自动化运维、规模化管理

○  成本低:低端计算资源、开源技术

○  风险影响小:分布式、隔离

○  可用性高:冗余、多活

○  数据量大:可支撑千万级日交易量、千万级客户数

○  拓展能力强:横向、纵向扩展均可

二、华安保险 IT 架构,探索历程与应用成效

意识到技术转型的紧迫性以及重要性,华安保险多年前就开始主动进行技术架构的转型探索,以云原生分布式技术为目标,IT 架构从封闭走向开放,逐步迭代成型。

1711538245

2018 年以前,华安保险采取的是金融行业传统的集中式架构。

2018 年到 2022 年,核心系统从小型机转向一体机,开始在增量项目推广分布式技术,逐步从集中式向混合式架构过渡,并不断积累经验。2021 年,华安保险主动把握机遇,推进基础设施的升级工作。

经过多年的磨炼,到 2023 年,华安保险核心系统实现关键突破,主要系统已经转向分布式架构。主要有以下三点应用成效:

第一,关键基础设施“一底双栈”,灵活适配多种业务场景。创新“一底双栈”实施方案,采用国产通用底座,从硬件到数据库软件全是统一的,应用层按需搭配国产全栈、开源组件两种路线,技术选型兼顾稳定可靠与成本可控,具备长期演进能力。

第二,以 XC 为底座的新一代分布式核心系统取得关键突破,预计保费规模处理能力提升 2-3 倍。2022 年,华安保险开始自研以 XC 为底座的新一代分布式核心业务系统,意健险理赔系统当年成功上线。2023 年,非常关键的车险承保核心系统、非车险承保核心系统相继投产,运行一直很平稳,标志以 XC 为代表的核心技术实现重大突破。预计 2025 年,基本实现保险核心系统基于 OceanBase 数据库的全量分布式升级。

1711538285

上线以后,整体应用成效非常明显。从以前的一体机,转向三节点的服务器,整体硬件成本预计降低 50%;得益于 OceanBase 的高级数据压缩技术,节省 75% 的存储空间。此外,得益于其他技术的综合应用,在业务处理的主要关键环节处理耗时下降 32.1%,预计可支持 2-3 倍的保费规模处理能力。

第三,形成一套低成本、高复用、可推广的示范案例。在实践中不断积累,我们把经验总结为“四化”:策略标准化、方案体系化、成本最小化、工具链条化。整体考虑,分步实施,技术成熟可靠,降低了落地风险,对其他中小公司有比较好的借鉴意义。

1711538309

三、架构设计实践

华安保险的设计理念是面向业务,立体发展,体系化构建可持续演进的 IT 架构。

1711538358

总的来说,我们归结为两个升级:一个业务升级,一个技术升级。业务层面,希望数字原生理念去解构、重构业务模式,提出了四个在线的设计理念,作为系统灵魂。技术层面,除了注重以往的单品能力提升外,更强调整体平衡,通过集成式创新实现整个技术的突破。

(一)分布式架构解决开发层面的问题

首先,基于微服务体系,构建 DevOps 交付流水线,实现程序开发快。华安保险封装微服务框架,自研天枢容器平台,以此为基础,将代码仓库 GitLab、CI/CD 流水线 Jenkins 等第三方工具进行系统性整合,构建了完善的 DevOps 体系,快速响应业务需求。

其次,“开源”+“扩展”相结合,利用分布式中间件,做到系统运行稳。2017 年,我们就引入了消息队列、缓存等中间件技术,实现系统之间的解耦。近几年,完善任务调度平台及监控能力,不断补充短板、扩展管理功能,中间件能力得到进一步提升,满足系统容灾与高可靠方面的需要。

再次,沉淀中台能力,模块化快速装配,支持应用集成精。华安保险应用“中台”概念,通过多年的积累,沉淀了不少通用性业务组件,搭建系统时可快速装配,不重复造轮子,综合产品力不断提升。

最后,改变编程思路,分层均衡处理,力求代码质量高。编程方面从规范、设计理念上,我们做出了一列改变,从以往过于注重底层数据库的能力,把业务逻辑上移,实现前台、中台以及数据库底层的平衡,通过多层均衡布局,化解系统运行中的不确定性问题。

1711538418

(二)数据库是 IT 架构升级的关键

第一,引入 OceanBase 分布式数据库,建立租户模式,支持弹性管理与系统可扩展性。数据库是整个 IT 架构升级的关键。华安保险作为一个中小公司,技术能力相对受限,综合考虑后对技术栈做了收敛,希望建立企业级的数据库服务通用能力,简化系统使用与管理。

2019 年,华安保险启动数据库选型,经过多方比较测试,最终选择 OceanBase 搭建统一的数据库底座。通过建立多集群、多租户的方式,根据不同的场景,指定独享或者共享模式,更好地适配业务需要。

1711538475

○  集群划分:整体规划,核心业务系统、一般业务系统、办公管理系统纳 入不同集群进行管理;

○  租户划分:根据业务场景及性能要求,划分不同规格租户,资源相对隔离,承载一个或多个关联应用服务。

第二,依托业务场景,适配不同引擎,访问分层、分流,系统压力共担。应对场景多元化,华安保险同时引入其他引擎,实现访问分层、分流处理,比如高频键值访问采用 Redis、批量查询采用 ES、关联查询采用数据湖等。通过技术的组合应用,很好解决了复杂场景下的系统压力。

第三,业务数据汇集于湖,应对跑批、批查等综合功能需要。考虑到多租户、集群、跨库数据隔离的问题,我们后端建立了联机数据湖,实现数据汇集,提供综合查询能力。数据湖也是大数据平台抽取业务数据的中间库,规避后端数据平台直接从业务库抽数对生产环境造成波动。

1711538555

第四,主数据统一管理,建立实时分发机制,实现数据同源和系统解耦。华安保险建立了企业主数据管理平台,统一管理和实时分发,保证基础数据源自一处,提高数据的一致性和可用性,进而提升数据管理和应用效率。

第五,将数据嵌入应用场景,保持数据在线,让数据真正服务应用系统。华安保险基于离线与实时技术,建立了统一数据中台,研发面向业务域的数据产品,与此同时,积极开发数据看板与数据服务,将之嵌入业务系统,为风控、操作提供数据指引,保持“数尽其用”。

(三)分布式应用的运行与监控

首先,迭代容器平台,实现一云多芯、多集群纳管,支撑系统稳定运行。天枢容器平台从 2019 年开始自主研发,2022 年重大升级到 2.0 版本,打造“一站式”应用交付管理模式。目前,华安保险的内部新应用,大规模运行在容器平台上,实现一云多芯、多集群纳管。

其次,服务可观测多管齐下,系统运维从事后告警转变为事前预警。分布式对 DBA 或运维人员来说,主要还是需要解决运维便捷度的问题。在数据可观测层面,华安保险同样基于自研和开源技术,构建服务可观测能力平台-天眼平台,实现应用指标与数据指标的采集、处理与展示,并提供微服务的分布式追踪、服务网格遥测分析、度量聚合和可视化。

1711538617

四、未来展望:建立两地三中心容灾能力

未来,华安保险将持续推进分布式技术深度应用。2024 年,将以分布式架构为基础,建立两地三中心的容灾能力,实现应用同城双活、异地数据容灾,提升业务运营连续性。

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

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

相关文章

spring boot3登录开发-2(3邮件验证码接口实现)

⛰️个人主页: 蒾酒 🔥系列专栏:《spring boot实战》 目录 写在前面 上文衔接 接口设计与实现 1.接口分析 2.实现思路 3.代码实现 1.定义验证码短信HTML模板枚举类 2.定义验证码业务接口 3. 验证码业务接口实现 4.控制层代码 4.测试 写…

三、Mapper XML的解析和注册使用

流程: 1.Resources加载MyBatis配置文件生成Reader字符流 2.SqlSessionFactoryBuilder开始引导构建SqlSessionFactory,包括两步: 第一步是在XMLConfigBuilder中使用dom4j解析xml文件,将解析的SQL包装成MappedStatement对象存入Con…

微信小程序-案例:本地生活-首页(不使用网络数据请求)

一、 1.页面效果: 二、 1.新建项目并添加页面 在app.json文件中: "pages": ["pages/home/home","pages/message/message","pages/contact/contact"] 2.配置导航栏效果 在app.json文件中: &quo…

Windows11系统 和Android 调试桥(Android Debug Bridge,ADB)工具安装,app抓取日志内容

文章目录 目录 文章目录 安装流程 小结 概要安装流程技术细节小结 概要 Android调试桥(ADB)是一种多功能命令行工具,它允许开发者与连接到计算机上的Android设备进行通信和控制。ADB工具的作用包括但不限于: 安装和卸载应用程序&…

Three.js中的Raycasting技术:实现3D场景交互事件的Raycaster详解

前言 在Web开发中,Three.js是一个极为强大的库,它让开发者能够轻松地在浏览器中创建和展示3D图形。随着3D技术在网页设计、游戏开发、数据可视化等领域的广泛应用,用户与3D场景的交互变得日益重要。而要实现这种交互,一个核心的技…

初识C++ · 反向迭代器简介

目录 前言 反向迭代器的实现 前言 继模拟实现了list和vector之后,我们对迭代器的印象也是加深了许多,但是我们实现的都是正向迭代器,还没有实现反向迭代器,那么为什么迟迟不实现呢?因为难吗?实际上还好。…

点击重置按钮清除el-table排序状态的高亮样式

需求&#xff1a;需要点击按钮的时候&#xff0c;清除掉el-table排序状态的高亮样式 解决方法&#xff1a;table添加ref"tableData",然后使用this.$refs.tableData.clearSort()。 <el-table:data"tableData"style"width: 100%":header-cell-s…

PHP实现抖音小程序用户登录获取openid

目录 第一步、抖音小程序前端使用tt.login获取code 第二步、前端拿到code传给后端 第三步、方法1 后端获取用户信息 第四步、方法2 抖音小程序拿到用户信息把用户信息传给后端 code2Session抖音小程序用户登录后端文档 第一步、抖音小程序前端使用tt.login获取code 前端 …

如何解决chatgpt出现503 bad gateway的问题

昨日&#xff0c;ChatGPT官网挂了&#xff0c;也就是使用web网页端访问的用户&#xff0c;会出现 bad gateway 情况。我们去ChatGPT官方的监控查看&#xff0c;已经展示相关错误。 影响的范围有&#xff1a; 影响了 ChatGPT 所有计划的所有用户。影响包括所有与 ChatGPT 相关…

Ubuntu22.04之解决:emacs无法输入中文问题(二百四十)

简介&#xff1a; CSDN博客专家&#xff0c;专注Android/Linux系统&#xff0c;分享多mic语音方案、音视频、编解码等技术&#xff0c;与大家一起成长&#xff01; 优质专栏&#xff1a;Audio工程师进阶系列【原创干货持续更新中……】&#x1f680; 优质专栏&#xff1a;多媒…

js 选择一个音频文件,绘制音频的波形,从右向左逐渐前进。

选择一个音频文件&#xff0c;绘制波形&#xff0c;从右向左逐渐前进。 完整代码&#xff1a; <template><div><input type"file" change"handleFileChange" accept"audio/*" /><button click"stopPlayback" :…

实战:Zig 编写高性能 Web 服务(2)

1.1 编写 HTTP server 我们从python -m http.server 8000启动得到灵感&#xff0c;先确定好目标&#xff1a; 编写一个HTTP/1.1 http serverzig version 0.12.0 使用zig init搭建项目的前置工作你先自行搭建好&#xff0c;不会的翻看前面铺垫的章节熟悉zig的项目结构。 关键…

大型语言模型智能体(LLM Agent)在实际使用的五大问题

在这篇文章中&#xff0c;我将讨论人们在将代理系统投入生产过程中经常遇到的五个主要问题。我将尽量保持框架中立&#xff0c;尽管某些问题在特定框架中更加常见。 1. 可靠性问题 可靠性是所有代理系统面临的最大问题。很多公司对代理系统的复杂任务持谨慎态度&#xff0c;因…

从入门到精通:Java三目运算符详细教程!

哈喽&#xff0c;各位小伙伴们&#xff0c;你们好呀&#xff0c;我是喵手。运营社区&#xff1a;C站/掘金/腾讯云&#xff1b;欢迎大家常来逛逛 今天我要给大家分享一些自己日常学习到的一些知识点&#xff0c;并以文字的形式跟大家一起交流&#xff0c;互相学习&#xff0c;一…

操作系统教材第6版——个人笔记3

2.1 处理器 2.1.1 处理器与寄存器 处理器部件的简单示意 用户程序可见寄存器 可以使程序员减少访问主存储器的次数&#xff0c;提高指令执行的效率所有程序可使用&#xff0c;包括应用程序和系统程序数据寄存器&#xff1a;又称通用寄存器地址寄存器&#xff1a;索引、栈指针…

表达式求值中的“整型提升”概念

一.基本原理和概念 如&#xff1a;代码 char a&#xff0c;b&#xff0c;c &#xff1b; a b c &#xff1b; 该代码在计算的时候就会先将 b 和 c 提升为 int 类型进行加法后&#xff0c;再将数据进行截断存放在内存存放变量 a 的空间中。 &#xff08;1&#xff09;提升和截…

【quarkus系列】实战自定义注解实现策略模式分发

目录 序言自定义注解业务接口渠道消息实现策略分发测试知识扩展AnyAnnotationLiteral 应用场景和语法 序言 策略模式大家都应该了解或者使用过&#xff0c;此篇文章中就不再阐述&#xff0c;之前springboot项目中小编也真正的实战应用过。现在换Quarkus框架开发项目&#xff0…

Java面试题:Redis双写一致性问题

Redis双写一致性 缓存和数据库数据同步 正常流程: 读操作: 查询缓存,查询命中直接返回,没命中查询数据库将查询到的数据写入缓存,并设定超时时间 写操作: 删除缓存,修改数据库,在延时一段时间后再删除缓存 (延迟双删)延迟:等待数据库的主节点同步到从节点 因为如果先删…

C++实现,简单的命令行交互框架

目录 背景背景 在实际开发中,经常需要有对端测试程序,配合自己的程序,验证功能、逻辑等。面对繁杂、多变的需求,如果对端程序设计得不够灵活,则无法提升工作效率,如果能够与对端程序交互,通过命令行输入命令的方式完成测试验证,将大大提升工作效率,下面的示例程序是一…

【C语言】一节课拿捏---动态内存分配

谢谢观看&#xff01;希望以下内容帮助到了你&#xff0c;对你起到作用的话&#xff0c;可以一键三连加关注&#xff01;你们的支持是我更新地动力。 因作者水平有限&#xff0c;有错误还请指出&#xff0c;多多包涵&#xff0c;谢谢&#xff01; 目录 一、 为什么要有动态内存…