(转)互联网保险O2O平台微服务架构设计海上浪子

假设我们需要为超高业务量的保险代理企业设计一个“互联网+”保险平台。假设这家保险代理企业网上保险注册用户规模为2千万,门店及加盟商销售人员2万,年保单量2亿单(中国平安总用户规模达1.67亿,拥有超过79.8万名寿险销售人员和约24.6万名正式雇员。截至2015年6月30日,集团总资产达4.63万亿元,归属母公司股东权益为3,311.90亿元。而目前互联网保险领头羊众安保险,经营以小额贷款为主,由于背靠阿里巴巴,日保单销售量可达1亿,不过别人很难复制众安保险的模式)。因此我们取大型互联网企业和众安保险的折衷来考虑这个保险O2O平台。

分类

功能

质量

约束

电子商务(B2C)

产品展示(搜索、详情展示等)

及时响应、安全性、健壮性、易用性

多种险种,处理方式可能不同

产品购买(提交订单、支付)

用户中心(我的保单、我的理赔等)

代理人管理(加盟商管理)

车险投保(询价、录单、缴费)

及时响应、健壮性、可扩展性

非车险投保(询价、录单、缴费)

保单查询

单证管理

我的账户(我的保单、佣金结算等)

及时响应、安全性、可靠性、易用性

案卷管理

案卷录入

索赔资料收取

案卷交接

案卷跟踪

客户管理

客户信息维护

上传大量文件

客户活动管理

商机管理

我的工作台(消息、活动、商机)

保险公估

车险定损过程跟踪协助

人伤出险协助

法律援助服务

上面的需求是按照用户角度提出的,虽然使用“系统”一词,但这里的系统是一个抽象概念,可能包括软件系统以及人事、制度等在内。上面的需求可以分为三大类,一类是针对终端用户纯线上服务:电子商务网站(B2C);一类是专门针对代理人服务的:代理人系统;剩下的是一些公共服务,有可能电子商务网站和代理人系统都会用到的一些服务。另外保险业务最大的一个问题是多个险种,不同险种处理方式有很大不同,这跟普通电子商务网站区别很大,比如天猫,所有商品都是同样的下单方式,同样售后服务(主要就是快递这块),而保险产品即使是线上B2C网站下单操作,短险、寿险、车险等也是不同的,更何况保险有一大堆售后服务,这些售后服务更加不相同。传统保险公司在处理这方面时,一般会做多个系统,比如寿险系统,车险系统等等。

安装之前提到的业务规模我们分析(假设)出一些比较重要的性能需求:

a)产品方面:继续上线当前没有的保险产品

b)B2C网站日访问量:5000万PV

c)B2C产品购买并发高峰:2000TPS

d)运维系统同时在线:1万(共有2万销售员或代理人)

e)运维系统并发高峰:2000TPS

f)短险订单:每年1.85亿单

g)长险订单:每年500万

h)车险订单:每年1000万

i)案卷信息:每年新增100万单

日访问量5000万和产品并发2000TPS是我们假设的,客户信息和案卷信息是随订单数据量变化而变化,在前面我们虽然假设了总共每年产生2亿个订单,但是根据保险种类,短险(旅游险、伤残险)明显产生了90%的订单量,这一点需要特殊处理。除此之外车险和长险(主要指寿险等)无论是投保还是售后服务都有明显不同,所以也需要特殊处理。

那么我们按照上面的需求,进行系统分析,首先按大的职责将职责相同的划分为一个服务。并且有了上面这个性能需求,所有功能需求都需要增加一项“质量”特性,那就是“高并发”,高并发会影响到所有设计。另外如果要将互联网保险平台质量特性排个序,最重要的是可扩展性、安全性,因为保险的种类多而且处理方式不同,除此之外,高并发和可靠性也会直接影响功能的实现,但并没有可扩展性影响大。深入分析职责后把每一种功能的实现关键技术列出,如下:

需求分类

实现需求

实现子系统及服务

软硬件实现技术

客户端

B2C电子商务网站

B2CWeb客户端

集群部署、高速缓存、分布式缓存、搜索引擎技术、静态化

B2C电子商务网站手机客户端

B2CApp客户端

代理人管理

代理人Web客户端

代理人管理手机客户端

代理人App客户端

案卷处理管理

案卷处理Web客户端

集群部署、分布式缓存

客户管理管理

客户管理Web客户端

保险公估管理

保险公估Web客户端

运维产品管理

产品管理Web客户端

报表及财务统计

报表及财务统计Web客户端

公共服务

