摘要
2019年6月,我所在的公司中标某集团全国保险大数据平台搭建项目,该项目周期为2年,总投资为5000万人民币,通过该项目,搭建该集团大数据建设项目,实现该集团所有业务以及用户行为数据入库并解析,为集团提供精准营销、挖掘潜在客户等提供业务支撑,帮助集团实现快速的业务增长。我有幸作为此次项目的负责人以及架构师参与了项目的搭建以及开发过程。该项目时间紧任务重、涉及人员组织多,直接相关集团保险公司内部40个部门 600 余人,外部配合协作 20 多个厂商团队 300 余人。该项目于 2021年 5 月完成系统上线, 2021年 6 月通过最终验收,得到了用户的一致肯定,顺利达成了项目既定目标。本文重点结合实际经验,以该项目为例,论述一下项目建设过程中分布式部署存储系统架构设计。

正文
2019年6月,我作为项目负责人以及架构师,主持某集团全国保险大数据平台建设项目,该项目周期为2年,总投资为5000万人民币。该项目时间紧任务重,具有相当大的挑战性。一是需要配合的改造部门多,将近有40个部门60个应用配合大数据平台的改造,在数据入湖的时候需要定义统一的数据格式并且要和60个应用进行配合改造。这里面,有一些应用技术老旧、平台维护升级困难、数据来源格式不统一。这就给大数据平台的数据接入带来了相当大的挑战。二是技术含量高,要实现全国保险业务的数据入湖并存储以及解析,并且需要将近5年的数据做特殊处理进行分布式存储。同时,要求大数据平台具有很好的扩展性和高可用性,每日处理的数据量能达到PB级别。三是数据难整合,需要将前5年的数据按其有效性进行分类、转化、整合,并最终展现在界面上,供业务分析和参考。四是涉及人员组织多,直接研发团队成员28人,集团总部再保险部、财务部、风险部、八大业务部、32 个省公司等 200 余人,同时涉及外部配合协作承保系统、核保系统、理赔系统、收付费系统、财务系统等 30 多个厂商团队 300 余人。我担任项目第一负责人,负责项目整体技术方案评估、立项论证以及项目管理工作。在项目启动前,负责分析项目的预期经济效益、可选技术方案,分析关联项目影响,并向公司提交立项报告。项目启动后,作为主要负责人,牵头与公司内部技术专家、外部架构师一同建立项目技术架构组,设计项目整体技术架构,同时挑选项目内部成员,建立需求分析组、系统开发组、系统测试组、运维支持组,开展业务需求分析、系统设计、数据迁移方案、上线切换方案工作。一方面,我个人接受各组工作汇报,指导团队研发工作,监控整体工作进度。同时,我及时向公司领导、项目客户方、相关项目团队汇报沟通工作进展、阐明关键技术要点。
我们都知道,要建设大数据平台项目,里面很重要的一点,就是实现数据的存储。这里很显然,我们要用分布式存储。目前,分布式存储技术主要包含下面四种技术:
1.集群存储技术。集群存储系统是指架构在一个可扩充服务器集群中的文件系统,用户不需要考虑文件是存储在集群中的什么位置,仅仅需要使用统一的界面就可以访问文件资源。当负载增加时,只需要在服务器集群中增加新的服务器就可以提高文件系统的性能。集群存储系统能够保留传统的文件存储系统的语义,增加了集群存储系统必须的机制,可以向用户提供高可靠性、高性能、可扩充的文件存储服务。
2.分布式文件系统。分布式文件系统是指文件系统管理的物理存储资源不一定直接连接在本地节点上,而是通过计算机网络与节点相连。分布式文件系统的设计基于客户机/服务器模式。一个典型的网络可能包含多个供多用户访问的服务器。另外,对等待性允许一些系统扮演客户机和服务器的双重角色,分布式文件系统以透明方式链接文件服务器和共享文件夹,然后将其映射到单个层次结构,以便可以从一个位置对其进行访问,而实际上数据却分布在不同的位置。用户不必再转至网络上的多个位置以查找所需的信息。
3.网络存储技术。网络存储系统就是将“存储”和“网络”结合起来,通过网络连接各存储设备,实现存储设备之间、存储设备和服务器之间的数据在网络上的高性能传输。为了充分利用资源,减少投资,存储作为构成计算机系统的主要架构之一,就不再仅仅担负附加设备的角色,逐步成为独立的系统。利用网络将此独立的系统和传统的用户设备连接,使其以高速、稳定的数据存储单元存在。用户可以方便得使用浏览器等客户端进行访问和管理。
4.P2P网络存储技术。P2P网络存储技术的应用使得内容不是存在几个主要的服务器上,而是存在所有用户的个人电脑上。这就为网络存储提供了可能性,可以将网络中的剩余存储空间利用起来,实现网络存储。
通过对四种分布式存储技术的比较分析,最终,该项目采用了分布式文件系统技术。因为要实现多个平台的数据入湖,业务允许数据延时,所以我们搭建了Hadoop大数据平台,利用HDFS的高容错性、可构建在廉价的机器上等特点,实现了分布式文件系统的存储。该项目上线运行后,每天都能处理TB级别的数据,当业务量剧增的时候,PB级别的数据处理起来也游刃有余。成功的实现了该项目的预定目标。在项目实施过程中,还需要考虑当部分服务器失效时,数据服务仍可正常访问。这时,就需要用到冗余技术。查询资料得知,常用的冗余技术包括:数据备份、数据分割、门限方案、纠错编码、纠删编码等。在本次项目实施过程中,我们使用到了HDFS的纠删码技术。纠删码技术是一种数据保护技术,最早用于通信行业中数据传输中的数据恢复,是一种编码容错技术。他通过在原始数据中加入新的校验数据,使得各个部分的数据产生关联性。在一定范围的数据出错情况下,通过纠删码技术可以进行恢复。默认的纠删码策略可以节省50%的存储空间,同时还可以承受更多的存储故障。同时,对于一些重要的数据,我们也使用了数据备份技术,将数据备份到云服务端,保障系统在发生不可抗力的时候数据丢失的情况。运用这两种技术,成功提高了分布式存储系统的可靠性,使得系统更加稳定、高效的运行。
经过我和团队的不懈努力,历时2年,项目终于于 2021年6月顺利通过了验收,并得到了一致好评,运行至今,用户反馈良好,集团公司的再保险业务运营水平得以提升。但是,在实施过程中,也暴露了一些具体问题,例如HDFS上面存储过多的小文件,一方面会大量占用NameNode的内存空间,另一方面就是元数据文件过多,使得寻址索引速度变慢,影响机器性能等等,这些问题通过应急处理和协调,都得到了妥善解决,没有影响到项目的总体进度。我们已经把这些经验和教训,总结到了工作总结里面,向其他技术人员分享,为今后系统架构设计提供帮助。相信通过不断持续学习改进,加强自己的系统分析与设计能力,努力工作,提升工作水平,为社会和公司多贡献一点自己的价值。

