• 快捷搜索
  • 全站搜索

众安保险的分布式之路

2017-12-26 17:29:25作者:众安科技首席技术官 李雪峰编辑:金融咨询网
我们试图通过分布式架构,探索一条实现高频处理、海量处理、弹性扩展等目标的可行路径。如何更好更安全地运用分布式架构,这也是我们一直探索的问题。

最近,澳大利亚知名创投机构H2联合KPMG发布了2016年度的全球金融科技百强榜,众安保险与蚂蚁金服、陆金所、趣店三家中国互联网公司一起杀进了五强。这是众安保险二度入选榜单,而每次的入选理由都与众安的科技能力密切相关。

图片7.jpg

  作为国内首张互联网保险牌照的持有者,众安保险最初从互联网场景起步,为场景中的用户提供小额高频、碎片化的产品。与越来越多的场景实现跨界共创后,目前,众安保险每天需支撑逾2600万笔保单交易。

  强劲的业务需求对众安保险的技术能力提出了很高要求。毕竟此前,没有一家保险公司需要处理超大规模、超多渠道、超高并发、超多金融业务融汇交叉的情况。与此同时,我们还需快速适应金融数据高一致性和高完整性的监管要求,保持业务系统的高可用、低延时、高性能和低成本。

  对于整个互联网金融行业来说,这些都是全新的命题。而我们试图通过分布式架构,探索一条实现高频处理、海量处理、弹性扩展等目标的可行路径。如何更好更安全地运用分布式架构,这也是我们一直探索的问题。

“分布式”众安

  从起步至今,众安保险已累计服务用户4.6亿,生成超过58.29亿张保单,为几亿新生代保民提供了人生的第一张保单。而一直以来,如何快速、高效地保障海量业务需求都是摆在我们面前的重要议题。

  为了解决这一难题,我们搭建了国内首个跑在云上的保险核心系统。在此基础上,我们又开发了一套全新的基于微服务架构的开发、测试和运维体系。该体系以Docker容器为基础,以微服务为计算单元,以持续集成和持续交付为目标,目前已投入线上生产,并安全运行一年有余。

  换言之,我们尝试将大型系统按照业务场景拆分成多个子系统,每个子系统只负责特定的业务场景。以无界山核心系统为例,其被拆分为诸多子系统,包括风控规则中心、接单中心、数据中心、流计算中心、业务前置系统、核心处理系统等。

  系统被拆分后,我们依赖分布式中间件来实现子系统间的交互和数据的同步,从而完成完整的业务场景。故而,我们自主研发了分布式消息队列、分布式数据库中间件、分布式缓存服务、分布式数据库数据同步中间件、分布式搜索中间件等一系列分布式架构的部件。

  不过,由于采用了分布式架构,一个完整的业务流程会经过多个子系统处理,系统处理时间因此增加。而为保证业务处理性能和用户体验,我们将核心业务处理过程拆分成同步响应与异步处理,但这又对数据的完整性和一致性提出了很大的挑战。

  为此,我们专门设计了一套数据补偿机制,在无界山的各个子系统通过幂等重做、容错隔离、数据实时自检,离线报警等机制,以确保分布式系统的数据最终完整性和最终一致性。

  随着业务的快速增长,存量数据越来越大,而传统数据库存在单机(单库)性能瓶颈的先天性缺陷,并且扩展困难。数据的分布式存储就成了我们唯一的选择。对此,我们研发了分布式数据库中间件,将海量的数据分布存储到不同的数据库节点的不同表中,从而提高了数据库并发的读写性能。目前,对于300T的存量数据,我们可在用户查询时做到“10毫秒内相应,1秒内反馈”。

   与此同时,采用分布式架构会导致子系统越来越多,占用主机资源也相应大增,部署环境越发复杂的情况,这对运维和监控提出了很高的要求。为了提高运维的效率,实时探测系统故障,并进行故障的自动处理,我们又设计和开发了被称为“双翼守护神”的分布式的上帝之眼全网监控平台和神龙岛自动化运维平台。

  由于采用了基于分布式数据实时处理技术和基于容器的自建CaaS云平台,“双翼守护神”对系统异常的报警敏感度保持在100毫秒内,对系统的自动恢复隔离时间控制在1秒内。

  此外,众安还将分布式架构运用到容灾当中。金融业务追求的稳健和严谨,与互联网环境追求的高速和海量,看似矛盾的目标对容灾要求提出了极大的挑战。与传统的“两地三中心”的冷备方式不同,众安采用了更具互联网特色的“异地双活”方案,以分布式架构,在不同城市多个机房部署系统,各机房之间进行数据同步,同时提供服务。以这个部署架构为基础,当任何一个机房遇到火灾、洪灾、断电等不可抗拒因素时,整个系统仍能交易,服务不会中断。