运维产品管理、Web前端产品访问

产品服务

电子商务或代理人订单管理

订单服务

电子商务或代理人等涉及财务操作

总账服务

报表服务

业务服务

B2C电子商务网站及手机客户端个人账户

B2C个人账户服务

代理人管理服务

案卷处理管理服务

客户管理服务

保险公估管理服务

短险开放式接入

开放式接入平台服务

工具性服务

保险公司产品对接

产品对接服务

集群部署、消息队列

在线支付

第三方支付服务

集群部署

短信邮件通知

通知服务

性能监控

日志采集服务

文件服务器

文件服务

分布式事务管理

分布式事务管理服务

定时任务管理

定时任务服务

各个子系统及模块的关系如下图。

其中订单服务、产品服务、财务服务、工具服务为基础服务,其它各个业务模块的服务会调用这些基础服务。各个业务模块的服务都是根据业务领域进行划分的,同一业务领域下实现技术不同会被划分为两个服务,比如产品展示和订单原本属于同一个大的领域,但其因为实现技术和质量要求不同需要划分为两个服务。因为短险接入量大,而且大部分是跟第三方合作接入,因此设计短险接入公共接口服务平台处理大量短险订单。

对于大型的高并发系统来讲,最重要的当属数据的架构。我们在前面也提到过,web系统业务处理模块本身就可以集群部署,当用户出现高并发时最先遇到的瓶颈就是数据库访问的瓶颈。这也是我们说数据架构最为重要的原因。其实web系统是典型的“计算机信息系统”,也就是说一切以数据(信息)为基础,所有的功能都是围绕着数据来的。这也是我们在这里说数据是web系统最重要的,很多公司在做少用户量web系统时直接设计好数据库就可以开发了。

按照上面划分的业务领域我们设计多个数据库,技术选项包括“是否读写分离”、“是否水平切分”及“路由键”。其中路由键是指在进行水平切分后,我们使用那个“标识”去查询数据库,一般来说会使用该业务领域聚合根对象的主键作为路由键。

数据库

是否读写分离

是否水平切分

水平切分路由键

产品数据库

订单数据库

客户ID

公共数据库(元数据、公共数据)

客户管理数据库

案卷管理数据库

代理人服务数据库

代理人ID

B2C电子商务个人账户数据库

保险公估数据库

工具数据库(短信、支付、文件)

报表数据库

日志采集服务数据库

日志ID

另外在数据架构中我们也可以看到一个规律,就是使用了水平分库的存储结构就不能再使用读写分离,原因是防止存储单元过度泛滥,因为使用了水平分库之后,本身也要为数据库建立多个备份库,这个时候如果再用读写分离需要建立一套只读库,数据库的数量将增加一倍。使用了分库后我们可以把热点数据存储在分布式缓存中以起到读写分离类似的作用。

另外缓存也是存储技术的一种,而且非常重要。从日常生活中我们也可以看到这一点。比如你要去购买一台电脑,你会发现二级缓存和内存大的价格高出很多,如果你的显卡显存巨大,那将是顶级配置,发烧级配置。手机也是一样,内存大的手机速度明显快,价格也高,如果内存和持久化存储都高,那也是顶级配置。对于web系统也是一样,有些大型web系统只要缓存处理的好,数据库不需要分库就可以承载亿级的用户,比如维基百科、新浪微博等。也因此,不管是电子商务网站还是互联网+大型应用,都会在它们的架构中看到缓存大量使用的情况。

从整个web系统的架构来看,缓存在两个层面大量使用,分别是展示层和逻辑层,展示层通常使用高速的页面缓存,逻辑层通常使用高并发的分布式缓存。当然有些分布式缓存工具既可以在逻辑层使用也可以在显示层使用。

系统

是否使用CDN

是否使用高速缓存服务器(varnish)

是否使用分布式缓存(redis)

报表及财务统计Web端

短险公共平台服务

图中的服务组件就是指各个业务服务,这些服务可以看成是组件的概念。通常前端界面一个界面中需要的数据通常不仅仅来自于同一个服务,即使是来自于同一个服务,那也来自于很多不同的接口,servlet或api网关作为控制层,所起到的作用就是组合接口、组合数据,并处理接口间的事务性。另外服务组件也是分层的,图中并没有展现,一般可以分为3层,从低到高依次是工具性服务组件、基础业务层服务组件、业务层服务组件。前端界面的请求按照从高到底向下传递和处理请求。

按照职责、通用性、技术特性综合考虑和计量,逻辑架构设计如下图:

十几个子系统分别分布在服务层、控制层、表现层(典型的三层架构)。实体层和接口访问层虽然属于“层”,但它们并不单独发布,而是使用Jar包类库的方式提供给其它服务调用,是逻辑上的层。服务组件的构成大都是按照业务领域划分的,只有一个除外,就是“B2C网站”,B2C网站由于是面向终端用户的高并发电子商务网站,为了处理高并发,我们将其拆分为两个业务领域(也可以拆分成多个业务领域,看实际并发量),分别是用户账户和产品。用户浏览产品并购买,这是电子商务网站最基本的两个领域。其中产品浏览等功能由更底层的产品服务提供,用户账户功能由会员服务提供。还有一些功能,比如推荐商品可能是由其它服务提供,这些可以在控制层直接组合这些服务。

服务框架采用典型的“服务注册表”模式,注册表使用redis。服务组件在启动时将自己注册进服务注册表,web服务器或api网关在访问服务时查询服务注册表得到服务的uri,然后调用某服务接口。

淘宝的dubbo使用的是zookeeper作为服务注册表,之所以使用zookeeper,主要是使用它的负载均衡的功能。笔者认为restful接口没有必要使用zookeeper做负载均衡,可以使用nginx(负载均衡服务器都可以),所以没必要选用动态的zookeeper作为注册表,而是使用“redis+心跳监测”机制(redis也可以换为LDAP等)来完成服务注册和监控失效服务的功能。这个方案至少比dubbo简单几个数量级,简单就是硬道理。

在注册服务时只需要注册nginx服务器的IP以及服务描述信息即可。反观dubbo还要注册接口进注册表,笔者认为这个没必要,因为调用一个服务接口的充分必要条件就是知道服务器的IP即可。至于调用什么服务接口,肯定在代码里已经写死,目标服务器必定存在这个服务接口。将服务接口注册进服务注册表如果是为了监控审计服务的使用情况,那这个功能使用访问日志来实现能做的更好。

总体的分布式拓补结构如下图:

对于服务集群来讲,看上去像是一个大哥(nginx)带有众多小弟的结构。访问某服务群组只需要访问其nginx服务器即可,这里nginx均采用高可用方案,防止单台nginx出现问题。至于高层服务调用底层服务也是直接访问其服务器组的nginx。这个执行的流程其实和日常生活中的概念很像,如公司内部的执行流也是如此:老板分配任务给部门经理,部门经理分配任务给主管,主管分配任务给具体的个人(某单台服务器)。领导们起到的作用也是负载均衡和监控,负载均衡就是把任务可以分配给多个人同时执行(并且某个执行失败自动切换),监控就不必说了就是监控任务完成情况。在我们的方案里,会专门有个服务去监控所有服务器的执行情况,很简单的服务就可以做到。

如果研究一下EJB就会发现,EJB和微服务的架构基本相同,甚至所有面向服务(SCA、SOA等等)的架构都相差不大。很多人反对EJB,并不是EJB不够强大,而是它不够简单,它给项目带来的复杂性甚至超过了项目本身(这也是笔者不建议使用dubbo框架的原因)。曾有人说过:你要么把事情做的尽可能简单,让人挑不出毛病;要么把事情做的尽可能复杂,让人找不出毛病,EJB就是后者。EJB分布式事务机制实现的很好,可惜的是这种“一刀切”的事务机制,大大降低了web系统的性能,所以几乎所有面向互联网的应用都极少使用分布式事务,也就不会采用EJB。互联网应用本身事务性操作并不多,一些新闻、博客之类的网站甚至都不需要事务。另外一个方面,即使出现一个或两个分布式事务应用场景,也可以通过其它手段解决,比如事件机制等等。

1)将分布式事务性操作封装在一个服务中,这个服务使用XA或链式分布式事务管理。

2)可以使用事件机制协调事务管理(具体做法就是事务失败后发失败事件到可持久化的消息队列,然后需回滚操作的接口监控此事件并执行回滚)。