论分布式存储系统架构设计相关推荐

  1. 软考高级系统架构设计师:论分布式存储系统架构设计

    软考高级系统架构设计师:论分布式存储系统架构设计 一.集群存储技术 二.分布式文件系统 三.网络存储系统 四.P2P网络存储技术 五.提高分布式存储系统可靠性方法 简要说明在分布式存储系统架构设计中所 ...

  2. 架构设计-大规模分布式存储系统架构概述

    大规模分布式存储系统架构概述 概念 大规模分布式存储系统的 定义:"分布式存储系统是大量普通 PC 服务器通过 Internet 互联,对外作为一个 整体 提供存储服务". 分布式 ...

  3. 分布式 | Dubbo 架构设计详解

    转载自   分布式 | Dubbo 架构设计详解 Dubbo是Alibaba开源的分布式服务框架,它最大的特点是按照分层的方式来架构,使用这种方式可以使各个层之间解耦合(或者最大限度地松耦合).从服务 ...

  4. 分布式事务架构设计原理

    随着业务需求的复杂化,企业应用规模不断扩大,在后端开发中经常会遇到以下问题: 业务的并发要求非常高,对应的业务需要通过微服务拆分,甚至分库分表等架构设计才能满足并发需求,此时业务操作无法在同一个数据库 ...

  5. Ceph分布式存储系统架构研究综述

    Ceph项目是加州大学圣克鲁兹分校的 Weil于2006年开发的.当时他发现元数据的查询和维护严重影响了 Lustre等分布式文件系统的性能和扩展性,因此设计了一种利用算法来确定数据与存储节点对应关系 ...

  6. 金融级分布式数据库架构设计要点

    行业背景 银行业从最初的手工记账到会计电算化,到金融电子化,再到现在的金融科技,可以看到金融与科技的结合越来越紧密,人工智能.大数据.物联网.区块链等新兴技术改变了金融的交易方式,为金融行业的创新前行 ...

  7. Spring Boot+Docker微服务分布式服务架构设计和部署案例

    2019独角兽企业重金招聘Python工程师标准>>> j360-microservice spring-boot+docker微服务设计之j360-microservice:(欢迎 ...

  8. [读书笔记]大型分布式网站架构设计与实践.分布式缓存

    前言:本书是对分布式系统架构涉及到的相关技术的一本科普书籍.由于很难作为开发参考,只能但求了解.所以通篇浅读,对分布式系统进行大致的了解.因为写的非常好,感觉非常有意思,自己也做不出总结.所谓的读书笔 ...

  9. java路由架构_《大型分布式网站架构设计与实践》读书笔记之 服务的路由和负载均衡...

    服务的路由和负载均衡 公共的业务被拆分出来,形成可共用的服务,最大程度的保证了代码和逻辑的复用,避免重复建设,这种设计也被成为SOA(Service-Oriented Architecture) SO ...

  10. 大型分布式网站架构设计与实践

    阅读文本大概需要3分钟. SOA和RPC 随着互联网规模发展,面向服务的体系架构(SOA)成为主流的架构方式,SOA的本质思想是高内聚.低耦合地实现分治,各个系统之间通过服务的方式进行交互,这样保证了 ...

最新文章

  1. 农业物联网技术在温室大棚种植中的应用
  2. insertAfter
  3. 鸿蒙 电视 安卓,华为鸿蒙2.0来了!打通手机、电视、PC全平台,Mate 40 整装齐发...
  4. hadoop 概要
  5. Java基础学习总结(141)——Cron 表达式使用再总结
  6. 将Hibernate中的枚举转换为自定义数值
  7. 码农人生-如何快速使用从未学过的语言实现项目开发-第002期博文
  8. 潜龙号开启水下机器人_揭秘我国自主水下机器人“潜龙二号”
  9. android studio资源二进制,我如何从二进制转换为Java中的十进制(使用android studio)...
  10. Java 中 字符串 1234 怎么转成 int?
  11. Word中endnote选项无效,怎么处理?
  12. 2003-2019年A股上市公司名义所得税率(Wind)
  13. 目前主流游戏引擎的分析报告
  14. 巨量指数signature
  15. Android9.0中应用如何通过SAF框架写入外置SD卡
  16. AES加密算法之行移位变换
  17. ios工程超级无敌详细设置(包括homevrew下载和pod配置,git ssh设置)
  18. MPEG-7描述子(4)——颜色结构描述子CSD
  19. 安徽招生考试网计算机考试成绩查询入口,安徽高考成绩查询系统入口:安徽省教育招生考试院...
  20. .NET平台下的仪表盘组件Chart FX Gauges

热门文章

  1. mockito参数匹配_Mockito参数匹配器– any(),eq()
  2. python做词典_python实现电子词典
  3. 在线生成数据字典工具
  4. 备考数据库系统工程师的那些时光,程序员的梦想依然发烫。
  5. linux小红伞安装黑屏,在linux下安装Avria(小红伞)
  6. 数据挖掘概念与技术(第三版)课后答案——第四章
  7. 华为云计算HCIE学习笔记-FusionAccess
  8. 大数据就业前景:大数据分析师是青春饭吗?
  9. 南大通用极速内存数据库
  10. 知行EDI系统-入门篇