分布式技术:魔鬼还是天使

  其实,行业发展初期,业务规模尚小时,很多保险公司都会采用传统的集中式架构搭建系统。这种架构布局简单,易于开发和控制。

  但伴随业务规模不断扩大,尤其互联网保险高速增长后,后台数据爆炸式增长,集中式架构不同程序之间的逻辑关系变得非常复杂,其可用性与稳定性也因而大打折扣。同时,由于单个服务的体量庞大,复杂度增加,出现漏洞的概率随之增加。而且,集中式架构还需面临所有鸡蛋装在一个篮子里的问题,一旦单个业务攻破,部署在一起的其他业务和数据也会受到牵连。

  与之相对,分布式架构很好地解决了集中式架构低效高价、缺乏灵活性和继承性的问题。基于容器技术的微服务,单个服务功能单一、灵活,又不失高稳定性,且具有极高的性价比。同时,分布式的存储、中间件、数据平台等将分散的计算资源、存储资源高效利用,让金融行业不再需要曾经必需的大型机,小型机和高性能数据库。

  不过,分布式架构又引入了全新的安全风险。比如众安系统目前面临的内部安全威胁包括网络传输不可控,增加了数据泄露的风险;过多的接口暴露增加了系统安全的脆弱性;过于分散的功能,增加了对访问者授权和访问控制的难度。系统外部的威胁则包括黑客的攻击行为、用户的欺诈行为等。

  针对系统内部的安全威胁,我们认为,首先,应在生产环境内部完全采用SSL协议,保障数据链路传输的安全性,有效降低了分布式架构下网络传输不可控导致数据泄露的风险。其次,应做到架构是分布式的,而身份认证、访问控制是集中的。如此可以有效解决分布式架构带来的授权和访问控制的安全性。

  一个很好的例子便是Hadoop技术引入Kerberos技术后,有效解决了分布式存储的安全认证问题,而Oauth2.0,SSO等技术的出现可以很好地解决微服务、分布式中间件、分布式数据平台等分布式技术中的安全认证和访问控制难题。

  针对外部的安全威胁,众安基于分布式架构打造的大力神安全监控系统大大提高了我们对安全事件、欺诈行为的发现能力。通过该系统,我们能够实时发现针对公司业务的网络攻击行为,并进行阻断,提高了整个公司的安全防护能力。同时,基于分布式架构,我们打造了全新的WAF系统,将原来集中式的防护转变为无所不在的安全防护,同时将传统的基于特征库的WAF改为基于数据分析的WAF,使得当前的WAF有了质的飞越。

  总体来说,分布式架构还在不断发展之中,更大规模的分布式系统架构、异地多活系统架构将会出现。我们希望更多挖掘分布式架构的优点,利用大数据、人工智能技术打造更高效,更智能化的分布式系统架构;利用实时数据计算、机器学习技术来打造更安全,更智能的安全防护系统。未来,互联网保险领域或将实现超大规模的分布式计算、海量数据离线和实时运算、机器学习和人工智能技术融合发展,让更多用户更便捷、更高效、更安全地体验新型金融服务。

(文章来源:金融电子化杂志)

扫码即可手机
阅读转发此文

本文评论

相关文章