THE END
1.互联网保险网上投保平台,保险官方销售平台,保险超市官网,网上保险...保险超市是一个互联网保险网上在线投保平台,提供人身保险、财产保险等各种保险在线购买服务,为您提供最全、最详细的保险险种售卖,为投保人量身定做建议规划,值得信赖的保险购买网站!买保险就上保险超市网站,商业保险种类全、费用低。各种保险大全,高性价比的保险清单。https://www.baoxian2.com/
2.慧择保险网慧择,中国知名互联网保险平台,纳斯达克上市公司,业务涵盖大病保险、意外保险、财产保险、健康保险、旅游保险、儿童保险、人寿保险和家庭保险等,同时提供保险资讯、保险咨询、保险方案定制、智能核保、保单保全、协助理赔等一站式保险服务。http://www.hzins.com/
3.中国药店作为线上医疗、用药、慢病管理服务的承接方,打造互联网医院保险直赔模式。 在政策扶持和技术进步的互联网时代,在慢病群体基数大及用户互联网服务使用习惯逐步养成的背景下,互联网慢病管理平台在用户端渗透率不断提升,慢病管理产业互联网化具有无限可能。http://www.ydzz.com/zgyd.php?col=22&file=62771
4.泛华保险销售平台泛华保网,中国知名在线投保交易平台,网上买保险的明智选择,目前保网提供中外20多家保险公司的近400多款特色产品,涵盖意外险、旅游险、健康险、家财险等。为客户提供投保、咨询、理赔等全方位专业服务http://baoxian.com/
1.互联网保险新科技平台“量子保”完成A+轮融资将继续深耕中小企业...铅笔道获悉,互联网保险新科技平台“量子保”宣布完成A+轮融资。本轮投资方为美股上市公司拍拍贷、西电天朗创投-聚卓资本、阿里创业元老等,上一轮老股东线性资本继续跟投。据悉,“量子保”于 2017 年 7 月曾获得由鑫澄投资领投,线性资本、IVP、昆仲资本等跟投的 A 轮融资。 https://www.pencilnews.cn/d/22656.html
2.详解当今互联网保险的16种模式随着互联网保险、移动支付等技术的发展,又诞生了一批类似直通万连、熊猫车险等公司,他们对接保险公司核心系统,集成车险报价、核保、支付、出单等功能,然后将整套系统提供给中介公司、互联网流量平台、线下汽车相关场景,赋予他们线上出单的能力。最近两年,随着寿险中介公司的快速发展,也出现了一批互联网保险公司,为这些...https://www.iyiou.com/news/2018062075027
3.《互联网+商业降险白皮书(2019)》连载之六:互联网+降险供给...互联网保险销售平台指的是上游对接多家保险公司不同类别的多种保险产品,通过 SEO、品牌广告等直接面向消费终端,从而为保险产品提供销售的第三方网络平台。近年来,互联网保险销售平台成为进入保险行业的重要路径,除大型互联网企业借助平台技术优势及流量优势入局保险互联网销售(如腾讯设立“微保”保险代理平台)外,慧择网、...https://www.iii.tsinghua.edu.cn/info/1059/2318.htm
4.多保鱼多保鱼是专业的保险咨询平台,专业从事互联网保险中介业务,秉承专业、中立的态度帮助客户分析保险产品的优劣,提供线上保险方案设计服务,一对一集中解决疑惑,私人订制服务。https://m.dby.cn/
5.中山市走出去综合服务信息平台——江泰保险经纪有限公司专栏9月18日,经过多轮激烈的“角逐”,由江泰保险经纪股份有限公司送选的“互联网+保险大平台”荣获“2020中小金融机构数智化转型优秀案例评选”专家推荐TOP10优秀案例、IT架构创新优秀案例、网络影响力TOP10优秀案例三项大奖。 “2020中小金融机构数智化转型优秀案例评选”由金科创新社主办。活动自2020年7月启动以来,得到...http://www.zsodi.gov.cn/index.php/zcq2_zl_institution/art_info.shtml?username=jtbxjjyxgs&aid=22498
6.“互联网”与保险行业的新媒体营销实战13.如何将微博、陌陌、易信、来往、探探等外围社交平台的流量导向微信? 14.移动互联网时代的“自品牌”营销策略 15.保险公司如何打造朋友圈、公众号与微信群的营销矩阵? 16.什么是微信小程序?保险行业如何利用小程序做营销推广? 17.保险公司如何打造一支强大执行力的新媒体营销团队?如何考核和评估新媒体营销团队的工作...https://www.huihaihrs.net/h-pd-7371.html
7.互联网保险迎来发展新“节点”中工财经创投机构对第三方互联网保险初创企业的投资热情也持续高涨。据不完全统计,今年以来,共有十余家第三方互联网保险平台宣布完成了新一轮融资,累计融资金额或已超20亿元。例如水滴公司的C轮融资总金额高达10亿元,悟空保平台获得近千万美元天使轮融资。另外,多保鱼、i云保、灵犀金融等相继获得融资。 https://www.workercn.cn/33007/201910/09/191009151751956.shtml
8.乡村振兴上封面丨普惠保险助力降低因病返贫风险互联网平台探索...罹患重大疾病往往是村民致贫返贫的重要因素之一,防止因病返贫成为乡村振兴的一项重要课题。希望借助互联网保险保障平台的优势,为广大人民群众带来切实保障,衷心希望通过这样的合作,能够为孟家庄村群众及有实际需求的大病困难患者提供切实有效的医疗保险保障方案,为孟家庄的乡村振兴出一份力。https://www.thecover.cn/news/7392187
9.车险互联网平台有哪些首页>车险互联网平台有哪些 与此同时,互联网保险平台也是一种以计算机互联网为媒介的保险营销模式,平台的目标是为企业搭建一个高效的信息交流平台,创建一个良好的商业信用环境。如果您有投资保险和购买保险的业务需要,寻找一家大的,有保障的互联网保险服务平台为您服务才是解决问题最有效的方式。互联网上有很多的保险...https://m.shenlanbao.com/he/909095
10.2019新商业展望:走访60+KOL,9个热门领域,预测了40个未来互联网保险的风刮起来是2018年,得益于两款爆款产品:2018年底支付宝推出相互保险相互保(业内认为这将是保险领域的余额宝),这之前腾讯微保也推出一系列低价的保险产品,被称之为“普惠保险”——价格更低、条款更亲民。普惠保险恰恰是保险这个难卖的产品能普及起来的关键,这是互联网巨头相继下场后才有可能撬动的事情。https://www.digitaling.com/articles/115373.html
11.广州互联网法院审理认定:网络互助不属于商业保险南方plus因网络互助平台e互助拒绝赔付互助金,原告周某将被告深圳点煷信息科技有限公司(以下简称“点煷公司”)诉至法院,要求点煷公司在其运营的e互助平台发起互助,并向周某支付互助金35万元。近日,广州互联网法院宣判,驳回周某全部诉讼请求。该案首次认定,网络互助是在吸纳了民间互助共济行为、原始保险形态、网络服务技术等诸多...https://static.nfapp.southcn.com/content/202006/11/c3631900.html
12.蚂蚁金服揽入20家财险玩“保险+互联网”互联网金融蚂蚁金服方面表示,除继续推进解决中小企业融资难、融资贵问题外,未来还将着力对外输出移动互联网、金融云、数据风控、以及各类互联网场景。 资料显示,招财宝是蚂蚁金服旗下的金融信息服务平台,各类金融机构如银行、保险公司、基金公司等可通过其平台发布低风险理财产品,用户可以在招财宝获得定期理财服务。目前平台上的产品...https://www.ebrun.com/20150922/149835.shtml
13.产业应用案例基于工业互联网平台的大数据能力,建立保险大数据解决方案,实现对海量数据(互联网与物/车联网)的储存、快速信息提取(包括对非结构化数据的信息提取)及大数据分析,生成设备的综合状态评估,以及设备企业的运营状况及信用风险等模型,为保险业务提供更加精准的服务。 http://aii-alliance.org/index.php/index/c150/n1520.html
14.互联网保险创新案例系列:慧择网顾问式服务能够与用户深度互动,能够帮助慧择获取用户在购买咨询和后期投诉中暴露的大量用户需求和痛点,作为互联网保险第三方平台,慧择网9年也已经积累了一定基础的用户数据。慧择保险正通过对客户行为习惯的深入分析,从而预测消费者的购买和服务需求;同时,慧择还尝试利用大数据分析洞察消费者需求,建立产品开发能力,整合国际...https://finance.qingdaonews.com/content/2016-04/28/content_11580589.htm
15.保险业务平台保险业务嘲全流程核心系统组件化灵活定义配置产品销售投保流程 支持通过所见即所得方式配置商品,无需开发即可直接生成投保界面,2-3小时即可完成投保H5页面配置 提供标准SPI接口适配不同产品工厂,无需对保险核心系统进行重大改造即可支持线上销售的场景 全面护航互联网保险业务实现保险数字化转型,稳定快速发展...https://www.zhongan.io/product/policy-cloud
16.和讯保险长护新程·共享未来 长期护理保险创新发展论坛在第七届进博会成功举行 与时间赛跑,与客户同心:长生人寿快速理赔下的生命速援 “传承友我,美好在握—友邦保险×国图创新研学体验”北京地区首场活动圆满落幕 阳光人寿:线上平台焕新升级,引领客户服务新体验 https://insurance.hexun.com/ynzx/